-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Annotation changes only (part 3) #82697
Conversation
Maoni0
commented
Feb 27, 2023
•
edited
Loading
edited
- moved the per heap/global fields to the last part of the gc_heap class so it's much easier to read them
- made members that should be private actually private, so almost all of the fields are private now (instead of public)
- changed the bookkeeping fields from MAINTAINED to INIT_ONLY to be more appropriate for regions
- moved reset_mm_p into gc_heap class.
- got rid of the frozen_object_p method - this shouldn't have been added, there's already an API on the GCHeap interface that provides this info
- there are members that really don't need to be public but I'm trying to avoid too many kinds of changes at a time so I left them as public such as gc_started/wait_for_gc_done()/region_info enum. things like WaitLonger/stomp_write_barrier_ephemeral/reserved_memory_limit should really just be gc_heap methods
+ made members that should be private actually private + changed the bookkeeping fields from MAINTAINED to INIT to be more appropriate for regions + moved reset_mm_p into gc_heap class. + got rid of the frozen_object_p method - this shouldn't have been added, there's already an API on the GCHeap interface that provides this info + there are members that really don't need to be public but I'm trying to avoid too many kinds of changes at a time so I left them as public such as gc_started/wait_for_gc_done()/region_info enum. things like WaitLonger/stomp_write_barrier_ephemeral/reserved_memory_limit should really just be gc_heap methods
src/coreclr/gc/gcpriv.h
Outdated
@@ -131,7 +131,7 @@ inline void FATAL_GC_ERROR() | |||
// This means any empty regions can be freely used for any generation. For | |||
// Server GC we will balance regions between heaps. | |||
// For now disable regions for StandAlone GC, NativeAOT and MacOS builds | |||
#if defined (HOST_64BIT) && !defined (BUILD_AS_STANDALONE) && !defined(__APPLE__) | |||
#if defined (BUILD_AS_STANDALONE) && defined (HOST_64BIT) && !defined(__APPLE__) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a temporary change to flip clrgc.dll to regions...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ooh thanks! forgot to flip it back.
src/coreclr/gc/gcpriv.h
Outdated
@@ -1323,7 +1327,7 @@ class mark_queue_t | |||
}; | |||
|
|||
//class definition of the internal class | |||
class gc_heap | |||
class gc_heap // |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a //
starting a comment here, but no comment?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that's also temporary (just to make searching easier). will get rid of it! when I did the final passes on the code I only concentrated on the field sections so missed these 😥
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Ended up using Windiff because it shows where lines got moved which made it easier to keep track of things.