public static final class InlineInvokePlugin.InlineInfo extends Object
inlining decision.| Modifier and Type | Field and Description |
|---|---|
static InlineInvokePlugin.InlineInfo |
DO_NOT_INLINE_DEOPTIMIZE_ON_EXCEPTION
Denotes a call site must not be inlined and the execution should be transferred to
interpreter in case of an exception.
|
static InlineInvokePlugin.InlineInfo |
DO_NOT_INLINE_NO_EXCEPTION
Denotes a call site must not be inlined and can be implemented by a node that speculates
the call will not throw an exception.
|
static InlineInvokePlugin.InlineInfo |
DO_NOT_INLINE_WITH_EXCEPTION
Denotes a call site that must not be inlined and should be implemented by a node that
does not speculate on the call not raising an exception.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
allowsInlining() |
static InlineInvokePlugin.InlineInfo |
createIntrinsicInlineInfo(ResolvedJavaMethod methodToInline,
BytecodeProvider intrinsicBytecodeProvider) |
static InlineInvokePlugin.InlineInfo |
createStandardInlineInfo(ResolvedJavaMethod methodToInline) |
BytecodeProvider |
getIntrinsicBytecodeProvider()
Returns a provider for the bytecode that should be used in the intrinsic inlining.
|
ResolvedJavaMethod |
getMethodToInline()
Returns the method to be inlined, or
null if the call site must not be inlined. |
public static final InlineInvokePlugin.InlineInfo DO_NOT_INLINE_WITH_EXCEPTION
public static final InlineInvokePlugin.InlineInfo DO_NOT_INLINE_NO_EXCEPTION
public static final InlineInvokePlugin.InlineInfo DO_NOT_INLINE_DEOPTIMIZE_ON_EXCEPTION
public static InlineInvokePlugin.InlineInfo createStandardInlineInfo(ResolvedJavaMethod methodToInline)
public static InlineInvokePlugin.InlineInfo createIntrinsicInlineInfo(ResolvedJavaMethod methodToInline, BytecodeProvider intrinsicBytecodeProvider)
public ResolvedJavaMethod getMethodToInline()
null if the call site must not be inlined.public boolean allowsInlining()
public BytecodeProvider getIntrinsicBytecodeProvider()
InlineInvokePlugin.InlineInfo.getMethodToInline().BytecodeProvider if the method to inline should be
intrinsified, or null if this is not an intrinsic inlining.