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

Christian Thalinger christian.thalinger at oracle.com
Wed Sep 11 09:55:20 PDT 2013


On Sep 10, 2013, at 5:56 PM, Christian Thalinger <christian.thalinger at oracle.com> wrote:

> 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. 

Btw. I missed the perhaps most important data point:  a linux_i486_minimal1 product build is increased by 22k.

If that's too much we could disable this feature for minimal builds.

-- Chris

> 
> 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