RFR (M): 8159984: Remove call to ClassLoaderDataGraph::clear_claimed_marks during the initial mark pause
thomas.schatzl at oracle.com
Wed Sep 18 15:22:37 UTC 2019
can I have reviews for this change that, given the observation that
during root processing, there is only one kind of root that walks CLDs,
we do not need to
a) claim CLDs during iteration, obsoleting the need to clear the CLD claims
a) wait for "strong" CLD iteration before we can continue with
evacuating the heap
any more (during the concurrent start pause).
We *still* need to wait for "strong" iteration of oops from nmethods as
later during the evacuation phase we use the per-region nmethod
remembered sets. We need to make sure that all "strong" nmethod
iteration is finished at that time.
There is the possibility to change the "strong" nmethod iteration to
mark their oops outside the iteration claim, then the wait barrier is
unnecessary. This is a separate issue though.
Thanks go to StefanK for explaining me the root processing issue over
and over again until I finally got it.
This change obsoletes JDK-8163213 and JDK-8231073.
(based on JDK-8231117)
More information about the hotspot-gc-dev