17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /* 25 * @test IntxTest 26 * @bug 8038756 27 * @library /test/lib 28 * @modules java.base/jdk.internal.misc 29 * @modules java.management/sun.management 30 * @build sun.hotspot.WhiteBox 31 * @run driver ClassFileInstaller sun.hotspot.WhiteBox 32 * sun.hotspot.WhiteBox$WhiteBoxPermission 33 * @run main/othervm/timeout=600 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xint -XX:-ProfileInterpreter IntxTest 34 * @summary testing of WB::set/getIntxVMFlag() 35 * @author igor.ignatyev@oracle.com 36 */ 37 38 public class IntxTest { 39 private static final String FLAG_NAME = "OnStackReplacePercentage"; 40 private static final String FLAG_DEBUG_NAME = "InlineFrequencyCount"; 41 private static final Long[] TESTS = {0L, 100L, (long) Integer.MAX_VALUE}; 42 43 public static void main(String[] args) throws Exception { 44 VmFlagTest.runTest(FLAG_NAME, TESTS, 45 VmFlagTest.WHITE_BOX::setIntxVMFlag, 46 VmFlagTest.WHITE_BOX::getIntxVMFlag); 47 VmFlagTest.runTest(FLAG_DEBUG_NAME, VmFlagTest.WHITE_BOX::getIntxVMFlag); 48 } 49 } 50 | 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /* 25 * @test IntxTest 26 * @bug 8038756 27 * @library /test/lib 28 * @modules java.base/jdk.internal.misc 29 * @modules java.management/sun.management 30 * @build sun.hotspot.WhiteBox 31 * @run driver ClassFileInstaller sun.hotspot.WhiteBox 32 * sun.hotspot.WhiteBox$WhiteBoxPermission 33 * @run main/othervm/timeout=600 -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xint -XX:-ProfileInterpreter IntxTest 34 * @summary testing of WB::set/getIntxVMFlag() 35 * @author igor.ignatyev@oracle.com 36 */ 37 import jdk.test.lib.Platform; 38 public class IntxTest { 39 private static final String FLAG_NAME = "OnStackReplacePercentage"; 40 private static final String FLAG_DEBUG_NAME = "InlineFrequencyCount"; 41 private static final long COMPILE_THRESHOLD = VmFlagTest.WHITE_BOX.getIntxVMFlag("CompileThreshold"); 42 private static final Long[] TESTS = {0L, 100L, (long)(Integer.MAX_VALUE>>3)*100L}; 43 44 public static void main(String[] args) throws Exception { 45 find_and_set_max_osrp(); 46 VmFlagTest.runTest(FLAG_NAME, TESTS, 47 VmFlagTest.WHITE_BOX::setIntxVMFlag, 48 VmFlagTest.WHITE_BOX::getIntxVMFlag); 49 VmFlagTest.runTest(FLAG_DEBUG_NAME, VmFlagTest.WHITE_BOX::getIntxVMFlag); 50 } 51 52 static void find_and_set_max_osrp() { 53 long max_percentage_limit = (long)(Integer.MAX_VALUE>>3)*100L; 54 if (Platform.is32bit()) { 55 max_percentage_limit = Integer.MAX_VALUE; 56 } 57 max_percentage_limit = COMPILE_THRESHOLD == 0 ? max_percentage_limit : max_percentage_limit/COMPILE_THRESHOLD; 58 TESTS[2] = max_percentage_limit; 59 } 60 } 61 |