RFR: 8114823: G1 doesn't honor request to disable class unloading
stefan.johansson at oracle.com
Fri Sep 2 11:10:08 UTC 2016
Please review this fix for:
For the G1 full GC there was no explicit code to handle when class
unloading was disabled. It worked for some cases because when
ClassUnloading is false classes in the system dictionary were kept alive
and never unloaded. But some types of classes, for example classes
defined without a protection domain, were not kept alive. This fix
changes the way we process roots in phase one of the full GC to include
all class roots and also do the code cache scanning needed when classes
The fix adds similar argument parsing code as were previously added for
CMS, so I moved them together instead of having to separate checks that
do the same thing.
* RBT with -XX:-ClassUnloading on various test sets.
* New regression test that previously failed now passes.
* Verified that a few crashes I saw when running -ClassUnloading went
away with the fix.
More information about the hotspot-gc-dev