Package | Description |
---|---|
org.jikesrvm.compilers.opt.bc2ir |
Provides classes that implement the transformation from bytecode to the
high-level intermediate representation (HIR).
|
org.jikesrvm.compilers.opt.hir2lir | |
org.jikesrvm.compilers.opt.ir | |
org.jikesrvm.compilers.opt.ir.operand | |
org.jikesrvm.compilers.opt.ssa |
SSA implementation (disabled because of bugs, see entry in issue tracker).
|
Modifier and Type | Field and Description |
---|---|
private TypeOperand[] |
BBSet.exceptionTypes
Type of exception handled by each exception handler range.
|
Modifier and Type | Method and Description |
---|---|
private TypeOperand |
BC2IR.makeTypeOperand(RVMType type)
Make a type operand that refers to the given type.
|
private TypeOperand |
BC2IR.makeTypeOperand(TypeReference type)
Make a type operand that refers to the given type.
|
Modifier and Type | Method and Description |
---|---|
(package private) void |
HandlerBlockLE.addCaughtException(TypeOperand et) |
Constructor and Description |
---|
HandlerBlockLE(int loc,
InlineSequence position,
TypeOperand eType,
GenericRegisterPool temps,
int exprStackSize,
ControlFlowGraph cfg)
Create a new exception handler BBLE (and exception handler basic block)
for the specified bytecode index and exception type.
|
Modifier and Type | Method and Description |
---|---|
(package private) static Operand |
ConvertToLowLevelIR.getTIB(Instruction s,
IR ir,
TypeOperand type) |
Modifier and Type | Field and Description |
---|---|
private TypeOperand[] |
ExceptionHandlerBasicBlock.exceptionTypes
The RVMType(s) of the exception(s) caught by this block.
|
Modifier and Type | Method and Description |
---|---|
static TypeOperand |
NewArray.getClearType(Instruction i)
Get the operand called Type from the argument
instruction clearing its instruction pointer.
|
static TypeOperand |
InstanceOf.getClearType(Instruction i)
Get the operand called Type from the argument
instruction clearing its instruction pointer.
|
static TypeOperand |
TypeCheck.getClearType(Instruction i)
Get the operand called Type from the argument
instruction clearing its instruction pointer.
|
static TypeOperand |
New.getClearType(Instruction i)
Get the operand called Type from the argument
instruction clearing its instruction pointer.
|
static TypeOperand |
Multianewarray.getClearType(Instruction i)
Get the operand called Type from the argument
instruction clearing its instruction pointer.
|
static TypeOperand |
NewArray.getType(Instruction i)
Get the operand called Type from the
argument instruction.
|
static TypeOperand |
InstanceOf.getType(Instruction i)
Get the operand called Type from the
argument instruction.
|
static TypeOperand |
TypeCheck.getType(Instruction i)
Get the operand called Type from the
argument instruction.
|
static TypeOperand |
New.getType(Instruction i)
Get the operand called Type from the
argument instruction.
|
static TypeOperand |
Multianewarray.getType(Instruction i)
Get the operand called Type from the
argument instruction.
|
Modifier and Type | Method and Description |
---|---|
Enumeration<TypeOperand> |
ExceptionHandlerBasicBlock.getExceptionTypes()
This method is mainly intended for creation of exception tables during
final assembly.
|
Modifier and Type | Method and Description |
---|---|
void |
ExceptionHandlerBasicBlock.addCaughtException(TypeOperand et)
Add a new exception type to an extant exception handler block.
|
static Instruction |
TypeCheck.create(Operator o,
RegisterOperand Result,
Operand Ref,
TypeOperand Type)
Create an instruction of the TypeCheck instruction format.
|
static Instruction |
TypeCheck.create(Operator o,
RegisterOperand Result,
Operand Ref,
TypeOperand Type,
Operand Guard)
Create an instruction of the TypeCheck instruction format.
|
static Instruction |
New.create(Operator o,
RegisterOperand Result,
TypeOperand Type)
Create an instruction of the New instruction format.
|
static Instruction |
Multianewarray.create(Operator o,
RegisterOperand Result,
TypeOperand Type,
int numVarOps)
Create an instruction of the Multianewarray instruction format.
|
static Instruction |
NewArray.create(Operator o,
RegisterOperand Result,
TypeOperand Type,
Operand Size)
Create an instruction of the NewArray instruction format.
|
static Instruction |
InstanceOf.create(Operator o,
RegisterOperand Result,
TypeOperand Type,
Operand Ref)
Create an instruction of the InstanceOf instruction format.
|
static Instruction |
InstanceOf.create(Operator o,
RegisterOperand Result,
TypeOperand Type,
Operand Ref,
Operand Guard)
Create an instruction of the InstanceOf instruction format.
|
static Instruction |
TypeCheck.mutate(Instruction i,
Operator o,
RegisterOperand Result,
Operand Ref,
TypeOperand Type)
Mutate the argument instruction into an instruction of the
TypeCheck instruction format having the specified
operator and operands.
|
static Instruction |
TypeCheck.mutate(Instruction i,
Operator o,
RegisterOperand Result,
Operand Ref,
TypeOperand Type,
Operand Guard)
Mutate the argument instruction into an instruction of the
TypeCheck instruction format having the specified
operator and operands.
|
static Instruction |
New.mutate(Instruction i,
Operator o,
RegisterOperand Result,
TypeOperand Type)
Mutate the argument instruction into an instruction of the
New instruction format having the specified
operator and operands.
|
static Instruction |
Multianewarray.mutate(Instruction i,
Operator o,
RegisterOperand Result,
TypeOperand Type,
int numVarOps)
Mutate the argument instruction into an instruction of the
Multianewarray instruction format having the specified
operator and operands.
|
static Instruction |
NewArray.mutate(Instruction i,
Operator o,
RegisterOperand Result,
TypeOperand Type,
Operand Size)
Mutate the argument instruction into an instruction of the
NewArray instruction format having the specified
operator and operands.
|
static Instruction |
InstanceOf.mutate(Instruction i,
Operator o,
RegisterOperand Result,
TypeOperand Type,
Operand Ref)
Mutate the argument instruction into an instruction of the
InstanceOf instruction format having the specified
operator and operands.
|
static Instruction |
InstanceOf.mutate(Instruction i,
Operator o,
RegisterOperand Result,
TypeOperand Type,
Operand Ref,
Operand Guard)
Mutate the argument instruction into an instruction of the
InstanceOf instruction format having the specified
operator and operands.
|
static void |
NewArray.setType(Instruction i,
TypeOperand Type)
Set the operand called Type in the argument
instruction to the argument operand.
|
static void |
InstanceOf.setType(Instruction i,
TypeOperand Type)
Set the operand called Type in the argument
instruction to the argument operand.
|
static void |
TypeCheck.setType(Instruction i,
TypeOperand Type)
Set the operand called Type in the argument
instruction to the argument operand.
|
static void |
New.setType(Instruction i,
TypeOperand Type)
Set the operand called Type in the argument
instruction to the argument operand.
|
static void |
Multianewarray.setType(Instruction i,
TypeOperand Type)
Set the operand called Type in the argument
instruction to the argument operand.
|
Constructor and Description |
---|
ExceptionHandlerBasicBlock(int loc,
InlineSequence position,
TypeOperand type,
ControlFlowGraph cfg)
Creates a new exception handler basic block at the specified location,
which catches the specified type of exception.
|
Modifier and Type | Method and Description |
---|---|
TypeOperand |
Operand.asType()
Cast to an
TypeOperand . |
Modifier and Type | Method and Description |
---|---|
private ValueGraphVertex |
ValueGraph.findOrCreateVertex(TypeOperand op)
Find or create an ValueGraphVertex corresponding to a
given type operand
|