private class PartialEvaluator.ParsingInlineInvokePlugin extends Object implements InlineInvokePlugin
InlineInvokePlugin.InlineInfo
Modifier and Type | Field and Description |
---|---|
private InvocationPlugins |
invocationPlugins |
private LoopExplosionPlugin |
loopExplosionPlugin |
private ReplacementsImpl |
replacements |
Constructor and Description |
---|
ParsingInlineInvokePlugin(ReplacementsImpl replacements,
InvocationPlugins invocationPlugins,
LoopExplosionPlugin loopExplosionPlugin) |
Modifier and Type | Method and Description |
---|---|
private boolean |
hasMethodHandleArgument(ValueNode[] arguments) |
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, wait
notifyAfterInline, notifyBeforeInline, notifyNotInlined
private final ReplacementsImpl replacements
private final InvocationPlugins invocationPlugins
private final LoopExplosionPlugin loopExplosionPlugin
public ParsingInlineInvokePlugin(ReplacementsImpl replacements, InvocationPlugins invocationPlugins, LoopExplosionPlugin loopExplosionPlugin)
private boolean hasMethodHandleArgument(ValueNode[] arguments)
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 InlineInvokePlugin
builder
- the contextoriginal
- the target method of an invokearguments
- the arguments to the invokereturnType
- the return type derived from method
's signature