private class PartialEvaluator.PEInlineInvokePlugin extends Object implements InlineInvokePlugin
InlineInvokePlugin.InlineInfo| Modifier and Type | Field and Description |
|---|---|
private Deque<TruffleInlining> |
inlining |
private OptimizedDirectCallNode |
lastDirectCallNode |
private ReplacementsImpl |
replacements |
| Constructor and Description |
|---|
PEInlineInvokePlugin(TruffleInlining inlining,
ReplacementsImpl replacements) |
| Modifier and Type | Method and Description |
|---|---|
void |
notifyAfterInline(ResolvedJavaMethod inlinedTargetMethod)
Notification that a method was inlined.
|
InlineInvokePlugin.InlineInfo |
shouldInlineInvoke(GraphBuilderContext builder,
ResolvedJavaMethod original,
ValueNode[] arguments,
JavaType returnType)
Determines whether a call to a given method is to be inlined.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitnotifyBeforeInline, notifyNotInlinedprivate Deque<TruffleInlining> inlining
private OptimizedDirectCallNode lastDirectCallNode
private final ReplacementsImpl replacements
public PEInlineInvokePlugin(TruffleInlining inlining, ReplacementsImpl replacements)
public InlineInvokePlugin.InlineInfo shouldInlineInvoke(GraphBuilderContext builder, ResolvedJavaMethod original, ValueNode[] arguments, JavaType returnType)
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 invokereturnType - the return type derived from method's signaturepublic void notifyAfterInline(ResolvedJavaMethod inlinedTargetMethod)
InlineInvokePluginnotifyAfterInline in interface InlineInvokePlugininlinedTargetMethod - the inlined method