Package | Description |
---|---|
org.jikesrvm.compilers.opt.ir.ia32 | |
org.jikesrvm.compilers.opt.ir.operand | |
org.jikesrvm.compilers.opt.lir2mir |
Provides classes that implement the transition from low-level IR to
machine-specific IR.
|
org.jikesrvm.compilers.opt.lir2mir.ia32 |
Provides classes that implement the IA32-specific parts
of the transition from low-level IR to machine-specific IR.
|
org.jikesrvm.compilers.opt.regalloc.ia32 |
Modifier and Type | Method and Description |
---|---|
static MemoryOperand |
MIR_CompareExchange8B.getClearMemAddr(Instruction i)
Get the operand called MemAddr from the argument
instruction clearing its instruction pointer.
|
static MemoryOperand |
MIR_CompareExchange.getClearMemAddr(Instruction i)
Get the operand called MemAddr from the argument
instruction clearing its instruction pointer.
|
static MemoryOperand |
MIR_Lea.getClearValue(Instruction i)
Get the operand called Value from the argument
instruction clearing its instruction pointer.
|
static MemoryOperand |
MIR_CompareExchange8B.getMemAddr(Instruction i)
Get the operand called MemAddr from the
argument instruction.
|
static MemoryOperand |
MIR_CompareExchange.getMemAddr(Instruction i)
Get the operand called MemAddr from the
argument instruction.
|
static MemoryOperand |
MIR_Lea.getValue(Instruction i)
Get the operand called Value from the
argument instruction.
|
Modifier and Type | Method and Description |
---|---|
static Instruction |
MIR_Lea.create(Operator o,
RegisterOperand Result,
MemoryOperand Value)
Create an instruction of the MIR_Lea instruction format.
|
static Instruction |
MIR_CompareExchange.create(Operator o,
RegisterOperand OldValue,
MemoryOperand MemAddr,
RegisterOperand NewValue)
Create an instruction of the MIR_CompareExchange instruction format.
|
static Instruction |
MIR_CompareExchange8B.create(Operator o,
RegisterOperand OldValueHigh,
RegisterOperand OldValueLow,
MemoryOperand MemAddr,
RegisterOperand NewValueHigh,
RegisterOperand NewValueLow)
Create an instruction of the MIR_CompareExchange8B instruction format.
|
static Instruction |
MIR_Lea.mutate(Instruction i,
Operator o,
RegisterOperand Result,
MemoryOperand Value)
Mutate the argument instruction into an instruction of the
MIR_Lea instruction format having the specified
operator and operands.
|
static Instruction |
MIR_CompareExchange.mutate(Instruction i,
Operator o,
RegisterOperand OldValue,
MemoryOperand MemAddr,
RegisterOperand NewValue)
Mutate the argument instruction into an instruction of the
MIR_CompareExchange instruction format having the specified
operator and operands.
|
static Instruction |
MIR_CompareExchange8B.mutate(Instruction i,
Operator o,
RegisterOperand OldValueHigh,
RegisterOperand OldValueLow,
MemoryOperand MemAddr,
RegisterOperand NewValueHigh,
RegisterOperand NewValueLow)
Mutate the argument instruction into an instruction of the
MIR_CompareExchange8B instruction format having the specified
operator and operands.
|
static void |
MIR_CompareExchange8B.setMemAddr(Instruction i,
MemoryOperand MemAddr)
Set the operand called MemAddr in the argument
instruction to the argument operand.
|
static void |
MIR_CompareExchange.setMemAddr(Instruction i,
MemoryOperand MemAddr)
Set the operand called MemAddr in the argument
instruction to the argument operand.
|
static void |
MIR_Lea.setValue(Instruction i,
MemoryOperand Value)
Set the operand called Value in the argument
instruction to the argument operand.
|
Modifier and Type | Method and Description |
---|---|
MemoryOperand |
Operand.asMemory()
Cast to an
MemoryOperand . |
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) |
Modifier and Type | Field and Description |
---|---|
(package private) MemoryOperand |
BURS_MemOp_Helpers.MOStackElement.mo |
Modifier and Type | Method and Description |
---|---|
protected MemoryOperand |
BURS_MemOp_Helpers.consumeAddress(byte size,
LocationOperand loc,
Operand guard) |
protected MemoryOperand |
BURS_MemOp_Helpers.consumeMO() |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_AL(Instruction s,
byte scale,
byte size) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_AL(Instruction s,
byte scale,
byte size,
int disp) |
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_AS(Instruction s,
byte scale,
byte size) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_AS(Instruction s,
byte scale,
byte size,
int disp) |
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_L(Instruction s,
byte size) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_L(Instruction s,
byte size,
int disp) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_MC(Instruction s) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_S(Instruction s,
byte size) |
protected MemoryOperand |
BURS_MemOp_Helpers.MO_S(Instruction s,
byte size,
int disp) |
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) |
Modifier and Type | Method and Description |
---|---|
protected void |
BURS_MemOp_Helpers.pushMO(MemoryOperand mo) |
Constructor and Description |
---|
MOStackElement(MemoryOperand m,
BURS_MemOp_Helpers.MOStackElement n) |
Modifier and Type | Method and Description |
---|---|
(package private) static MemoryOperand |
BURS_Helpers.loadFromJTOC(Offset offset,
byte size)
Create memory operand to load from a given jtoc offset
|
protected MemoryOperand |
BURS_Helpers.setSize(MemoryOperand mo,
int size)
Set the size field of the given memory operand and return it
|
Modifier and Type | Method and Description |
---|---|
protected void |
BURS_Helpers.ATTEMPT_IFCMP(MemoryOperand mo,
Operand oldValue,
Operand newValue,
ConditionOperand cond,
BranchOperand target,
BranchProfileOperand bp)
This routine expands the compound pattern IFCMP(ATTEMPT, ZERO) into an
atomic compare/exchange followed by a branch on success/failure of the
attempted atomic compare/exchange.
|
protected void |
BURS_Helpers.ATTEMPT_LONG(RegisterOperand result,
MemoryOperand mo,
Operand oldValue,
Operand newValue)
This routine expands an ATTEMPT instruction into an atomic
compare exchange.
|
protected void |
BURS_Helpers.ATTEMPT(RegisterOperand result,
MemoryOperand mo,
Operand oldValue,
Operand newValue)
This routine expands an ATTEMPT instruction into an atomic
compare exchange.
|
protected void |
BURS_Helpers.EMIT_Lea(Instruction s,
RegisterOperand result,
MemoryOperand mo)
Create the MIR LEA instruction performing a few simplifications if possible
|
protected MemoryOperand |
BURS_Helpers.setSize(MemoryOperand mo,
int size)
Set the size field of the given memory operand and return it
|
Modifier and Type | Method and Description |
---|---|
private static void |
RewriteMemoryOperandsWithOversizedDisplacements.disp64MemOperandConversion(IR ir,
Instruction inst,
MemoryOperand mo) |
private boolean |
StackManager.hasSymbolicRegister(MemoryOperand M) |