20 * or visit www.oracle.com if you need additional information or have any |
20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. |
21 * questions. |
22 */ |
22 */ |
23 package org.graalvm.compiler.replacements.test; |
23 package org.graalvm.compiler.replacements.test; |
24 |
24 |
25 import org.graalvm.compiler.core.common.CompilationIdentifier; |
|
26 import org.graalvm.compiler.nodes.StructuredGraph; |
25 import org.graalvm.compiler.nodes.StructuredGraph; |
27 import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions; |
26 import org.graalvm.compiler.nodes.StructuredGraph.Builder; |
28 import org.graalvm.compiler.options.OptionValues; |
27 import org.graalvm.compiler.phases.PhaseSuite; |
|
28 import org.graalvm.compiler.phases.tiers.HighTierContext; |
29 import org.graalvm.compiler.replacements.ReplacementsImpl; |
29 import org.graalvm.compiler.replacements.ReplacementsImpl; |
30 import org.graalvm.compiler.replacements.classfile.ClassfileBytecodeProvider; |
30 import org.graalvm.compiler.replacements.classfile.ClassfileBytecodeProvider; |
31 |
|
32 import jdk.vm.ci.meta.ResolvedJavaMethod; |
|
33 |
31 |
34 public abstract class SnippetsTest extends ReplacementsTest { |
32 public abstract class SnippetsTest extends ReplacementsTest { |
35 |
33 |
36 protected final ReplacementsImpl installer; |
34 protected final ReplacementsImpl installer; |
37 protected final ClassfileBytecodeProvider bytecodeProvider; |
35 protected final ClassfileBytecodeProvider bytecodeProvider; |
38 |
36 |
39 protected SnippetsTest() { |
37 protected SnippetsTest() { |
40 ReplacementsImpl d = (ReplacementsImpl) getReplacements(); |
38 ReplacementsImpl d = (ReplacementsImpl) getReplacements(); |
41 bytecodeProvider = getSystemClassLoaderBytecodeProvider(); |
39 bytecodeProvider = getSystemClassLoaderBytecodeProvider(); |
42 installer = new ReplacementsImpl(getInitialOptions(), d.providers, d.snippetReflection, bytecodeProvider, d.target); |
40 installer = new ReplacementsImpl(getInitialOptions(), null, d.providers, d.snippetReflection, bytecodeProvider, d.target); |
43 installer.setGraphBuilderPlugins(d.getGraphBuilderPlugins()); |
41 installer.setGraphBuilderPlugins(d.getGraphBuilderPlugins()); |
44 } |
42 } |
45 |
43 |
46 @Override |
44 @Override |
47 protected StructuredGraph parseEager(ResolvedJavaMethod m, AllowAssumptions allowAssumptions, CompilationIdentifier compilationId, OptionValues options) { |
45 protected StructuredGraph parse(Builder builder, PhaseSuite<HighTierContext> graphBuilderSuite) { |
48 return installer.makeGraph(bytecodeProvider, m, null, null); |
46 return installer.makeGraph(getDebugContext(), bytecodeProvider, builder.getMethod(), null, null); |
49 } |
47 } |
50 } |
48 } |