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