RFR: 8191821: Finer granularity for GC verification

Stefan Johansson stefan.johansson at oracle.com
Tue Nov 28 16:25:34 UTC 2017


Hi,

Please review this change for enhancement:
https://bugs.openjdk.java.net/browse/JDK-8191821

Webrev:
http://cr.openjdk.java.net/~sjohanss/8191821/00/

Summary:
Heap verification is a very good way to track down GC bugs, but it comes 
with a lot of overhead. Using VerifyBeforeGC, VerifyDuringGC and 
VerifyAfterGC often slows down the execution more than is needed since 
we sometimes only want to verify certain types of GCs. This change adds 
this feature for G1 by adding a new diagnostic flag VerifyGCType. The 
new flag currently only works with G1 but can easily be added for more 
GCs if needed. The type of the flag is ccstrlist which means the option 
can be used multiple times to allow more than one type to be verified. 
The types available for G1 is, young, mixed, remark, cleanup and full. 
If the flag is not specified all GCs are verified.

Note that Verify/Before/After/During/GC is still needed to decide what 
to verify, VerifyGCType only describes when.

Testing:
* Added new Gtest for G1HeapVerifier functionality.
* Added new Jtreg test for basic command line functionality.
* Executed Jtreg tests through mach5 to make sure it passes on all 
platforms.

Thanks,
Stefan


More information about the hotspot-gc-dev mailing list