--- old/test/testlibrary/com/oracle/java/testlibrary/Platform.java 2014-12-24 18:12:28.582148605 +0400 +++ new/test/testlibrary/com/oracle/java/testlibrary/Platform.java 2014-12-24 18:12:28.502148603 +0400 @@ -34,6 +34,7 @@ private static final String osArch = System.getProperty("os.arch"); private static final String vmName = System.getProperty("java.vm.name"); private static final String userName = System.getProperty("user.name"); + private static final String compiler = System.getProperty("sun.management.compiler"); public static boolean isClient() { return vmName.endsWith(" Client VM"); @@ -55,6 +56,10 @@ return vmName.contains("Embedded"); } + public static boolean isTieredSupported() { + return compiler.contains("Tiered Compilers"); + } + public static boolean is32bit() { return dataModel.equals("32"); } --- /dev/null 2014-09-08 10:40:15.076620215 +0400 +++ new/test/testlibrary_tests/TestPlatformIsTieredSupported.java 2014-12-24 18:12:28.890148615 +0400 @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import com.oracle.java.testlibrary.Asserts; +import com.oracle.java.testlibrary.Platform; +import sun.hotspot.WhiteBox; + +/** + * @test + * @summary Verifies that Platform::isTieredSupported returns correct value. + * @library /testlibrary /../../test/lib + * @build TestPlatformIsTieredSupported + * @run main ClassFileInstaller sun.hotspot.WhiteBox + * sun.hotspot.WhiteBox$WhiteBoxPermission + * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions + * -XX:+WhiteBoxAPI -XX:+TieredCompilation + * TestPlatformIsTieredSupported + */ +public class TestPlatformIsTieredSupported { + public static void main(String args[]) { + WhiteBox whiteBox = WhiteBox.getWhiteBox(); + boolean tieredCompilation = whiteBox.getBooleanVMFlag( + "TieredCompilation"); + Asserts.assertEQ(Platform.isTieredSupported(), tieredCompilation, + "Platform::isTieredSupported should report the same value as " + + "TieredCompilation flag's value when " + + "+TieredCompilation was explicitly passed to JVM."); + } +} --- old/test/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java 2014-12-24 18:12:29.298148628 +0400 +++ new/test/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java 2014-12-24 18:12:29.218148625 +0400 @@ -48,7 +48,7 @@ OS("isLinux", "isSolaris", "isWindows", "isOSX"), VM_TYPE("isClient", "isServer", "isGraal", "isMinimal"), IGNORED("isEmbedded", "isDebugBuild", "shouldSAAttach", - "canPtraceAttachLinux", "canAttachOSX"); + "canPtraceAttachLinux", "canAttachOSX", "isTieredSupported"); public final List methodNames;