public class SubstrateReplacements
extends org.graalvm.compiler.replacements.ReplacementsImpl
Modifier and Type | Class and Description |
---|---|
protected static class |
SubstrateReplacements.Builder |
static interface |
SubstrateReplacements.GraphMakerFactory |
protected class |
SubstrateReplacements.SnippetInlineInvokePlugin |
Constructor and Description |
---|
SubstrateReplacements(org.graalvm.compiler.phases.util.Providers providers,
org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection,
org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider,
jdk.vm.ci.code.TargetDescription target,
org.graalvm.compiler.word.WordTypes wordTypes,
SubstrateReplacements.GraphMakerFactory graphMakerFactory) |
Modifier and Type | Method and Description |
---|---|
protected void |
copyFrom(SubstrateReplacements copyFrom,
Function<Object,Object> objectReplacer) |
protected org.graalvm.compiler.replacements.ReplacementsImpl.GraphMaker |
createGraphMaker(jdk.vm.ci.meta.ResolvedJavaMethod substitute,
jdk.vm.ci.meta.ResolvedJavaMethod substitutedMethod) |
void |
encodeSnippets() |
Set<jdk.vm.ci.meta.ResolvedJavaMethod> |
getDelayedInvocationPluginMethods() |
<T> T |
getInjectedArgument(Class<T> capability) |
org.graalvm.compiler.core.common.type.Stamp |
getInjectedStamp(Class<?> type,
boolean nonNull) |
org.graalvm.compiler.nodes.StructuredGraph |
getInlineSubstitution(jdk.vm.ci.meta.ResolvedJavaMethod original,
int invokeBci,
org.graalvm.compiler.nodes.Invoke.InlineControl inlineControl,
boolean trackNodeSourcePosition,
org.graalvm.compiler.graph.NodeSourcePosition replaceePosiion,
org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions allowAssumptions,
org.graalvm.compiler.options.OptionValues options) |
org.graalvm.compiler.nodes.StructuredGraph |
getIntrinsicGraph(jdk.vm.ci.meta.ResolvedJavaMethod method,
org.graalvm.compiler.core.common.CompilationIdentifier compilationId,
org.graalvm.compiler.debug.DebugContext debug,
org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions allowAssumptions,
org.graalvm.compiler.nodes.Cancellable cancellable) |
protected org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin |
getMethodSubstitution(jdk.vm.ci.meta.ResolvedJavaMethod method) |
org.graalvm.compiler.nodes.StructuredGraph |
getSnippet(jdk.vm.ci.meta.ResolvedJavaMethod method,
jdk.vm.ci.meta.ResolvedJavaMethod recursiveEntry,
Object[] args,
boolean trackNodeSourcePosition,
org.graalvm.compiler.graph.NodeSourcePosition replaceePosition,
org.graalvm.compiler.options.OptionValues options) |
Collection<org.graalvm.compiler.nodes.StructuredGraph> |
getSnippetGraphs(boolean trackNodeSourcePosition,
org.graalvm.compiler.options.OptionValues options) |
Collection<jdk.vm.ci.meta.ResolvedJavaMethod> |
getSnippetMethods() |
org.graalvm.compiler.graph.NodeClass<?>[] |
getSnippetNodeClasses() |
boolean |
hasSubstitution(jdk.vm.ci.meta.ResolvedJavaMethod method) |
void |
registerImmutableObjects(org.graalvm.nativeimage.hosted.Feature.CompilationAccess access) |
void |
registerSnippet(jdk.vm.ci.meta.ResolvedJavaMethod method,
jdk.vm.ci.meta.ResolvedJavaMethod original,
Object receiver,
boolean trackNodeSourcePosition,
org.graalvm.compiler.options.OptionValues options)
Compiles the snippet and stores the graph.
|
void |
setGraphBuilderPlugins(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins plugins) |
getDefaultReplacementBytecodeProvider, getGraphBuilderPlugins, getIntrinsifyingPlugin, getMethodSubstitution, getProviders, getSnippetParameterInfo, getSnippetTemplateCache, isSnippet, makeGraph, makeGraph, notifyNotInlined, openDebugContext, openSnippetDebugContext, registerConditionalPlugin, registerMethodSubstitution, registerSnippetTemplateCache, setProviders, shouldInlineInvoke
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
public SubstrateReplacements(org.graalvm.compiler.phases.util.Providers providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider snippetReflection, org.graalvm.compiler.bytecode.BytecodeProvider bytecodeProvider, jdk.vm.ci.code.TargetDescription target, org.graalvm.compiler.word.WordTypes wordTypes, SubstrateReplacements.GraphMakerFactory graphMakerFactory)
public void registerImmutableObjects(org.graalvm.nativeimage.hosted.Feature.CompilationAccess access)
public Collection<org.graalvm.compiler.nodes.StructuredGraph> getSnippetGraphs(boolean trackNodeSourcePosition, org.graalvm.compiler.options.OptionValues options)
public org.graalvm.compiler.graph.NodeClass<?>[] getSnippetNodeClasses()
public Collection<jdk.vm.ci.meta.ResolvedJavaMethod> getSnippetMethods()
public void setGraphBuilderPlugins(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.Plugins plugins)
setGraphBuilderPlugins
in class org.graalvm.compiler.replacements.ReplacementsImpl
public org.graalvm.compiler.nodes.StructuredGraph getSnippet(jdk.vm.ci.meta.ResolvedJavaMethod method, jdk.vm.ci.meta.ResolvedJavaMethod recursiveEntry, Object[] args, boolean trackNodeSourcePosition, org.graalvm.compiler.graph.NodeSourcePosition replaceePosition, org.graalvm.compiler.options.OptionValues options)
getSnippet
in interface org.graalvm.compiler.nodes.spi.Replacements
getSnippet
in class org.graalvm.compiler.replacements.ReplacementsImpl
public void registerSnippet(jdk.vm.ci.meta.ResolvedJavaMethod method, jdk.vm.ci.meta.ResolvedJavaMethod original, Object receiver, boolean trackNodeSourcePosition, org.graalvm.compiler.options.OptionValues options)
registerSnippet
in interface org.graalvm.compiler.nodes.spi.Replacements
registerSnippet
in class org.graalvm.compiler.replacements.ReplacementsImpl
public Set<jdk.vm.ci.meta.ResolvedJavaMethod> getDelayedInvocationPluginMethods()
public void encodeSnippets()
protected void copyFrom(SubstrateReplacements copyFrom, Function<Object,Object> objectReplacer)
protected org.graalvm.compiler.nodes.graphbuilderconf.MethodSubstitutionPlugin getMethodSubstitution(jdk.vm.ci.meta.ResolvedJavaMethod method)
getMethodSubstitution
in class org.graalvm.compiler.replacements.ReplacementsImpl
public boolean hasSubstitution(jdk.vm.ci.meta.ResolvedJavaMethod method)
hasSubstitution
in interface org.graalvm.compiler.nodes.spi.Replacements
hasSubstitution
in class org.graalvm.compiler.replacements.ReplacementsImpl
public org.graalvm.compiler.nodes.StructuredGraph getInlineSubstitution(jdk.vm.ci.meta.ResolvedJavaMethod original, int invokeBci, org.graalvm.compiler.nodes.Invoke.InlineControl inlineControl, boolean trackNodeSourcePosition, org.graalvm.compiler.graph.NodeSourcePosition replaceePosiion, org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions allowAssumptions, org.graalvm.compiler.options.OptionValues options)
getInlineSubstitution
in interface org.graalvm.compiler.nodes.spi.Replacements
getInlineSubstitution
in class org.graalvm.compiler.replacements.ReplacementsImpl
public org.graalvm.compiler.nodes.StructuredGraph getIntrinsicGraph(jdk.vm.ci.meta.ResolvedJavaMethod method, org.graalvm.compiler.core.common.CompilationIdentifier compilationId, org.graalvm.compiler.debug.DebugContext debug, org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions allowAssumptions, org.graalvm.compiler.nodes.Cancellable cancellable)
getIntrinsicGraph
in interface org.graalvm.compiler.nodes.spi.Replacements
getIntrinsicGraph
in class org.graalvm.compiler.replacements.ReplacementsImpl
protected final org.graalvm.compiler.replacements.ReplacementsImpl.GraphMaker createGraphMaker(jdk.vm.ci.meta.ResolvedJavaMethod substitute, jdk.vm.ci.meta.ResolvedJavaMethod substitutedMethod)
createGraphMaker
in class org.graalvm.compiler.replacements.ReplacementsImpl
public <T> T getInjectedArgument(Class<T> capability)
getInjectedArgument
in interface org.graalvm.compiler.nodes.graphbuilderconf.GeneratedPluginInjectionProvider
getInjectedArgument
in class org.graalvm.compiler.replacements.ReplacementsImpl
public org.graalvm.compiler.core.common.type.Stamp getInjectedStamp(Class<?> type, boolean nonNull)
getInjectedStamp
in interface org.graalvm.compiler.nodes.graphbuilderconf.GeneratedPluginInjectionProvider
getInjectedStamp
in class org.graalvm.compiler.replacements.ReplacementsImpl