Review Request (M) 8032379: Remove the is_scavenging flag to process_strong_roots

Mikael Gerdin mikael.gerdin at oracle.com
Tue Jan 21 13:13:25 UTC 2014


Hi all,

as a part of implementing JEP-156 (G1 class unloading) we are doing some 
cleanups in order to refactor the strong root processing code.

Currently there are two "dimensions" in which SharedHeap::process_strong_roots 
is configured. One is the ScanOption enum, the other is the is_scavenging 
booelan. The semantic meaning of is_scavenging can easily be folded into the 
ScanOption enum by:

* Introducing a SO_AllCodeCache/SO_ScavengeCodeCache distinction (in a way 
similar to SO_AllClasses/SO_SystemClasses)
* Noting that passing a CLD closure to Threads::oops_do is only needed when we 
want to determine the precise liveness of classes, this is already signaled by 
SO_SystemClasses.

Bug link: https://bugs.openjdk.java.net/browse/JDK-8032379
Webrev: http://cr.openjdk.java.net/~mgerdin/8032379/webrev.0

Thanks
/Mikael



More information about the hotspot-gc-dev mailing list