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 * jdk.vm.ci/jdk.vm.ci.hotspot.PublicMetaspaceWrapperObject
34 * @build compiler.jvmci.compilerToVM.GetResolvedJavaMethodTest
35 * @run main ClassFileInstaller
36 * sun.hotspot.WhiteBox
37 * sun.hotspot.WhiteBox$WhiteBoxPermission
38 * @run main/othervm -Xbootclasspath/a:.
39 * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
40 * -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
41 * compiler.jvmci.compilerToVM.GetResolvedJavaMethodTest
42 */
43
44 package compiler.jvmci.compilerToVM;
45
46 import jdk.vm.ci.hotspot.CompilerToVMHelper;
47 import jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod;
48 import jdk.vm.ci.hotspot.PublicMetaspaceWrapperObject;
49 import jdk.test.lib.Asserts;
50 import jdk.test.lib.Utils;
51 import sun.hotspot.WhiteBox;
52 import jdk.internal.misc.Unsafe;
53
54 import java.lang.reflect.Field;
55
56 public class GetResolvedJavaMethodTest {
57 private static enum TestCase {
58 NULL_BASE {
59 @Override
60 HotSpotResolvedJavaMethod getResolvedJavaMethod() {
61 return CompilerToVMHelper.getResolvedJavaMethod(
62 null, getPtrToMethod());
63 }
64 },
65 JAVA_METHOD_BASE {
66 @Override
67 HotSpotResolvedJavaMethod getResolvedJavaMethod() {
68 HotSpotResolvedJavaMethod methodInstance
69 = CompilerToVMHelper.getResolvedJavaMethodAtSlot(
70 TEST_CLASS, 0);
71 try {
72 METASPACE_METHOD_FIELD.set(methodInstance,
|
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 * jdk.vm.ci/jdk.vm.ci.hotspot.PublicMetaspaceWrapperObject
34 * @build compiler.jvmci.compilerToVM.GetResolvedJavaMethodTest
35 * @run main ClassFileInstaller
36 * sun.hotspot.WhiteBox
37 * sun.hotspot.WhiteBox$WhiteBoxPermission
38 * @run main/othervm -Xbootclasspath/a:.
39 * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
40 * -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
41 * compiler.jvmci.compilerToVM.GetResolvedJavaMethodTest
42 */
43
44 package compiler.jvmci.compilerToVM;
45
46 import jdk.internal.misc.Unsafe;
47 import jdk.test.lib.Asserts;
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 sun.hotspot.WhiteBox;
53
54 import java.lang.reflect.Field;
55
56 public class GetResolvedJavaMethodTest {
57 private static enum TestCase {
58 NULL_BASE {
59 @Override
60 HotSpotResolvedJavaMethod getResolvedJavaMethod() {
61 return CompilerToVMHelper.getResolvedJavaMethod(
62 null, getPtrToMethod());
63 }
64 },
65 JAVA_METHOD_BASE {
66 @Override
67 HotSpotResolvedJavaMethod getResolvedJavaMethod() {
68 HotSpotResolvedJavaMethod methodInstance
69 = CompilerToVMHelper.getResolvedJavaMethodAtSlot(
70 TEST_CLASS, 0);
71 try {
72 METASPACE_METHOD_FIELD.set(methodInstance,
|