public class ExactInlineInfo extends AbstractInlineInfo
Modifier and Type | Field and Description |
---|---|
protected ResolvedJavaMethod |
concrete |
private Inlineable |
inlineableElement |
private boolean |
suppressNullCheck |
invoke
Constructor and Description |
---|
ExactInlineInfo(Invoke invoke,
ResolvedJavaMethod concrete) |
Modifier and Type | Method and Description |
---|---|
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() |
void |
suppressNullCheck() |
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
protected final ResolvedJavaMethod concrete
private Inlineable inlineableElement
private boolean suppressNullCheck
public ExactInlineInfo(Invoke invoke, ResolvedJavaMethod concrete)
public void suppressNullCheck()
public Collection<Node> inline(Providers providers)
InlineInfo
public void tryToDevirtualizeInvoke(Providers providers)
InlineInfo
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 double probabilityAt(int index)
public double relevanceAt(int index)
public Inlineable inlineableElementAt(int index)
public void setInlinableElement(int index, Inlineable inlineableElement)
public boolean shouldInline()