public class TypeGuardInlineInfo extends AbstractInlineInfo
Modifier and Type | Field and Description |
---|---|
private ResolvedJavaMethod |
concrete |
private Inlineable |
inlineableElement |
private ResolvedJavaType |
type |
invoke
Constructor and Description |
---|
TypeGuardInlineInfo(Invoke invoke,
ResolvedJavaMethod concrete,
ResolvedJavaType type) |
Modifier and Type | Method and Description |
---|---|
private void |
createGuard(StructuredGraph graph,
Providers providers) |
Collection<Node> |
inline(Providers providers)
Performs the inlining described by this object and returns the node that represents the
return value of the inlined method (or null for void methods and methods that have no
non-exceptional exit).
|
Inlineable |
inlineableElementAt(int index) |
ResolvedJavaMethod |
methodAt(int index) |
int |
numberOfMethods()
Returns the number of methods that may be inlined by the
invocation . |
double |
probabilityAt(int index) |
double |
relevanceAt(int index) |
void |
setInlinableElement(int index,
Inlineable inlineableElement) |
boolean |
shouldInline() |
String |
toString() |
void |
tryToDevirtualizeInvoke(Providers providers)
Try to make the call static bindable to avoid interface and virtual method calls.
|
determineNodeCount, getInlinedParameterUsages, graph, inline, invoke, populateInlinableElements
private final ResolvedJavaMethod concrete
private final ResolvedJavaType type
private Inlineable inlineableElement
public TypeGuardInlineInfo(Invoke invoke, ResolvedJavaMethod concrete, ResolvedJavaType type)
public int numberOfMethods()
InlineInfo
invocation
. This
may be more than one in the case of a invocation profile showing a number of "hot" concrete
methods dispatched to by the invocation.public ResolvedJavaMethod methodAt(int index)
public Inlineable inlineableElementAt(int index)
public double probabilityAt(int index)
public double relevanceAt(int index)
public void setInlinableElement(int index, Inlineable inlineableElement)
public Collection<Node> inline(Providers providers)
InlineInfo
public void tryToDevirtualizeInvoke(Providers providers)
InlineInfo
private void createGuard(StructuredGraph graph, Providers providers)
public boolean shouldInline()