RFR (M) 8202813: Move vm_weak processing from SystemDictionary to WeakProcessor

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Fri May 25 15:32:54 UTC 2018


Summary: SystemDictionary has all strong roots.  The weak oop_storage is 
processed by the WeakProcessor so it can be scanned and cleared 
concurrently and/or by parallel threads.

Please see bug for explanation.

open webrev at http://cr.openjdk.java.net/~coleenp/8202813.01/webrev
bug link https://bugs.openjdk.java.net/browse/JDK-8202813

There might be more GC code that can be cleaned out since 
G1RootClosures->weak_oops() seems unused now, but I'd like to defer that 
to a smaller cleanup.  Also ClassLoaderData is still processed 
inconsistently by the GCs, which would be nice to clean up.

Tested with mach5 hs-tier1-5 with no failures.  Per's gc-test-suite, 
dev-submit for performance testing, and runThese with all collectors, 
with and without -XX:-ClassUnloading.  Also tested with class unloading 
gc tests (which are also in hs-tier number tests).

Thanks,
Coleen


More information about the hotspot-dev mailing list