RFR: 8062943: REDO - Parallelize clearing the next mark bitmap
marcus.larsson at oracle.com
Thu Nov 6 14:53:14 UTC 2014
Can I have some reviews for the following re-do patch to parallelize
clearing of the next mark bitmap .
The previous patch would cause some asserts in
HeapRegionManager::par_iterate() to fail because iteration was happening
concurrently with humongous heap region reclamation. These asserts are
invalid if iteration is performed concurrently.
With this updated patch I add a concurrent flag to the par_iterate()
function that when set causes iteration to ignore the humongous status
of heap regions, and simply iterate over regions one-by-one.
An alternative solution would be to just remove the special handling of
the humongous regions altogether. Right now there are no closures that
depend on this behavior from the par_iterate() function (they either
ignore humongous regions or skip over continues-humongous regions).
Future changes might however want this behavior, and the asserts are
probably helpful in the cases they can be used, so I believe it might be
a good idea to keep this functionality.
Incremental webrev from original patch:
More information about the hotspot-gc-dev