< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/Replacements.java

Print this page
rev 52509 : [mq]: graal2

@@ -26,10 +26,12 @@
 
 import org.graalvm.compiler.api.replacements.MethodSubstitution;
 import org.graalvm.compiler.api.replacements.SnippetTemplateCache;
 import org.graalvm.compiler.bytecode.Bytecode;
 import org.graalvm.compiler.bytecode.BytecodeProvider;
+import org.graalvm.compiler.core.common.CompilationIdentifier;
+import org.graalvm.compiler.debug.DebugContext;
 import org.graalvm.compiler.graph.NodeSourcePosition;
 import org.graalvm.compiler.nodes.StructuredGraph;
 import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration;
 import org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin;
 import org.graalvm.compiler.options.OptionValues;

@@ -92,10 +94,21 @@
      *         substitute bytecode for {@code method}
      */
     Bytecode getSubstitutionBytecode(ResolvedJavaMethod method);
 
     /**
+     * Gets a graph produced from the intrinsic for a given method that can be compiled and
+     * installed for the method.
+     *
+     * @param method
+     * @param compilationId
+     * @param debug
+     * @return an intrinsic graph that can be compiled and installed for {@code method} or null
+     */
+    StructuredGraph getIntrinsicGraph(ResolvedJavaMethod method, CompilationIdentifier compilationId, DebugContext debug);
+
+    /**
      * Determines if there may be a
      * {@linkplain #getSubstitution(ResolvedJavaMethod, int, boolean, NodeSourcePosition)
      * substitution graph} for a given method.
      *
      * A call to {@link #getSubstitution} may still return {@code null} for {@code method} and
< prev index next >