public class BranchWrapper
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private BranchHandle |
m_branchHandle
Actual wrapped instruction handle.
|
private java.lang.Object |
m_sourceObject
Object that generated branch.
|
private java.lang.Throwable |
m_sourceTrace
Code generation backtrace for source of branch.
|
private java.lang.String[] |
m_stackTypes
Stack state for branch origin.
|
private static boolean |
s_errorOverride
Continue on after code generation error flag.
|
private static boolean |
s_trackSource
Track source code location for generated branches.
|
| Constructor and Description |
|---|
BranchWrapper(BranchHandle hand,
java.lang.String[] types,
java.lang.Object src)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
private java.lang.String |
buildReport(java.lang.String text,
java.lang.String[] types,
MethodBuilder mb)
Report branch target error.
|
private java.lang.String |
describeStack(java.lang.String[] types)
Generate description of stack state.
|
(package private) java.lang.String[] |
getStackState()
Get branch origin stack state information.
|
static void |
setErrorOverride(boolean over)
Set target setting error override state.
|
void |
setTarget(BranchTarget target,
MethodBuilder mb)
Set target instruction for branch.
|
(package private) void |
setTarget(InstructionHandle hand,
java.lang.String[] types,
MethodBuilder mb)
Set target instruction for branch.
|
static void |
setTracking(boolean track)
Set branch code generation tracking state.
|
private static boolean s_trackSource
private static boolean s_errorOverride
private final BranchHandle m_branchHandle
private final java.lang.String[] m_stackTypes
private final java.lang.Object m_sourceObject
private final java.lang.Throwable m_sourceTrace
BranchWrapper(BranchHandle hand,
java.lang.String[] types,
java.lang.Object src)
hand - branch handletypes - array of types of values on stacksrc - object responsible for generating branchjava.lang.String[] getStackState()
private java.lang.String describeStack(java.lang.String[] types)
types - array of types on stackprivate java.lang.String buildReport(java.lang.String text,
java.lang.String[] types,
MethodBuilder mb)
text - basic error message texttypes - stack state descriptionmb - method builder using this codevoid setTarget(InstructionHandle hand,
java.lang.String[] types,
MethodBuilder mb)
hand - target branch instruction handletypes - stack state descriptionmb - method builder using this codepublic void setTarget(BranchTarget target, MethodBuilder mb)
target - branch target wrappermb - method builder using this codepublic static void setTracking(boolean track)
track - true to enable branch code generation tracking,
false to disable itpublic static void setErrorOverride(boolean over)
over - true to override exception on target error,
false to allow it