< prev index next >
test/compiler/jvmci/compilerToVM/GetResolvedJavaMethodTest.java
Print this page
*** 50,59 ****
--- 50,60 ----
import jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod;
import jdk.vm.ci.hotspot.PublicMetaspaceWrapperObject;
import sun.hotspot.WhiteBox;
import java.lang.reflect.Field;
+ import java.lang.reflect.Method;
public class GetResolvedJavaMethodTest {
private static enum TestCase {
NULL_BASE {
@Override
*** 63,75 ****
}
},
JAVA_METHOD_BASE {
@Override
HotSpotResolvedJavaMethod getResolvedJavaMethod() {
! HotSpotResolvedJavaMethod methodInstance
! = CompilerToVMHelper.getResolvedJavaMethodAtSlot(
! TEST_CLASS, 0);
try {
METASPACE_METHOD_FIELD.set(methodInstance,
getPtrToMethod());
} catch (ReflectiveOperationException e) {
throw new Error("TEST BUG : " + e, e);
--- 64,74 ----
}
},
JAVA_METHOD_BASE {
@Override
HotSpotResolvedJavaMethod getResolvedJavaMethod() {
! HotSpotResolvedJavaMethod methodInstance = TEST_METHOD;
try {
METASPACE_METHOD_FIELD.set(methodInstance,
getPtrToMethod());
} catch (ReflectiveOperationException e) {
throw new Error("TEST BUG : " + e, e);
*** 80,92 ****
},
JAVA_METHOD_BASE_IN_TWO {
@Override
HotSpotResolvedJavaMethod getResolvedJavaMethod() {
long ptr = getPtrToMethod();
! HotSpotResolvedJavaMethod methodInstance
! = CompilerToVMHelper.getResolvedJavaMethodAtSlot(
! TEST_CLASS, 0);
try {
METASPACE_METHOD_FIELD.set(methodInstance, ptr / 2L);
} catch (ReflectiveOperationException e) {
throw new Error("TESTBUG : " + e, e);
}
--- 79,89 ----
},
JAVA_METHOD_BASE_IN_TWO {
@Override
HotSpotResolvedJavaMethod getResolvedJavaMethod() {
long ptr = getPtrToMethod();
! HotSpotResolvedJavaMethod methodInstance = TEST_METHOD;
try {
METASPACE_METHOD_FIELD.set(methodInstance, ptr / 2L);
} catch (ReflectiveOperationException e) {
throw new Error("TESTBUG : " + e, e);
}
*** 96,108 ****
},
JAVA_METHOD_BASE_ZERO {
@Override
HotSpotResolvedJavaMethod getResolvedJavaMethod() {
long ptr = getPtrToMethod();
! HotSpotResolvedJavaMethod methodInstance
! = CompilerToVMHelper.getResolvedJavaMethodAtSlot(
! TEST_CLASS, 0);
try {
METASPACE_METHOD_FIELD.set(methodInstance, 0L);
} catch (ReflectiveOperationException e) {
throw new Error("TESTBUG : " + e, e);
}
--- 93,103 ----
},
JAVA_METHOD_BASE_ZERO {
@Override
HotSpotResolvedJavaMethod getResolvedJavaMethod() {
long ptr = getPtrToMethod();
! HotSpotResolvedJavaMethod methodInstance = TEST_METHOD;
try {
METASPACE_METHOD_FIELD.set(methodInstance, 0L);
} catch (ReflectiveOperationException e) {
throw new Error("TESTBUG : " + e, e);
}
*** 116,135 ****
private static final Unsafe UNSAFE = UnsafeHelper.getUnsafe();
private static final WhiteBox WB = WhiteBox.getWhiteBox();
private static final Field METASPACE_METHOD_FIELD;
private static final Class<?> TEST_CLASS = GetResolvedJavaMethodTest.class;
private static final long PTR;
static {
! HotSpotResolvedJavaMethod method
! = CompilerToVMHelper.getResolvedJavaMethodAtSlot(TEST_CLASS, 0);
try {
// jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod
! METASPACE_METHOD_FIELD = method.getClass()
.getDeclaredField("metaspaceMethod");
METASPACE_METHOD_FIELD.setAccessible(true);
! PTR = (long) METASPACE_METHOD_FIELD.get(method);
} catch (ReflectiveOperationException e) {
throw new Error("TESTBUG : " + e, e);
}
}
--- 111,135 ----
private static final Unsafe UNSAFE = UnsafeHelper.getUnsafe();
private static final WhiteBox WB = WhiteBox.getWhiteBox();
private static final Field METASPACE_METHOD_FIELD;
private static final Class<?> TEST_CLASS = GetResolvedJavaMethodTest.class;
+ private static final HotSpotResolvedJavaMethod TEST_METHOD;
private static final long PTR;
static {
! try {
! Method method = TEST_CLASS.getDeclaredMethod("test", TestCase.class);
! TEST_METHOD = CompilerToVMHelper.asResolvedJavaMethod(method);
! } catch (NoSuchMethodException e) {
! throw new Error("TESTBUG : " + e, e);
! }
try {
// jdk.vm.ci.hotspot.HotSpotResolvedJavaMethodImpl.metaspaceMethod
! METASPACE_METHOD_FIELD = TEST_METHOD.getClass()
.getDeclaredField("metaspaceMethod");
METASPACE_METHOD_FIELD.setAccessible(true);
! PTR = (long) METASPACE_METHOD_FIELD.get(TEST_METHOD);
} catch (ReflectiveOperationException e) {
throw new Error("TESTBUG : " + e, e);
}
}
< prev index next >