< prev index next >
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/MethodSubstitutionTest.java
Print this page
rev 52509 : [mq]: graal
@@ -63,13 +63,18 @@
return new InliningPhase(new CanonicalizerPhase());
}
@SuppressWarnings("try")
protected StructuredGraph testGraph(final String snippet, String name) {
+ return testGraph(getResolvedJavaMethod(snippet), name);
+ }
+
+ @SuppressWarnings("try")
+ protected StructuredGraph testGraph(final ResolvedJavaMethod method, String name) {
DebugContext debug = getDebugContext();
- try (DebugContext.Scope s = debug.scope("MethodSubstitutionTest", getResolvedJavaMethod(snippet))) {
- StructuredGraph graph = parseEager(snippet, AllowAssumptions.YES, debug);
+ try (DebugContext.Scope s = debug.scope("MethodSubstitutionTest", method)) {
+ StructuredGraph graph = parseEager(method, AllowAssumptions.YES, debug);
HighTierContext context = getDefaultHighTierContext();
debug.dump(DebugContext.BASIC_LEVEL, graph, "Graph");
createInliningPhase(graph).apply(graph, context);
debug.dump(DebugContext.BASIC_LEVEL, graph, "Graph");
new CanonicalizerPhase().apply(graph, context);
@@ -109,11 +114,12 @@
}
}
return graph;
}
- protected void testSubstitution(String testMethodName, Class<?> intrinsicClass, Class<?> holder, String methodName, Class<?>[] parameterTypes, boolean optional, Object[] args1, Object[] args2) {
+ protected void testSubstitution(String testMethodName, Class<?> intrinsicClass, Class<?> holder, String methodName, Class<?>[] parameterTypes, boolean optional, boolean forceCompilation,
+ Object[] args1, Object[] args2) {
ResolvedJavaMethod realMethod = getResolvedJavaMethod(holder, methodName, parameterTypes);
ResolvedJavaMethod testMethod = getResolvedJavaMethod(testMethodName);
StructuredGraph graph = testGraph(testMethodName);
// Check to see if the resulting graph contains the expected node
@@ -121,11 +127,11 @@
if (replacement == null && !optional) {
assertInGraph(graph, intrinsicClass);
}
// Force compilation
- InstalledCode code = getCode(testMethod);
+ InstalledCode code = getCode(testMethod, null, forceCompilation);
assert optional || code != null;
for (int i = 0; i < args1.length; i++) {
Object arg1 = args1[i];
Object arg2 = args2[i];
< prev index next >