RFR: 8224663: Parallel GC: Use WorkGang (5: ScavengeRootsTask)

Leo Korinth leo.korinth at oracle.com
Mon May 27 16:30:42 UTC 2019


Hi,

Here is the fifth patch in a proposed patch series of eight that
removes gcTaskManager and uses the WorkGang abstraction instead.

ScavengeRootsTask, ThreadRootsTask and OldToYoungRootsTask is replaced
with ScavengeRootsTask. Code is basically the same, the major
difference is that roots are visited using EnumClaimer and
Threads::possibly_parallel_threads_do. Here we can reuse the RootType
and EnumClaimer from patch number two.

The reason "case threads:" was removed is that the code is dead. That
part is confusing as the code is done (in parallel from the calling
function).

Enhancement:
   https://bugs.openjdk.java.net/browse/JDK-8224663

Webrev:
 
http://cr.openjdk.java.net/~lkorinth/workgang/0/_8224663-Parallel-GC-Use-WorkGang-5-ScavengeRootsTask/
   http://cr.openjdk.java.net/~lkorinth/workgang/0/all/

Testing (on the whole patch series):
   mach5 remote-build-and-test --build-profiles 
linux-x64,linux-x64-debug,macosx-x64,solaris-sparcv9,windows-x64 --test 
open/test/hotspot/jtreg/:hotspot_gc -a -XX:+UseParallelGC
   gc test suite

Thanks,
Leo



More information about the hotspot-gc-dev mailing list