22 */ 23 24 /* 25 * @test 26 * @bug 8136421 27 * @requires (vm.simpleArch == "x64" | vm.simpleArch == "sparcv9" | vm.simpleArch == "aarch64") 28 * @library / /testlibrary /test/lib/ 29 * @library ../common/patches 30 * @modules java.base/jdk.internal.misc 31 * @modules jdk.vm.ci/jdk.vm.ci.hotspot 32 * @build jdk.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper 33 * @build compiler.jvmci.compilerToVM.GetImplementorTest 34 * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI 35 * compiler.jvmci.compilerToVM.GetImplementorTest 36 */ 37 38 package compiler.jvmci.compilerToVM; 39 40 import compiler.jvmci.common.testcases.AbstractClass; 41 import compiler.jvmci.common.testcases.AbstractClassExtender; 42 import compiler.jvmci.common.testcases.DoNotImplementInterface; 43 import compiler.jvmci.common.testcases.DoNotExtendClass; 44 import compiler.jvmci.common.testcases.MultipleImplementer1; 45 import compiler.jvmci.common.testcases.MultipleImplementer2; 46 import compiler.jvmci.common.testcases.MultipleImplementersInterface; 47 import compiler.jvmci.common.testcases.SingleImplementer; 48 import compiler.jvmci.common.testcases.SingleImplementerInterface; 49 import compiler.jvmci.common.testcases.SingleSubclass; 50 import compiler.jvmci.common.testcases.SingleSubclassedClass; 51 import java.util.HashSet; 52 import java.util.Set; 53 import java.util.stream.Stream; 54 import jdk.vm.ci.hotspot.CompilerToVMHelper; 55 import jdk.vm.ci.hotspot.HotSpotResolvedObjectType; 56 import jdk.test.lib.Asserts; 57 import jdk.test.lib.Utils; 58 59 public class GetImplementorTest { 60 public static void main(String args[]) { 61 GetImplementorTest test = new GetImplementorTest(); 62 for (TestCase tcase : createTestCases()) { 63 test.runTest(tcase); 64 } 65 } 66 67 private static Set<TestCase> createTestCases() { 68 Set<TestCase> result = new HashSet<>(); 69 Stream.of( 70 SingleSubclass.class, 71 AbstractClassExtender.class, 72 MultipleImplementer2.class, 73 MultipleImplementer1.class, 74 MultipleImplementersInterface.class, 75 DoNotImplementInterface.class, 76 DoNotExtendClass.class, 77 AbstractClass.class, | 22 */ 23 24 /* 25 * @test 26 * @bug 8136421 27 * @requires (vm.simpleArch == "x64" | vm.simpleArch == "sparcv9" | vm.simpleArch == "aarch64") 28 * @library / /testlibrary /test/lib/ 29 * @library ../common/patches 30 * @modules java.base/jdk.internal.misc 31 * @modules jdk.vm.ci/jdk.vm.ci.hotspot 32 * @build jdk.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper 33 * @build compiler.jvmci.compilerToVM.GetImplementorTest 34 * @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI 35 * compiler.jvmci.compilerToVM.GetImplementorTest 36 */ 37 38 package compiler.jvmci.compilerToVM; 39 40 import compiler.jvmci.common.testcases.AbstractClass; 41 import compiler.jvmci.common.testcases.AbstractClassExtender; 42 import compiler.jvmci.common.testcases.DoNotExtendClass; 43 import compiler.jvmci.common.testcases.DoNotImplementInterface; 44 import compiler.jvmci.common.testcases.MultipleImplementer1; 45 import compiler.jvmci.common.testcases.MultipleImplementer2; 46 import compiler.jvmci.common.testcases.MultipleImplementersInterface; 47 import compiler.jvmci.common.testcases.SingleImplementer; 48 import compiler.jvmci.common.testcases.SingleImplementerInterface; 49 import compiler.jvmci.common.testcases.SingleSubclass; 50 import compiler.jvmci.common.testcases.SingleSubclassedClass; 51 import jdk.test.lib.Asserts; 52 import jdk.test.lib.Utils; 53 import jdk.vm.ci.hotspot.CompilerToVMHelper; 54 import jdk.vm.ci.hotspot.HotSpotResolvedObjectType; 55 56 import java.util.HashSet; 57 import java.util.Set; 58 import java.util.stream.Stream; 59 60 public class GetImplementorTest { 61 public static void main(String args[]) { 62 GetImplementorTest test = new GetImplementorTest(); 63 for (TestCase tcase : createTestCases()) { 64 test.runTest(tcase); 65 } 66 } 67 68 private static Set<TestCase> createTestCases() { 69 Set<TestCase> result = new HashSet<>(); 70 Stream.of( 71 SingleSubclass.class, 72 AbstractClassExtender.class, 73 MultipleImplementer2.class, 74 MultipleImplementer1.class, 75 MultipleImplementersInterface.class, 76 DoNotImplementInterface.class, 77 DoNotExtendClass.class, 78 AbstractClass.class, |