122 verifyCodeHeapNotExists(pb, PROFILED); 123 pb = ProcessTools.createJavaProcessBuilder("-XX:+SegmentedCodeCache", 124 "-XX:TieredStopAtLevel=1", 125 "-XX:+PrintCodeCache", "-version"); 126 verifyCodeHeapNotExists(pb, PROFILED); 127 128 // Fails with too small non-nmethod code heap size 129 pb = ProcessTools.createJavaProcessBuilder("-XX:NonNMethodCodeHeapSize=100K"); 130 failsWith(pb, "Invalid NonNMethodCodeHeapSize"); 131 132 // Fails if code heap sizes do not add up 133 pb = ProcessTools.createJavaProcessBuilder("-XX:+SegmentedCodeCache", 134 "-XX:ReservedCodeCacheSize=10M", 135 "-XX:NonNMethodCodeHeapSize=5M", 136 "-XX:ProfiledCodeHeapSize=5M", 137 "-XX:NonProfiledCodeHeapSize=5M"); 138 failsWith(pb, "Invalid code heap sizes"); 139 140 // Fails if not enough space for VM internal code 141 long minUseSpace = WHITE_BOX.getUintxVMFlag("CodeCacheMinimumUseSpace"); 142 long minFreeSpace = WHITE_BOX.getUintxVMFlag("CodeCacheMinimumFreeSpace"); 143 // minimum size: (CodeCacheMinimumUseSpace DEBUG_ONLY(* 3)) + CodeCacheMinimumFreeSpace 144 long minSize = (Platform.isDebugBuild() ? 3 : 1) * minUseSpace + minFreeSpace; 145 pb = ProcessTools.createJavaProcessBuilder("-XX:+SegmentedCodeCache", 146 "-XX:ReservedCodeCacheSize=" + minSize, 147 "-XX:InitialCodeCacheSize=100K"); 148 failsWith(pb, "Not enough space in non-nmethod code heap to run VM"); 149 } 150 } | 122 verifyCodeHeapNotExists(pb, PROFILED); 123 pb = ProcessTools.createJavaProcessBuilder("-XX:+SegmentedCodeCache", 124 "-XX:TieredStopAtLevel=1", 125 "-XX:+PrintCodeCache", "-version"); 126 verifyCodeHeapNotExists(pb, PROFILED); 127 128 // Fails with too small non-nmethod code heap size 129 pb = ProcessTools.createJavaProcessBuilder("-XX:NonNMethodCodeHeapSize=100K"); 130 failsWith(pb, "Invalid NonNMethodCodeHeapSize"); 131 132 // Fails if code heap sizes do not add up 133 pb = ProcessTools.createJavaProcessBuilder("-XX:+SegmentedCodeCache", 134 "-XX:ReservedCodeCacheSize=10M", 135 "-XX:NonNMethodCodeHeapSize=5M", 136 "-XX:ProfiledCodeHeapSize=5M", 137 "-XX:NonProfiledCodeHeapSize=5M"); 138 failsWith(pb, "Invalid code heap sizes"); 139 140 // Fails if not enough space for VM internal code 141 long minUseSpace = WHITE_BOX.getUintxVMFlag("CodeCacheMinimumUseSpace"); 142 // minimum size: CodeCacheMinimumUseSpace DEBUG_ONLY(* 3) 143 long minSize = (Platform.isDebugBuild() ? 3 : 1) * minUseSpace; 144 pb = ProcessTools.createJavaProcessBuilder("-XX:+SegmentedCodeCache", 145 "-XX:ReservedCodeCacheSize=" + minSize, 146 "-XX:InitialCodeCacheSize=100K"); 147 failsWith(pb, "Not enough space in non-nmethod code heap to run VM"); 148 } 149 } |