We could specify the option "-XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal" to do just that.
The followings are the diff (diff -U 0) between -server and -client options, running on Java 1.8.0_60 on ARM hf.
$java -server -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal > server
$java -client -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal > client
$ diff -U 0 client server --- client 2015-08-20 18:25:36.208946610 -0700 +++ server 2015-08-20 18:25:24.664324031 -0700 @@ -12,0 +13,2 @@ + intx AliasLevel = 3 {C2 product} + bool AlignVector = true {C2 product} @@ -30,0 +33 @@ + intx AutoBoxCacheMax = 128 {C2 product} @@ -33 +36 @@ - intx BackEdgeThreshold = 100000 {pd product} + intx BackEdgeThreshold = 140000 {pd product} @@ -41,0 +45,3 @@ + bool BlockLayoutByFrequency = true {C2 product} + intx BlockLayoutMinDiamondPercentage = 20 {C2 product} + bool BlockLayoutRotateLoops = true {C2 product} @@ -42,0 +49 @@ + bool BranchOnRegister = false {C2 product} @@ -45,9 +52 @@ - bool C1OptimizeVirtualCallProfiling = true {C1 product} - bool C1PatchInvokeDynamic = true {C1 diagnostic} - bool C1ProfileBranches = true {C1 product} - bool C1ProfileCalls = true {C1 product} - bool C1ProfileCheckcasts = true {C1 product} - bool C1ProfileInlinedCalls = true {C1 product} - bool C1ProfileVirtualCalls = true {C1 product} - bool C1UpdateMethodData = false {C1 product} - intx CICompilerCount = 1 {product} + intx CICompilerCount = 2 {product} @@ -148 +147 @@ - intx CompileThreshold = 1500 {pd product} + intx CompileThreshold = 10000 {pd product} @@ -153,0 +153 @@ + intx ConditionalMoveLimit = 4 {C2 pd product} @@ -161,0 +162 @@ + bool DebugInlinedCalls = true {C2 diagnostic} @@ -171,0 +173 @@ +ccstrlist DisableIntrinsic = {C2 diagnostic} @@ -174,0 +177,2 @@ + bool DoEscapeAnalysis = true {C2 product} + intx DominatorSearchLimit = 1000 {C2 diagnostic} @@ -180,0 +185,5 @@ + intx EliminateAllocationArraySizeLimit = 64 {C2 product} + bool EliminateAllocations = true {C2 product} + bool EliminateAutoBox = true {C2 product} + bool EliminateLocks = true {C2 product} + bool EliminateNestedLocks = true {C2 product} @@ -188,0 +198 @@ + double EscapeAnalysisTimeout = 20.000000 {C2 product} @@ -210 +220 @@ - intx FreqInlineSize = 325 {pd product} + intx FreqInlineSize = 175 {pd product} @@ -265,0 +276 @@ + bool IncrementalInline = true {C2 product} @@ -267 +278 @@ - uintx InitialCodeCacheSize = 163840 {pd product} + uintx InitialCodeCacheSize = 1572864 {pd product} @@ -276 +287,2 @@ - bool InlineSynchronizedMethods = true {C1 product} + bool InsertMemBarAfterArraycopy = true {C2 product} + intx InteriorEntryAlignment = 16 {C2 pd product} @@ -290 +301,0 @@ - bool LIRFillDelaySlots = false {C1 pd product} @@ -293,0 +305 @@ + intx LiveNodeCountInliningCutoff = 40000 {C2 product} @@ -300,0 +313,6 @@ + bool LoopLimitCheck = true {C2 diagnostic} + intx LoopMaxUnroll = 16 {C2 product} + intx LoopOptsCount = 43 {C2 product} + intx LoopUnrollLimit = 60 {C2 pd product} + intx LoopUnrollMin = 4 {C2 product} + bool LoopUnswitching = true {C2 product} @@ -320,0 +339,4 @@ + intx MaxJumpTableSize = 65000 {C2 product} + intx MaxJumpTableSparseness = 5 {C2 product} + intx MaxLabelRootDepth = 1100 {C2 product} + intx MaxLoopPad = 15 {C2 product} @@ -325 +347,2 @@ - uint64_t MaxRAM = 1073741824 {pd product} + intx MaxNodeLimit = 75000 {C2 product} + uint64_t MaxRAM = 0 {pd product} @@ -330 +353,2 @@ - uintx MetaspaceSize = 12582912 {pd product} + intx MaxVectorSize = 8 {C2 product} + uintx MetaspaceSize = 16777216 {pd product} @@ -334,0 +359 @@ + intx MinJumpTableSize = 16 {C2 pd product} @@ -341,0 +367 @@ + intx MultiArrayExpandLimit = 6 {C2 product} @@ -350 +376 @@ - bool NeverActAsServerClassMachine = true {pd product} + bool NeverActAsServerClassMachine = false {pd product} @@ -357,0 +384 @@ + intx NodeLimitFudgeFactor = 2000 {C2 product} @@ -358,0 +386 @@ + intx NumberOfLoopInstrToAlign = 4 {C2 product} @@ -365 +393,6 @@ - intx OnStackReplacePercentage = 933 {pd product} + intx OnStackReplacePercentage = 140 {pd product} + bool OptimizeExpensiveOps = true {C2 diagnostic} + bool OptimizeFill = true {C2 product} + bool OptimizePtrCompare = true {C2 product} + bool OptimizeStringConcat = true {C2 product} + bool OptoBundling = false {C2 pd product} @@ -366,0 +400 @@ + bool OptoScheduling = true {C2 pd product} @@ -382,0 +417,3 @@ + bool PartialPeelAtUnsignedTests = true {C2 product} + bool PartialPeelLoop = true {C2 product} + intx PartialPeelNewPhiDelta = 0 {C2 product} @@ -442,0 +480 @@ + bool PrintIntrinsics = false {C2 diagnostic} @@ -453,0 +492,2 @@ + bool PrintPreciseBiasedLockingStatistics = false {C2 diagnostic} + bool PrintPreciseRTMLockingStatistics = false {C2 diagnostic} @@ -473 +513,2 @@ - bool ProfileInterpreter = false {pd product} + bool ProfileDynamicTypes = true {C2 diagnostic} + bool ProfileInterpreter = true {pd product} @@ -482,0 +524,5 @@ + bool RangeLimitCheck = true {C2 diagnostic} + bool ReassociateInvariants = true {C2 product} + bool ReduceBulkZeroing = true {C2 product} + bool ReduceFieldZeroing = true {C2 product} + bool ReduceInitialCardMarks = true {C2 product} @@ -496,3 +542,2 @@ - bool RewriteBytecodes = false {pd product} - bool RewriteFrequentPairs = false {pd product} - intx SafepointPollOffset = 0 {C1 pd product} + bool RewriteBytecodes = true {pd product} + bool RewriteFrequentPairs = true {pd product} @@ -515,0 +561,2 @@ + bool SpecialEncodeISOArray = true {C2 product} + bool SplitIfBlocks = true {C2 product} @@ -578 +624,0 @@ - bool TimeLinearScan = false {C1 product} @@ -599,0 +646,2 @@ + bool TraceTypeProfile = false {C2 diagnostic} + intx TrackedInitializationLimit = 50 {C2 product} @@ -601,0 +650 @@ + bool TrapBasedRangeChecks = false {C2 pd product} @@ -603,0 +653 @@ + intx TypeProfileMajorReceiverPercent = 90 {C2 product} @@ -608,0 +659 @@ + bool UnrollLimitCheck = true {C2 diagnostic} @@ -622,0 +674 @@ + bool UseBimorphicInlining = true {C2 product} @@ -632,0 +685 @@ + bool UseCondCardMark = false {C2 product} @@ -633,0 +687 @@ + bool UseDivMod = true {C2 product} @@ -634,0 +689 @@ + bool UseFPUForSpilling = true {C2 product} @@ -643,0 +699 @@ + bool UseImplicitStableValues = true {C2 diagnostic} @@ -644,0 +701 @@ + bool UseInlineDepthForSpeculativeTypes = true {C2 diagnostic} @@ -645,0 +703 @@ + bool UseJumpTables = true {C2 product} @@ -653 +711,2 @@ - bool UseLoopInvariantCodeMotion = true {C1 product} + bool UseLoopPredicate = true {C2 product} + bool UseMathExactIntrinsics = true {C2 product} @@ -655,0 +715 @@ + bool UseMultiplyToLenIntrinsic = false {C2 product} @@ -661,0 +722 @@ + bool UseOldInlining = true {C2 product} @@ -662,0 +724 @@ + bool UseOnlyInlinedBimorphic = true {C2 product} @@ -663,0 +726 @@ + bool UseOptoBiasInlining = false {C2 product} @@ -669 +732,2 @@ - bool UsePopCountInstruction = false {product} + bool UsePopCountInstruction = true {product} + bool UseRDPCForConstantTableBase = false {C2 product} @@ -680,0 +745 @@ + bool UseSuperWord = true {C2 product} @@ -684,0 +750 @@ + bool UseTypeSpeculation = true {C2 product} @@ -690,2 +756 @@ - intx ValueMapInitialSize = 11 {C1 product} - intx ValueMapMaxLoopSize = 8 {C1 product} + intx ValueSearchLimit = 1000 {C2 product}
No comments:
Post a Comment