RFR (L): 8024545: make develop and notproduct flag values available in product builds

Christian Thalinger christian.thalinger at oracle.com
Tue Sep 10 17:56:46 PDT 2013


http://cr.openjdk.java.net/~twisti/8024545/webrev/

8024545: make develop and notproduct flag values available in product builds
Reviewed-by:

Right now the internal flag table only contains flags which are defined in a product build. This does not include develop and notproduct flags. Sometimes it is useful to have access to these values for post-mortem core file analysis or to read these values for compiler settings for a Java-based compiler.

This change enables develop and notproduct flag values to be read by the serviceability agent. The binary size is increased by 42k for a 64-bit product build and by 32k for a 32-bit product build. 

Before:

$ java -cp /java/re/jdk/8/latest/binaries/linux-x64/lib/sa-jdi.jar sun.jvm.hotspot.CLHSDB 9399 
Attaching to process 9399, please wait... 
hsdb> flags -nd 
InitialHeapSize = 495006528 5 
MaxHeapSize = 7920943104 5 
UseCompressedKlassPointers = true 5 
UseCompressedOops = true 5 
UseParallelGC = true 5 
hsdb> flags InlineMathNatives 
Couldn't find flag: InlineMathNatives 

After:

$ java -cp $JAVA_HOME/lib/sa-jdi.jar sun.jvm.hotspot.CLHSDB 3726 
Attaching to process 3726, please wait... 
hsdb> flags -nd 
InitialHeapSize = 495006528 5 
MaxHeapSize = 7920943104 5 
UseCompressedKlassPointers = true 5 
UseCompressedOops = true 5 
UseParallelGC = true 5 
hsdb> flags InlineMathNatives 
InlineMathNatives = true 0 

This patch has one behavioral difference; when printing flags with e.g. PrintFlagsFinal in a debug build it prints "develop" for develop flags:

    uintx AdaptiveSizePolicyGCTimeLimitThreshold    = 5               {develop}

The output for product builds is unchanged.


More information about the hotspot-dev mailing list