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,
BitSet nonNullParameters,
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, getWordKind, isSnippet, makeGraph, makeGraph, notifyNotInlined, openDebugContext, openSnippetDebugContext, openSnippetDebugContext, registerConditionalPlugin, registerMethodSubstitution, registerSnippetTemplateCache, setProviders, shouldInlineInvokeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpublic 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.ReplacementsImplpublic org.graalvm.compiler.nodes.StructuredGraph getSnippet(jdk.vm.ci.meta.ResolvedJavaMethod method,
jdk.vm.ci.meta.ResolvedJavaMethod recursiveEntry,
Object[] args,
BitSet nonNullParameters,
boolean trackNodeSourcePosition,
org.graalvm.compiler.graph.NodeSourcePosition replaceePosition,
org.graalvm.compiler.options.OptionValues options)
getSnippet in interface org.graalvm.compiler.nodes.spi.ReplacementsgetSnippet in class org.graalvm.compiler.replacements.ReplacementsImplpublic 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.ReplacementsregisterSnippet in class org.graalvm.compiler.replacements.ReplacementsImplpublic 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.ReplacementsImplpublic boolean hasSubstitution(jdk.vm.ci.meta.ResolvedJavaMethod method)
hasSubstitution in interface org.graalvm.compiler.nodes.spi.ReplacementshasSubstitution in class org.graalvm.compiler.replacements.ReplacementsImplpublic 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.ReplacementsgetInlineSubstitution in class org.graalvm.compiler.replacements.ReplacementsImplpublic 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.ReplacementsgetIntrinsicGraph in class org.graalvm.compiler.replacements.ReplacementsImplprotected 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.ReplacementsImplpublic <T> T getInjectedArgument(Class<T> capability)
getInjectedArgument in interface org.graalvm.compiler.nodes.graphbuilderconf.GeneratedPluginInjectionProvidergetInjectedArgument in class org.graalvm.compiler.replacements.ReplacementsImplpublic org.graalvm.compiler.core.common.type.Stamp getInjectedStamp(Class<?> type, boolean nonNull)
getInjectedStamp in interface org.graalvm.compiler.nodes.graphbuilderconf.GeneratedPluginInjectionProvidergetInjectedStamp in class org.graalvm.compiler.replacements.ReplacementsImpl