-
Notifications
You must be signed in to change notification settings - Fork 405
Modify scavenger GC count #7814
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
Conversation
this can be simplified away, so that we have only the else clause
|
I've made the change to isAvailable as well @amicic |
Thanks. While this is a good simplification, looking more deeply we may have a problem.... MM_ScavengerStats::isAvailable() is used by Concurrent Global GC to determine that ScavengerStats have been gathered, which means that a full cycle has to complete. So, the original spot where we moved gcCount++ is too early. There is a spot later in MM_Scavenger::mainThreadGarbageCollect that checks if it's the last increment that should be better. Let's put it first thing in that block. |
I moved it to after it reports the cycle end. |
3c9ed32
to
a145b26
Compare
Let's try to piggyback one more thing to this: let's introduce a clone of j9gc_get_unique_GC_count, but have it based on OMR/GC (nothing J9 specific): GCExtensions::getUniqueGCCycleCount() which will then be called by j9gc_get_unique_GC_count (updated later in a J9 PR) and potentially used elsewhere in OMR/GC |
argh, reopening |
I've added the get function as well. |
there is a spot you originally updated (but reverted) in Collector.cpp where you can use it |
@dsouzai please, reivew/merge |
jenkins build all |
@babsingh please, review/merge |
I'm ok to step aside to let Babneet be committer for this PR since it involves changes outside the compiler; however, this PR is still in draft state, so it will need to be marked Ready for review before it can be merged. |
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.
minor nits
Currently, scavengerStats is used to count increments and incrementScavengerStats is not used to count anything. This change aligns scavengerStats with cycles and incrementScavengerStats with increments. Signed-off-by: Adrian Popescu <[email protected]>
jenkins build all |
Currently, scavengerStats is used to count increments and incrementScavengerStats is not used to count anything. This change aligns scavengerStats with cycles and incrementScavengerStats with increments.