Skip to content
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

Merged
merged 5 commits into from
Mar 1, 2023
Merged

Conversation

Maoni0
Copy link
Member

@Maoni0 Maoni0 commented Feb 27, 2023

  • 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
@ghost ghost assigned Maoni0 Feb 27, 2023
@@ -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__)
Copy link
Contributor

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...

Copy link
Member Author

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.

@@ -1323,7 +1327,7 @@ class mark_queue_t
};

//class definition of the internal class
class gc_heap
class gc_heap //
Copy link
Contributor

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?

Copy link
Member Author

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 😥

Copy link
Contributor

@PeterSolMS PeterSolMS left a 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.

@Maoni0 Maoni0 merged commit 3e05fa1 into dotnet:main Mar 1, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Mar 31, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants