Package | Description |
---|---|
org.jikesrvm.compilers.opt.bc2ir |
Provides classes that implement the transformation from bytecode to the
high-level intermediate representation (HIR).
|
Modifier and Type | Field and Description |
---|---|
private OperandStack |
BC2IR.stack
Current simulated stack state.
|
(package private) OperandStack |
BasicBlockLE.stackState
State of the stack at the start of this basic block.
|
Modifier and Type | Method and Description |
---|---|
(package private) OperandStack |
OperandStack.createEmptyOperandStackWithSameCapacity()
Returns a new, empty operand stack that has the same capacity
as this one.
|
(package private) OperandStack |
OperandStack.deepCopy()
Returns a deep copy of the stack.
|
Modifier and Type | Method and Description |
---|---|
private BasicBlockLE |
BBSet.condCreateAndInit(BasicBlockLE x,
boolean shouldCreate,
int target,
BasicBlockLE from,
OperandStack simStack,
Operand[] simLocals,
boolean left)
Conditionally create a block at the specified target as a child of x.
|
private BasicBlockLE |
BBSet.getOrCreateBlock(BasicBlockLE x,
boolean shouldCreate,
int target,
BasicBlockLE from,
OperandStack simStack,
Operand[] simLocals)
Get or create a block at the specified target.
|
(package private) BasicBlockLE |
BBSet.getOrCreateBlock(int target,
BasicBlockLE from,
OperandStack simStack,
Operand[] simLocals)
Get or create a block at the specified target.
|
private BasicBlockLE |
BC2IR.getOrCreateBlock(int target,
BasicBlockLE from,
OperandStack simStack,
Operand[] simLocals)
Get or create a block at the specified target.
|
private boolean |
BBSet.matchingJSRcontext(OperandStack simStack,
Operand[] simLocals,
BasicBlockLE candBBLE)
We specialize basic blocks with respect to the return addresses
they have on their expression stack and/or in their local variables
on entry to the block.
|
(package private) void |
BBSet.rectifyStacks(BasicBlock block,
OperandStack stack,
BasicBlockLE p)
Rectify the given stack state with the state contained in the given
BBLE, adding the necessary move instructions to the end of the given
basic block to make register numbers agree and rectify mis-matched constants.
|