35 * jdk.vm.ci/jdk.vm.ci.hotspot.PublicMetaspaceWrapperObject
36 * @build compiler.jvmci.compilerToVM.GetResolvedJavaTypeTest
37 * @build sun.hotspot.WhiteBox
38 * @run main ClassFileInstaller
39 * sun.hotspot.WhiteBox
40 * sun.hotspot.WhiteBox$WhiteBoxPermission
41 * @run main/othervm -Xbootclasspath/a:.
42 * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
43 * -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
44 * -XX:+UseCompressedOops
45 * compiler.jvmci.compilerToVM.GetResolvedJavaTypeTest
46 * @run main/othervm -Xbootclasspath/a:.
47 * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
48 * -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
49 * -XX:-UseCompressedOops
50 * compiler.jvmci.compilerToVM.GetResolvedJavaTypeTest
51 */
52
53 package compiler.jvmci.compilerToVM;
54
55 import java.lang.reflect.Field;
56 import jdk.vm.ci.meta.ConstantPool;
57 import jdk.vm.ci.hotspot.CompilerToVMHelper;
58 import jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod;
59 import jdk.vm.ci.hotspot.HotSpotResolvedObjectType;
60 import jdk.vm.ci.hotspot.PublicMetaspaceWrapperObject;
61 import jdk.test.lib.Asserts;
62 import jdk.test.lib.Utils;
63 import sun.hotspot.WhiteBox;
64 import jdk.internal.misc.Unsafe;
65
66 public class GetResolvedJavaTypeTest {
67 private static enum TestCase {
68 NULL_BASE {
69 @Override
70 HotSpotResolvedObjectType getResolvedJavaType() {
71 return CompilerToVMHelper.getResolvedJavaType(
72 null, getPtrToKlass(), COMPRESSED);
73 }
74 },
75 JAVA_METHOD_BASE {
76 @Override
77 HotSpotResolvedObjectType getResolvedJavaType() {
78 HotSpotResolvedJavaMethod methodInstance
79 = CompilerToVMHelper.getResolvedJavaMethodAtSlot(
80 TEST_CLASS, 0);
81 Field field;
82 try {
83 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod
84 field = methodInstance.getClass()
85 .getDeclaredField("metaspaceMethod");
|
35 * jdk.vm.ci/jdk.vm.ci.hotspot.PublicMetaspaceWrapperObject
36 * @build compiler.jvmci.compilerToVM.GetResolvedJavaTypeTest
37 * @build sun.hotspot.WhiteBox
38 * @run main ClassFileInstaller
39 * sun.hotspot.WhiteBox
40 * sun.hotspot.WhiteBox$WhiteBoxPermission
41 * @run main/othervm -Xbootclasspath/a:.
42 * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
43 * -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
44 * -XX:+UseCompressedOops
45 * compiler.jvmci.compilerToVM.GetResolvedJavaTypeTest
46 * @run main/othervm -Xbootclasspath/a:.
47 * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
48 * -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
49 * -XX:-UseCompressedOops
50 * compiler.jvmci.compilerToVM.GetResolvedJavaTypeTest
51 */
52
53 package compiler.jvmci.compilerToVM;
54
55 import jdk.internal.misc.Unsafe;
56 import jdk.test.lib.Asserts;
57 import jdk.test.lib.Utils;
58 import jdk.vm.ci.hotspot.CompilerToVMHelper;
59 import jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod;
60 import jdk.vm.ci.hotspot.HotSpotResolvedObjectType;
61 import jdk.vm.ci.hotspot.PublicMetaspaceWrapperObject;
62 import jdk.vm.ci.meta.ConstantPool;
63 import sun.hotspot.WhiteBox;
64
65 import java.lang.reflect.Field;
66
67 public class GetResolvedJavaTypeTest {
68 private static enum TestCase {
69 NULL_BASE {
70 @Override
71 HotSpotResolvedObjectType getResolvedJavaType() {
72 return CompilerToVMHelper.getResolvedJavaType(
73 null, getPtrToKlass(), COMPRESSED);
74 }
75 },
76 JAVA_METHOD_BASE {
77 @Override
78 HotSpotResolvedObjectType getResolvedJavaType() {
79 HotSpotResolvedJavaMethod methodInstance
80 = CompilerToVMHelper.getResolvedJavaMethodAtSlot(
81 TEST_CLASS, 0);
82 Field field;
83 try {
84 // jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod
85 field = methodInstance.getClass()
86 .getDeclaredField("metaspaceMethod");
|