|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.compilers.opt.inlining.InlineDecision
public final class InlineDecision
Instances of this class represent decisions to inline.
Nested Class Summary | |
---|---|
private static class |
InlineDecision.Code
|
Field Summary | |
---|---|
private InlineDecision.Code |
code
Holds characterization of this decision. |
private byte[] |
guards
The set of guards to use (only valid when code == GUARDED_YES) |
private String |
rationale
Rationale for this decision |
private RVMMethod[] |
targets
The set of methods to inline. |
private boolean |
testFailedOSR
Should the test-failed block be replaced with an OSR point? |
Constructor Summary | |
---|---|
private |
InlineDecision(RVMMethod[] targets,
byte[] guards,
InlineDecision.Code code,
String reason)
|
Method Summary | |
---|---|
byte[] |
getGuards()
Return the guards to use according to this decision. |
int |
getNumberOfTargets()
Return the number methods to inline. |
RVMMethod[] |
getTargets()
Return the methods to inline according to this decision. |
static InlineDecision |
guardedYES(RVMMethod[] targets,
byte[] guards,
String reason)
Return a decision YES to do a guarded inline. |
static InlineDecision |
guardedYES(RVMMethod target,
byte guard,
String reason)
Return a decision YES to do a guarded inline. |
boolean |
isNO()
Is this inline decision a NO? |
boolean |
isYES()
Is this inline decision a YES? |
boolean |
needsGuard()
Does this inline site need a guard? |
static InlineDecision |
NO(RVMMethod target,
String reason)
Return a decision NOT to inline. |
static InlineDecision |
NO(String reason)
Return a decision NOT to inline. |
boolean |
OSRTestFailed()
|
void |
setOSRTestFailed()
|
String |
toString()
|
static InlineDecision |
YES(RVMMethod target,
String reason)
Return a decision to inline without a guard. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private final String rationale
private final InlineDecision.Code code
private final RVMMethod[] targets
private final byte[] guards
private boolean testFailedOSR
Constructor Detail |
---|
private InlineDecision(RVMMethod[] targets, byte[] guards, InlineDecision.Code code, String reason)
targets
- The methods to inlinecode
- the decision codereason
- a string rationaleMethod Detail |
---|
public static InlineDecision NO(RVMMethod target, String reason)
target
- the method that is not being inlined.reason
- a rationale for not inlining
public static InlineDecision NO(String reason)
reason
- a rationale for not inlining
public static InlineDecision YES(RVMMethod target, String reason)
target
- the method to inlinereason
- a rationale for inlining
public static InlineDecision guardedYES(RVMMethod target, byte guard, String reason)
target
- the method to inlineguard
- the type of guard to usereason
- a rationale for inlining
public static InlineDecision guardedYES(RVMMethod[] targets, byte[] guards, String reason)
targets
- The methods to inlineguards
- the types of guard to usereason
- A rationale for inlining
public boolean isYES()
public boolean isNO()
public boolean needsGuard()
public RVMMethod[] getTargets()
public byte[] getGuards()
public int getNumberOfTargets()
public void setOSRTestFailed()
public boolean OSRTestFailed()
public String toString()
toString
in class Object
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |