public class InlineBeforeAnalysisGraphDecoder
extends org.graalvm.compiler.replacements.PEGraphDecoder
| Modifier and Type | Class and Description |
|---|---|
class |
InlineBeforeAnalysisGraphDecoder.InlineBeforeAnalysisMethodScope |
org.graalvm.compiler.replacements.PEGraphDecoder.ExceptionPlaceholderNode, org.graalvm.compiler.replacements.PEGraphDecoder.Options, org.graalvm.compiler.replacements.PEGraphDecoder.PEAppendGraphBuilderContext, org.graalvm.compiler.replacements.PEGraphDecoder.PEMethodScope, org.graalvm.compiler.replacements.PEGraphDecoder.PENonAppendGraphBuilderContext, org.graalvm.compiler.replacements.PEGraphDecoder.PEPluginGraphBuilderContext, org.graalvm.compiler.replacements.PEGraphDecoder.SpecialCallTargetCacheKeyorg.graalvm.compiler.nodes.SimplifyingGraphDecoder.PECanonicalizerToolorg.graalvm.compiler.nodes.GraphDecoder.InvokableData<T extends org.graalvm.compiler.nodes.Invokable>, org.graalvm.compiler.nodes.GraphDecoder.InvokeData, org.graalvm.compiler.nodes.GraphDecoder.LoopExplosionState, org.graalvm.compiler.nodes.GraphDecoder.LoopScope, org.graalvm.compiler.nodes.GraphDecoder.LoopScopeTrigger, org.graalvm.compiler.nodes.GraphDecoder.MethodScope, org.graalvm.compiler.nodes.GraphDecoder.ProxyPlaceholder| Modifier and Type | Field and Description |
|---|---|
protected BigBang |
bb |
protected InlineBeforeAnalysisPolicy |
policy |
needsExplicitException, sourceLanguagePositionProvider| Constructor and Description |
|---|
InlineBeforeAnalysisGraphDecoder(BigBang bb,
InlineBeforeAnalysisPolicy policy,
org.graalvm.compiler.nodes.StructuredGraph graph,
HostedProviders providers,
org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin loopExplosionPlugin) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
abortInlining(InlineBeforeAnalysisGraphDecoder.InlineBeforeAnalysisMethodScope methodScope) |
protected org.graalvm.compiler.graph.Node |
addFloatingNode(org.graalvm.compiler.nodes.GraphDecoder.MethodScope methodScope,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.graph.Node node) |
protected org.graalvm.compiler.nodes.FixedWithNextNode |
afterMethodScopeCreation(org.graalvm.compiler.replacements.PEGraphDecoder.PEMethodScope is,
org.graalvm.compiler.nodes.FixedWithNextNode predecessor) |
protected org.graalvm.compiler.graph.Node |
canonicalizeFixedNode(org.graalvm.compiler.nodes.GraphDecoder.MethodScope methodScope,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.graph.Node node) |
protected InlineBeforeAnalysisGraphDecoder.InlineBeforeAnalysisMethodScope |
cast(org.graalvm.compiler.nodes.GraphDecoder.MethodScope methodScope)
The generic type of
InlineBeforeAnalysisPolicy makes the policy implementation nice,
at the cost of this ugly cast. |
protected void |
cleanupGraph(org.graalvm.compiler.nodes.GraphDecoder.MethodScope ms) |
protected org.graalvm.compiler.replacements.PEGraphDecoder.PEMethodScope |
createMethodScope(org.graalvm.compiler.nodes.StructuredGraph targetGraph,
org.graalvm.compiler.replacements.PEGraphDecoder.PEMethodScope caller,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope callerLoopScope,
org.graalvm.compiler.nodes.EncodedGraph encodedGraph,
ResolvedJavaMethod method,
org.graalvm.compiler.nodes.GraphDecoder.InvokeData invokeData,
int inliningDepth,
org.graalvm.compiler.nodes.ValueNode[] arguments) |
protected org.graalvm.compiler.graph.Node |
doCanonicalizeFixedNode(InlineBeforeAnalysisGraphDecoder.InlineBeforeAnalysisMethodScope methodScope,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.graph.Node node) |
protected void |
finishInlining(org.graalvm.compiler.nodes.GraphDecoder.MethodScope is) |
protected org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin |
getInvocationPlugin(ResolvedJavaMethod targetMethod) |
protected org.graalvm.compiler.graph.Node |
handleFloatingNodeAfterAdd(org.graalvm.compiler.nodes.GraphDecoder.MethodScope s,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.graph.Node node) |
protected org.graalvm.compiler.nodes.GraphDecoder.LoopScope |
handleMethodHandle(org.graalvm.compiler.nodes.GraphDecoder.MethodScope s,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.nodes.GraphDecoder.InvokableData<org.graalvm.compiler.replacements.nodes.MethodHandleWithExceptionNode> invokableData) |
protected void |
handleNonInlinedInvoke(org.graalvm.compiler.nodes.GraphDecoder.MethodScope methodScope,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.nodes.GraphDecoder.InvokeData invokeData) |
protected org.graalvm.compiler.nodes.EncodedGraph |
lookupEncodedGraph(ResolvedJavaMethod method,
org.graalvm.compiler.bytecode.BytecodeProvider intrinsicBytecodeProvider) |
protected void |
maybeAbortInlining(org.graalvm.compiler.nodes.GraphDecoder.MethodScope ms,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.graph.Node node) |
protected org.graalvm.compiler.nodes.GraphDecoder.LoopScope |
processNextNode(org.graalvm.compiler.nodes.GraphDecoder.MethodScope ms,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope) |
protected void |
recordGraphElements(org.graalvm.compiler.nodes.EncodedGraph encodedGraph) |
protected boolean |
shouldOmitIntermediateMethodInStates(ResolvedJavaMethod method) |
afterMethodScope, checkLoopExplosionIteration, decode, doInline, ensureExceptionStateDecoded, ensureOuterStateDecoded, ensureStateAfterDecoded, getIntrinsic, handleFloatingNodeBeforeAdd, handleInvoke, handleInvokeWithCallTarget, loopExplosionKind, nodeAfterInvoke, pluginReplacementMustSucceed, tryInline, tryInvocationPlugin, trySimplifyCallTarget, trySimplifyInvokeallowLazyPhis, earlyCanonicalization, handleFixedNode, handleMergeNodeappendInvoke, createInitialLoopScope, decode, decode, decode, decodeFloatingNode, ensureNodeCreated, getNodeClass, handleLoopExplosionBegin, handleLoopExplosionEnd, handleLoopExplosionProxyNodes, handlePhiFunctions, handleProxyNodes, lookupNode, makeFixedNodeInputs, makeFloatingNodeInputs, makeStubNode, makeSuccessorStubs, readInvokableData, readInvokeData, readObject, readOrderId, readProperties, registerNode, skipDirectEdge, verifyEdgesprotected final BigBang bb
protected final InlineBeforeAnalysisPolicy policy
public InlineBeforeAnalysisGraphDecoder(BigBang bb, InlineBeforeAnalysisPolicy policy, org.graalvm.compiler.nodes.StructuredGraph graph, HostedProviders providers, org.graalvm.compiler.nodes.graphbuilderconf.LoopExplosionPlugin loopExplosionPlugin)
protected org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin getInvocationPlugin(ResolvedJavaMethod targetMethod)
getInvocationPlugin in class org.graalvm.compiler.replacements.PEGraphDecoderprotected void cleanupGraph(org.graalvm.compiler.nodes.GraphDecoder.MethodScope ms)
cleanupGraph in class org.graalvm.compiler.replacements.PEGraphDecoderprotected org.graalvm.compiler.replacements.PEGraphDecoder.PEMethodScope createMethodScope(org.graalvm.compiler.nodes.StructuredGraph targetGraph,
org.graalvm.compiler.replacements.PEGraphDecoder.PEMethodScope caller,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope callerLoopScope,
org.graalvm.compiler.nodes.EncodedGraph encodedGraph,
ResolvedJavaMethod method,
org.graalvm.compiler.nodes.GraphDecoder.InvokeData invokeData,
int inliningDepth,
org.graalvm.compiler.nodes.ValueNode[] arguments)
createMethodScope in class org.graalvm.compiler.replacements.PEGraphDecoderprotected org.graalvm.compiler.nodes.EncodedGraph lookupEncodedGraph(ResolvedJavaMethod method,
org.graalvm.compiler.bytecode.BytecodeProvider intrinsicBytecodeProvider)
lookupEncodedGraph in class org.graalvm.compiler.replacements.PEGraphDecoderprotected org.graalvm.compiler.graph.Node addFloatingNode(org.graalvm.compiler.nodes.GraphDecoder.MethodScope methodScope,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.graph.Node node)
addFloatingNode in class org.graalvm.compiler.nodes.SimplifyingGraphDecoderprotected final org.graalvm.compiler.graph.Node canonicalizeFixedNode(org.graalvm.compiler.nodes.GraphDecoder.MethodScope methodScope,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.graph.Node node)
canonicalizeFixedNode in class org.graalvm.compiler.replacements.PEGraphDecoderprotected boolean shouldOmitIntermediateMethodInStates(ResolvedJavaMethod method)
shouldOmitIntermediateMethodInStates in class org.graalvm.compiler.replacements.PEGraphDecoderprotected org.graalvm.compiler.graph.Node doCanonicalizeFixedNode(InlineBeforeAnalysisGraphDecoder.InlineBeforeAnalysisMethodScope methodScope, org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope, org.graalvm.compiler.graph.Node node)
protected org.graalvm.compiler.graph.Node handleFloatingNodeAfterAdd(org.graalvm.compiler.nodes.GraphDecoder.MethodScope s,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.graph.Node node)
handleFloatingNodeAfterAdd in class org.graalvm.compiler.replacements.PEGraphDecoderprotected void handleNonInlinedInvoke(org.graalvm.compiler.nodes.GraphDecoder.MethodScope methodScope,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.nodes.GraphDecoder.InvokeData invokeData)
handleNonInlinedInvoke in class org.graalvm.compiler.replacements.PEGraphDecoderprotected void maybeAbortInlining(org.graalvm.compiler.nodes.GraphDecoder.MethodScope ms,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.graph.Node node)
protected void abortInlining(InlineBeforeAnalysisGraphDecoder.InlineBeforeAnalysisMethodScope methodScope)
protected org.graalvm.compiler.nodes.GraphDecoder.LoopScope processNextNode(org.graalvm.compiler.nodes.GraphDecoder.MethodScope ms,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope)
processNextNode in class org.graalvm.compiler.nodes.GraphDecoderprotected org.graalvm.compiler.nodes.GraphDecoder.LoopScope handleMethodHandle(org.graalvm.compiler.nodes.GraphDecoder.MethodScope s,
org.graalvm.compiler.nodes.GraphDecoder.LoopScope loopScope,
org.graalvm.compiler.nodes.GraphDecoder.InvokableData<org.graalvm.compiler.replacements.nodes.MethodHandleWithExceptionNode> invokableData)
handleMethodHandle in class org.graalvm.compiler.nodes.GraphDecoderprotected void recordGraphElements(org.graalvm.compiler.nodes.EncodedGraph encodedGraph)
recordGraphElements in class org.graalvm.compiler.nodes.GraphDecoderprotected void finishInlining(org.graalvm.compiler.nodes.GraphDecoder.MethodScope is)
finishInlining in class org.graalvm.compiler.replacements.PEGraphDecoderprotected InlineBeforeAnalysisGraphDecoder.InlineBeforeAnalysisMethodScope cast(org.graalvm.compiler.nodes.GraphDecoder.MethodScope methodScope)
InlineBeforeAnalysisPolicy makes the policy implementation nice,
at the cost of this ugly cast.protected org.graalvm.compiler.nodes.FixedWithNextNode afterMethodScopeCreation(org.graalvm.compiler.replacements.PEGraphDecoder.PEMethodScope is,
org.graalvm.compiler.nodes.FixedWithNextNode predecessor)
afterMethodScopeCreation in class org.graalvm.compiler.replacements.PEGraphDecoder