public final class PEAgnosticInlineInvokePlugin extends Object implements InlineInvokePlugin
InlineInvokePlugin.InlineInfo| Constructor and Description |
|---|
PEAgnosticInlineInvokePlugin(TruffleInliningData truffleInliningData,
PartialEvaluator partialEvaluator) |
| Modifier and Type | Method and Description |
|---|---|
List<Invoke> |
getIndirectInvokes() |
org.graalvm.collections.EconomicMap<Invoke,TruffleCallNode> |
getInvokeToTruffleCallNode() |
void |
notifyNotInlined(GraphBuilderContext b,
ResolvedJavaMethod original,
Invoke invoke)
Notifies this plugin of the
Invoke node created for a method that was not inlined per
InlineInvokePlugin.shouldInlineInvoke(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]). |
InlineInvokePlugin.InlineInfo |
shouldInlineInvoke(GraphBuilderContext builder,
ResolvedJavaMethod original,
ValueNode[] arguments)
Determines whether a call to a given method is to be inlined.
|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitnotifyAfterInline, notifyBeforeInlinepublic PEAgnosticInlineInvokePlugin(TruffleInliningData truffleInliningData, PartialEvaluator partialEvaluator)
public InlineInvokePlugin.InlineInfo shouldInlineInvoke(GraphBuilderContext builder, ResolvedJavaMethod original, ValueNode[] arguments)
InlineInvokePlugin
Non-null return value with a non-null method: That
method is inlined. Note that it can be a different
method than the one specified here as the parameter, which allows method substitutions.
Non-null return value with a null method, e.g.,
InlineInvokePlugin.InlineInfo.DO_NOT_INLINE_WITH_EXCEPTION: The method is not inlined, and other plugins
with a lower priority cannot overwrite this decision.
Null return value: This plugin made no decision, other plugins with a lower priority are asked.
shouldInlineInvoke in interface InlineInvokePluginbuilder - the contextoriginal - the target method of an invokearguments - the arguments to the invokepublic void notifyNotInlined(GraphBuilderContext b, ResolvedJavaMethod original, Invoke invoke)
InlineInvokePluginInvoke node created for a method that was not inlined per
InlineInvokePlugin.shouldInlineInvoke(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]).notifyNotInlined in interface InlineInvokePluginb - the contextoriginal - the method that was not inlinedinvoke - the invoke node created for the call to methodpublic org.graalvm.collections.EconomicMap<Invoke,TruffleCallNode> getInvokeToTruffleCallNode()