Package | Description |
---|---|
org.jikesrvm.compilers.opt | |
org.jikesrvm.compilers.opt.bc2ir |
Provides classes that implement the transformation from bytecode to the
high-level intermediate representation (HIR).
|
org.jikesrvm.compilers.opt.depgraph |
Provides classes that implement a dependence graph.
|
org.jikesrvm.compilers.opt.hir2lir | |
org.jikesrvm.compilers.opt.ir | |
org.jikesrvm.compilers.opt.ir.operand | |
org.jikesrvm.compilers.opt.ir.ppc | |
org.jikesrvm.compilers.opt.lir2mir |
Provides classes that implement the transition from low-level IR to
machine-specific IR.
|
Modifier and Type | Field and Description |
---|---|
(package private) LocationOperand |
LocalCSE.AvailableExpression.location
location operand for memory (load/store) expressions
|
Constructor and Description |
---|
AvailableExpression(Instruction i,
Operator op,
Operand[] ops,
LocationOperand loc,
Register t) |
Modifier and Type | Method and Description |
---|---|
private LocationOperand |
BC2IR.makeInstanceFieldRef(FieldReference f) |
private LocationOperand |
BC2IR.makeStaticFieldRef(FieldReference f)
Make a field reference operand referring to the given field with the
given type.
|
private static LocationOperand |
GenerateMagic.mapToMetadata(Operand metadata) |
Modifier and Type | Method and Description |
---|---|
private LocationOperand |
DepGraph.getLocation(Instruction s)
Get the location of a given load or store instruction.
|
Modifier and Type | Method and Description |
---|---|
(package private) static RegisterOperand |
ConvertToLowLevelIR.InsertLoadOffset(Instruction s,
IR ir,
Operator operator,
TypeReference type,
Operand reg2,
Offset offset,
LocationOperand loc,
Operand guard)
Insert a load off before s in the instruction stream.
|
(package private) static RegisterOperand |
ConvertToLowLevelIR.InsertLoadOffset(Instruction s,
IR ir,
Operator operator,
TypeReference type,
Operand reg2,
Operand offset,
LocationOperand loc,
Operand guard)
Insert a load off before s in the instruction stream.
|
Modifier and Type | Method and Description |
---|---|
static LocationOperand |
PutStatic.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
Prepare.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
ALoad.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
Attempt.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
Store.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
PutField.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
Load.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
LocationCarrier.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
AStore.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
GetField.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
GetStatic.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
PutStatic.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
Prepare.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
ALoad.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
Attempt.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
Store.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
PutField.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
Load.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
LocationCarrier.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
AStore.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
GetField.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
GetStatic.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
Modifier and Type | Method and Description |
---|---|
static Instruction |
PutStatic.create(Operator o,
Operand Value,
Operand Offset,
LocationOperand Location)
Create an instruction of the PutStatic instruction format.
|
static Instruction |
Store.create(Operator o,
Operand Value,
Operand Address,
Operand Offset,
LocationOperand Location)
Create an instruction of the Store instruction format.
|
static Instruction |
Store.create(Operator o,
Operand Value,
Operand Address,
Operand Offset,
LocationOperand Location,
Operand Guard)
Create an instruction of the Store instruction format.
|
static Instruction |
PutField.create(Operator o,
Operand Value,
Operand Ref,
Operand Offset,
LocationOperand Location,
Operand Guard)
Create an instruction of the PutField instruction format.
|
static Instruction |
AStore.create(Operator o,
Operand Value,
Operand Array,
Operand Index,
LocationOperand Location,
Operand Guard)
Create an instruction of the AStore instruction format.
|
static Instruction |
GetStatic.create(Operator o,
RegisterOperand Result,
Operand Offset,
LocationOperand Location)
Create an instruction of the GetStatic instruction format.
|
static Instruction |
Prepare.create(Operator o,
RegisterOperand Result,
Operand Address,
Operand Offset,
LocationOperand Location)
Create an instruction of the Prepare instruction format.
|
static Instruction |
Load.create(Operator o,
RegisterOperand Result,
Operand Address,
Operand Offset,
LocationOperand Location)
Create an instruction of the Load instruction format.
|
static Instruction |
Prepare.create(Operator o,
RegisterOperand Result,
Operand Address,
Operand Offset,
LocationOperand Location,
Operand Guard)
Create an instruction of the Prepare instruction format.
|
static Instruction |
ALoad.create(Operator o,
RegisterOperand Result,
Operand Array,
Operand Index,
LocationOperand Location,
Operand Guard)
Create an instruction of the ALoad instruction format.
|
static Instruction |
Load.create(Operator o,
RegisterOperand Result,
Operand Address,
Operand Offset,
LocationOperand Location,
Operand Guard)
Create an instruction of the Load instruction format.
|
static Instruction |
GetField.create(Operator o,
RegisterOperand Result,
Operand Ref,
Operand Offset,
LocationOperand Location,
Operand Guard)
Create an instruction of the GetField instruction format.
|
static Instruction |
Attempt.create(Operator o,
RegisterOperand Result,
Operand Address,
Operand Offset,
Operand OldValue,
Operand NewValue,
LocationOperand Location)
Create an instruction of the Attempt instruction format.
|
static Instruction |
Attempt.create(Operator o,
RegisterOperand Result,
Operand Address,
Operand Offset,
Operand OldValue,
Operand NewValue,
LocationOperand Location,
Operand Guard)
Create an instruction of the Attempt instruction format.
|
static Instruction |
PutStatic.mutate(Instruction i,
Operator o,
Operand Value,
Operand Offset,
LocationOperand Location)
Mutate the argument instruction into an instruction of the
PutStatic instruction format having the specified
operator and operands.
|
static Instruction |
Store.mutate(Instruction i,
Operator o,
Operand Value,
Operand Address,
Operand Offset,
LocationOperand Location)
Mutate the argument instruction into an instruction of the
Store instruction format having the specified
operator and operands.
|
static Instruction |
Store.mutate(Instruction i,
Operator o,
Operand Value,
Operand Address,
Operand Offset,
LocationOperand Location,
Operand Guard)
Mutate the argument instruction into an instruction of the
Store instruction format having the specified
operator and operands.
|
static Instruction |
PutField.mutate(Instruction i,
Operator o,
Operand Value,
Operand Ref,
Operand Offset,
LocationOperand Location,
Operand Guard)
Mutate the argument instruction into an instruction of the
PutField instruction format having the specified
operator and operands.
|
static Instruction |
AStore.mutate(Instruction i,
Operator o,
Operand Value,
Operand Array,
Operand Index,
LocationOperand Location,
Operand Guard)
Mutate the argument instruction into an instruction of the
AStore instruction format having the specified
operator and operands.
|
static Instruction |
GetStatic.mutate(Instruction i,
Operator o,
RegisterOperand Result,
Operand Offset,
LocationOperand Location)
Mutate the argument instruction into an instruction of the
GetStatic instruction format having the specified
operator and operands.
|
static Instruction |
Prepare.mutate(Instruction i,
Operator o,
RegisterOperand Result,
Operand Address,
Operand Offset,
LocationOperand Location)
Mutate the argument instruction into an instruction of the
Prepare instruction format having the specified
operator and operands.
|
static Instruction |
Load.mutate(Instruction i,
Operator o,
RegisterOperand Result,
Operand Address,
Operand Offset,
LocationOperand Location)
Mutate the argument instruction into an instruction of the
Load instruction format having the specified
operator and operands.
|
static Instruction |
Prepare.mutate(Instruction i,
Operator o,
RegisterOperand Result,
Operand Address,
Operand Offset,
LocationOperand Location,
Operand Guard)
Mutate the argument instruction into an instruction of the
Prepare instruction format having the specified
operator and operands.
|
static Instruction |
ALoad.mutate(Instruction i,
Operator o,
RegisterOperand Result,
Operand Array,
Operand Index,
LocationOperand Location,
Operand Guard)
Mutate the argument instruction into an instruction of the
ALoad instruction format having the specified
operator and operands.
|
static Instruction |
Load.mutate(Instruction i,
Operator o,
RegisterOperand Result,
Operand Address,
Operand Offset,
LocationOperand Location,
Operand Guard)
Mutate the argument instruction into an instruction of the
Load instruction format having the specified
operator and operands.
|
static Instruction |
GetField.mutate(Instruction i,
Operator o,
RegisterOperand Result,
Operand Ref,
Operand Offset,
LocationOperand Location,
Operand Guard)
Mutate the argument instruction into an instruction of the
GetField instruction format having the specified
operator and operands.
|
static Instruction |
Attempt.mutate(Instruction i,
Operator o,
RegisterOperand Result,
Operand Address,
Operand Offset,
Operand OldValue,
Operand NewValue,
LocationOperand Location)
Mutate the argument instruction into an instruction of the
Attempt instruction format having the specified
operator and operands.
|
static Instruction |
Attempt.mutate(Instruction i,
Operator o,
RegisterOperand Result,
Operand Address,
Operand Offset,
Operand OldValue,
Operand NewValue,
LocationOperand Location,
Operand Guard)
Mutate the argument instruction into an instruction of the
Attempt instruction format having the specified
operator and operands.
|
static void |
PutStatic.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
Prepare.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
ALoad.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
Attempt.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
Store.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
PutField.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
Load.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
LocationCarrier.setLocation(Instruction i,
LocationOperand op)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
AStore.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
GetField.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
GetStatic.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
Modifier and Type | Field and Description |
---|---|
LocationOperand |
MemoryOperand.loc
The location operand describing this memory access
|
Modifier and Type | Method and Description |
---|---|
LocationOperand |
LocationOperand.asALengthAccess() |
LocationOperand |
LocationOperand.asArrayAccess() |
LocationOperand |
LocationOperand.asFieldAccess() |
LocationOperand |
LocationOperand.asJTOCAccess() |
LocationOperand |
Operand.asLocation()
Cast to an
LocationOperand . |
LocationOperand |
LocationOperand.asMethodAccess() |
LocationOperand |
LocationOperand.asSpillAccess() |
Modifier and Type | Method and Description |
---|---|
static MemoryOperand |
MemoryOperand.B(RegisterOperand base,
byte size,
LocationOperand loc,
Operand guard) |
static MemoryOperand |
MemoryOperand.BD(RegisterOperand base,
Offset disp,
byte size,
LocationOperand loc,
Operand guard) |
static MemoryOperand |
MemoryOperand.BI(RegisterOperand base,
RegisterOperand index,
byte size,
LocationOperand loc,
Operand guard) |
static MemoryOperand |
MemoryOperand.BID(RegisterOperand base,
RegisterOperand index,
Offset disp,
byte size,
LocationOperand loc,
Operand guard) |
static MemoryOperand |
MemoryOperand.BIS(RegisterOperand base,
RegisterOperand index,
byte scale,
byte size,
LocationOperand loc,
Operand guard) |
static MemoryOperand |
MemoryOperand.D(Address disp,
byte size,
LocationOperand loc,
Operand guard) |
static MemoryOperand |
MemoryOperand.I(RegisterOperand base,
byte size,
LocationOperand loc,
Operand guard) |
static boolean |
LocationOperand.mayBeAliased(LocationOperand op1,
LocationOperand op2)
Returns true if operands op1 and op2 may be aliased.
|
Constructor and Description |
---|
MemoryOperand(RegisterOperand base,
RegisterOperand index,
byte scale,
Offset disp,
byte size,
LocationOperand loc,
Operand guard) |
Modifier and Type | Method and Description |
---|---|
static LocationOperand |
MIR_StoreUpdate.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
MIR_Load.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
MIR_Store.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
MIR_LoadUpdate.getClearLocation(Instruction i)
Get the operand called Location from the argument
instruction clearing its instruction pointer.
|
static LocationOperand |
MIR_StoreUpdate.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
MIR_Load.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
MIR_Store.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
static LocationOperand |
MIR_LoadUpdate.getLocation(Instruction i)
Get the operand called Location from the
argument instruction.
|
Modifier and Type | Method and Description |
---|---|
static Instruction |
MIR_StoreUpdate.create(Operator o,
RegisterOperand Address,
RegisterOperand Value,
Operand Offset,
LocationOperand Location)
Create an instruction of the MIR_StoreUpdate instruction format.
|
static Instruction |
MIR_Load.create(Operator o,
RegisterOperand Result,
RegisterOperand Address,
Operand Offset,
LocationOperand Location)
Create an instruction of the MIR_Load instruction format.
|
static Instruction |
MIR_Store.create(Operator o,
RegisterOperand Value,
RegisterOperand Address,
Operand Offset,
LocationOperand Location)
Create an instruction of the MIR_Store instruction format.
|
static Instruction |
MIR_LoadUpdate.create(Operator o,
RegisterOperand Result,
RegisterOperand Address,
Operand Offset,
LocationOperand Location)
Create an instruction of the MIR_LoadUpdate instruction format.
|
static Instruction |
MIR_StoreUpdate.create(Operator o,
RegisterOperand Address,
RegisterOperand Value,
Operand Offset,
LocationOperand Location,
Operand Guard)
Create an instruction of the MIR_StoreUpdate instruction format.
|
static Instruction |
MIR_Load.create(Operator o,
RegisterOperand Result,
RegisterOperand Address,
Operand Offset,
LocationOperand Location,
Operand Guard)
Create an instruction of the MIR_Load instruction format.
|
static Instruction |
MIR_Store.create(Operator o,
RegisterOperand Value,
RegisterOperand Address,
Operand Offset,
LocationOperand Location,
Operand Guard)
Create an instruction of the MIR_Store instruction format.
|
static Instruction |
MIR_LoadUpdate.create(Operator o,
RegisterOperand Result,
RegisterOperand Address,
Operand Offset,
LocationOperand Location,
Operand Guard)
Create an instruction of the MIR_LoadUpdate instruction format.
|
static Instruction |
MIR_StoreUpdate.mutate(Instruction i,
Operator o,
RegisterOperand Address,
RegisterOperand Value,
Operand Offset,
LocationOperand Location)
Mutate the argument instruction into an instruction of the
MIR_StoreUpdate instruction format having the specified
operator and operands.
|
static Instruction |
MIR_Load.mutate(Instruction i,
Operator o,
RegisterOperand Result,
RegisterOperand Address,
Operand Offset,
LocationOperand Location)
Mutate the argument instruction into an instruction of the
MIR_Load instruction format having the specified
operator and operands.
|
static Instruction |
MIR_Store.mutate(Instruction i,
Operator o,
RegisterOperand Value,
RegisterOperand Address,
Operand Offset,
LocationOperand Location)
Mutate the argument instruction into an instruction of the
MIR_Store instruction format having the specified
operator and operands.
|
static Instruction |
MIR_LoadUpdate.mutate(Instruction i,
Operator o,
RegisterOperand Result,
RegisterOperand Address,
Operand Offset,
LocationOperand Location)
Mutate the argument instruction into an instruction of the
MIR_LoadUpdate instruction format having the specified
operator and operands.
|
static Instruction |
MIR_StoreUpdate.mutate(Instruction i,
Operator o,
RegisterOperand Address,
RegisterOperand Value,
Operand Offset,
LocationOperand Location,
Operand Guard)
Mutate the argument instruction into an instruction of the
MIR_StoreUpdate instruction format having the specified
operator and operands.
|
static Instruction |
MIR_Load.mutate(Instruction i,
Operator o,
RegisterOperand Result,
RegisterOperand Address,
Operand Offset,
LocationOperand Location,
Operand Guard)
Mutate the argument instruction into an instruction of the
MIR_Load instruction format having the specified
operator and operands.
|
static Instruction |
MIR_Store.mutate(Instruction i,
Operator o,
RegisterOperand Value,
RegisterOperand Address,
Operand Offset,
LocationOperand Location,
Operand Guard)
Mutate the argument instruction into an instruction of the
MIR_Store instruction format having the specified
operator and operands.
|
static Instruction |
MIR_LoadUpdate.mutate(Instruction i,
Operator o,
RegisterOperand Result,
RegisterOperand Address,
Operand Offset,
LocationOperand Location,
Operand Guard)
Mutate the argument instruction into an instruction of the
MIR_LoadUpdate instruction format having the specified
operator and operands.
|
static void |
MIR_StoreUpdate.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
MIR_Load.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
MIR_Store.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
static void |
MIR_LoadUpdate.setLocation(Instruction i,
LocationOperand Location)
Set the operand called Location in the argument
instruction to the argument operand.
|
Modifier and Type | Method and Description |
---|---|
protected MemoryOperand |
BURS_MemOp_Helpers.consumeAddress(byte size,
LocationOperand loc,
Operand guard) |
private MemoryOperand |
BURS_MemOp_Helpers.MO_ARRAY(Operand base,
Operand index,
byte scale,
byte size,
Offset disp,
LocationOperand loc,
Operand guard) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_B(Operand base,
byte size,
LocationOperand loc,
Operand guard) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_BD(Operand base,
Offset disp,
byte size,
LocationOperand loc,
Operand guard) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_BI(Operand base,
Operand index,
byte size,
LocationOperand loc,
Operand guard) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_BID(Operand base,
Operand index,
Offset disp,
byte size,
LocationOperand loc,
Operand guard) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_BIS(Operand base,
Operand index,
byte scale,
byte size,
LocationOperand loc,
Operand guard) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_D(Offset disp,
byte size,
LocationOperand loc,
Operand guard) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO(Operand base,
Operand offset,
byte size,
LocationOperand loc,
Operand guard) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO(Operand base,
Operand offset,
byte size,
LocationOperand loc,
Operand guard,
int disp) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO(Operand base,
Operand offset,
byte size,
Offset disp,
LocationOperand loc,
Operand guard) |