27 * @bug 8136421 28 * @requires (vm.simpleArch == "x64" | vm.simpleArch == "sparcv9" | vm.simpleArch == "aarch64") 29 * @library /testlibrary /test/lib / 30 * @library ../common/patches 31 * @modules java.base/jdk.internal.misc 32 * @modules jdk.vm.ci/jdk.vm.ci.hotspot 33 * jdk.vm.ci/jdk.vm.ci.meta 34 * @build jdk.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper 35 * @build jdk.vm.ci/jdk.vm.ci.hotspot.PublicMetaspaceWrapperObject 36 * @build compiler.jvmci.compilerToVM.GetConstantPoolTest 37 * @build sun.hotspot.WhiteBox 38 * @run main ClassFileInstaller sun.hotspot.WhiteBox 39 * sun.hotspot.WhiteBox$WhiteBoxPermission 40 * @run main/othervm -Xbootclasspath/a:. 41 * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI 42 * -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI 43 * compiler.jvmci.compilerToVM.GetConstantPoolTest 44 */ 45 package compiler.jvmci.compilerToVM; 46 47 import java.lang.reflect.Field; 48 import jdk.vm.ci.meta.ConstantPool; 49 import jdk.vm.ci.hotspot.CompilerToVMHelper; 50 import jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod; 51 import jdk.vm.ci.hotspot.HotSpotResolvedObjectType; 52 import jdk.vm.ci.hotspot.PublicMetaspaceWrapperObject; 53 import jdk.test.lib.Utils; 54 import sun.hotspot.WhiteBox; 55 import jdk.internal.misc.Unsafe; 56 57 /** 58 * Tests for jdk.vm.ci.hotspot.CompilerToVM::getConstantPool method 59 */ 60 public class GetConstantPoolTest { 61 private static enum TestCase { 62 NULL_BASE { 63 @Override 64 ConstantPool getConstantPool() { 65 return CompilerToVMHelper.getConstantPool(null, 66 getPtrToCpAddress()); 67 } 68 }, 69 JAVA_METHOD_BASE { 70 @Override 71 ConstantPool getConstantPool() { 72 HotSpotResolvedJavaMethod methodInstance 73 = CompilerToVMHelper.getResolvedJavaMethodAtSlot( 74 TEST_CLASS, 0); 75 Field field; | 27 * @bug 8136421 28 * @requires (vm.simpleArch == "x64" | vm.simpleArch == "sparcv9" | vm.simpleArch == "aarch64") 29 * @library /testlibrary /test/lib / 30 * @library ../common/patches 31 * @modules java.base/jdk.internal.misc 32 * @modules jdk.vm.ci/jdk.vm.ci.hotspot 33 * jdk.vm.ci/jdk.vm.ci.meta 34 * @build jdk.vm.ci/jdk.vm.ci.hotspot.CompilerToVMHelper 35 * @build jdk.vm.ci/jdk.vm.ci.hotspot.PublicMetaspaceWrapperObject 36 * @build compiler.jvmci.compilerToVM.GetConstantPoolTest 37 * @build sun.hotspot.WhiteBox 38 * @run main ClassFileInstaller sun.hotspot.WhiteBox 39 * sun.hotspot.WhiteBox$WhiteBoxPermission 40 * @run main/othervm -Xbootclasspath/a:. 41 * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI 42 * -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI 43 * compiler.jvmci.compilerToVM.GetConstantPoolTest 44 */ 45 package compiler.jvmci.compilerToVM; 46 47 import jdk.internal.misc.Unsafe; 48 import jdk.test.lib.Utils; 49 import jdk.vm.ci.hotspot.CompilerToVMHelper; 50 import jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod; 51 import jdk.vm.ci.hotspot.PublicMetaspaceWrapperObject; 52 import jdk.vm.ci.meta.ConstantPool; 53 import sun.hotspot.WhiteBox; 54 55 import java.lang.reflect.Field; 56 57 /** 58 * Tests for jdk.vm.ci.hotspot.CompilerToVM::getConstantPool method 59 */ 60 public class GetConstantPoolTest { 61 private static enum TestCase { 62 NULL_BASE { 63 @Override 64 ConstantPool getConstantPool() { 65 return CompilerToVMHelper.getConstantPool(null, 66 getPtrToCpAddress()); 67 } 68 }, 69 JAVA_METHOD_BASE { 70 @Override 71 ConstantPool getConstantPool() { 72 HotSpotResolvedJavaMethod methodInstance 73 = CompilerToVMHelper.getResolvedJavaMethodAtSlot( 74 TEST_CLASS, 0); 75 Field field; |