Experimental options in official builds ?

Jaromir Hamala jaromir.hamala at gmail.com
Wed Oct 9 01:46:54 PDT 2013


Hi,

check this out:
http://stas-blogspot.blogspot.com/2011/07/most-complete-list-of-xx-options-for.html

Cheers,
Jaromir


On Wed, Oct 2, 2013 at 5:27 PM, Pierre Laporte <pierre at pingtimeout.fr>wrote:

> Hi guys
>
> I just discovered that you can unlock experimental VM options in a regular
> build of the JDK.
>
> This page<
> http://www.programmingforliving.com/2013/08/how-to-speed-up-eclipse-sts-startup.html
> >tells
> that unlocking some experimental features can speed up Spring
> ToolSuite. I made some tests on jdk 1.7.0_25 and 1.7.0_40 on linux machines
> and I can indeed modify experimental flags. I thought that experimental
> flags were only for debug build.
>
> Is this normal ?
>
>
> $ java -XX:+PrintFlagsFinal -version | grep experimental
> java version "1.7.0_40"
> OpenJDK Runtime Environment (IcedTea 2.4.2) (ArchLinux build
> 7.u40_2.4.2-1-x86_64)
> OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode)
>
>
> $ java *-XX:+UnlockExperimentalVMOptions* -XX:+PrintFlagsFinal -version |
> grep experimental
>     uintx ArrayAllocatorMallocLimit                 =
> 18446744073709551615{experimental}
>      intx G1ExpandByPercentOfAvailable              = 20
> {experimental}
>     ccstr G1LogLevel                                =
> {experimental}
>     uintx G1MaxNewSizePercent                       = 60
> {experimental}
>     uintx G1MixedGCLiveThresholdPercent             = 65
> {experimental}
>     uintx G1NewSizePercent                          = 5
> {experimental}
>     uintx G1OldCSetRegionThresholdPercent           = 10
> {experimental}
>      bool G1UseConcMarkReferenceProcessing          = true
> {experimental}
>      bool G1UseParallelRSetScanning                 = true
> {experimental}
>      bool G1UseParallelRSetUpdating                 = true
> {experimental}
>    double ObjectCountCutOffPercent                  = 0.500000
> {experimental}
>      intx PredictedLoadedClassCount                 = 0
> {experimental}
>      bool TrustFinalNonStaticFields                 = false
> {experimental}
> *     bool UnlockExperimentalVMOptions              := true
> {experimental}      *
>      bool UseCriticalCMSThreadPriority              = false
> {experimental}
>      bool UseCriticalCompilerThreadPriority         = false
> {experimental}
>      bool UseCriticalJavaThreadPriority             = false
> {experimental}
>      bool UseMemSetInBOT                            = true
> {experimental}
>     uintx WorkStealingHardSpins                     = 4096
> {experimental}
>      intx WorkStealingSleepMillis                   = 1
> {experimental}
>     uintx WorkStealingSpinToYieldRatio              = 10
> {experimental}
>     uintx WorkStealingYieldsBeforeSleep             = 5000
> {experimental}
> java version "1.7.0_40"
> OpenJDK Runtime Environment (IcedTea 2.4.2) (ArchLinux build
> 7.u40_2.4.2-1-x86_64)
> OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode)
>
>
> $ java *-XX:+UnlockExperimentalVMOptions* -XX:+PrintFlagsFinal *
> -XX:+TrustFinalNonStaticFields* -version | grep experimental
>     uintx ArrayAllocatorMallocLimit                 =
> 18446744073709551615{experimental}
>      intx G1ExpandByPercentOfAvailable              = 20
> {experimental}
>     ccstr G1LogLevel                                =
> {experimental}
>     uintx G1MaxNewSizePercent                       = 60
> {experimental}
>     uintx G1MixedGCLiveThresholdPercent             = 65
> {experimental}
>     uintx G1NewSizePercent                          = 5
> {experimental}
>     uintx G1OldCSetRegionThresholdPercent           = 10
> {experimental}
>      bool G1UseConcMarkReferenceProcessing          = true
> {experimental}
>      bool G1UseParallelRSetScanning                 = true
> {experimental}
>      bool G1UseParallelRSetUpdating                 = true
> {experimental}
>    double ObjectCountCutOffPercent                  = 0.500000
> {experimental}
>      intx PredictedLoadedClassCount                 = 0
> {experimental}
> *     bool TrustFinalNonStaticFields                := true
> {experimental}
>      bool UnlockExperimentalVMOptions              := true
> {experimental}      *
>      bool UseCriticalCMSThreadPriority              = false
> {experimental}
>      bool UseCriticalCompilerThreadPriority         = false
> {experimental}
>      bool UseCriticalJavaThreadPriority             = false
> {experimental}
>      bool UseMemSetInBOT                            = true
> {experimental}
>     uintx WorkStealingHardSpins                     = 4096
> {experimental}
>      intx WorkStealingSleepMillis                   = 1
> {experimental}
>     uintx WorkStealingSpinToYieldRatio              = 10
> {experimental}
>     uintx WorkStealingYieldsBeforeSleep             = 5000
> {experimental}
> java version "1.7.0_40"
> OpenJDK Runtime Environment (IcedTea 2.4.2) (ArchLinux build
> 7.u40_2.4.2-1-x86_64)
> OpenJDK 64-Bit Server VM (build 24.0-b56, mixed mode)
>
> --
>
> Pierre Laporte
> @pingtimeout <https://twitter.com/pingtimeout>
> pierre at pingtimeout.fr
> http://www.pingtimeout.fr/
>



-- 
“Perfection is achieved, not when there is nothing more to add, but when
there is nothing left to take away.”
Antoine de Saint Exupéry


More information about the hotspot-dev mailing list