org.jikesrvm.compilers.opt.ir
Class MachineSpecificIR

java.lang.Object
  extended by org.jikesrvm.compilers.opt.ir.MachineSpecificIR
Direct Known Subclasses:
MachineSpecificIRIA

public abstract class MachineSpecificIR
extends Object

Generic wrappers around machine-specific IR


Constructor Summary
MachineSpecificIR()
           
 
Method Summary
 boolean canFoldNullCheckAndLoad(Instruction s)
           
 int getBURSManagedFPRValue(Operand operand)
           
 boolean isAdviseESP(Operator operator)
           
 boolean isBURSManagedFPROperand(Operand operand)
           
abstract  boolean isConditionOperand(Operand operand)
           
 boolean isFClear(Operator operator)
           
 boolean isFNInit(Operator operator)
           
abstract  boolean isHandledByRegisterUnknown(char opcode)
           
 boolean isPowerPCTrapOperand(Operand operand)
           
abstract  boolean mayEscapeMethod(Instruction instruction)
           
abstract  boolean mayEscapeThread(Instruction instruction)
           
 boolean mutateFMOVs(LiveIntervalElement live, Register register, int dfnbegin, int dfnend)
           
abstract  void mutateMIRCondBranch(Instruction cb)
           
 void rewriteFPStack(IR ir)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MachineSpecificIR

public MachineSpecificIR()
Method Detail

isConditionOperand

public abstract boolean isConditionOperand(Operand operand)

mutateMIRCondBranch

public abstract void mutateMIRCondBranch(Instruction cb)

isHandledByRegisterUnknown

public abstract boolean isHandledByRegisterUnknown(char opcode)

mayEscapeThread

public abstract boolean mayEscapeThread(Instruction instruction)

mayEscapeMethod

public abstract boolean mayEscapeMethod(Instruction instruction)

isAdviseESP

public boolean isAdviseESP(Operator operator)

isFClear

public boolean isFClear(Operator operator)

isFNInit

public boolean isFNInit(Operator operator)

isBURSManagedFPROperand

public boolean isBURSManagedFPROperand(Operand operand)

getBURSManagedFPRValue

public int getBURSManagedFPRValue(Operand operand)

mutateFMOVs

public boolean mutateFMOVs(LiveIntervalElement live,
                           Register register,
                           int dfnbegin,
                           int dfnend)

rewriteFPStack

public void rewriteFPStack(IR ir)

isPowerPCTrapOperand

public boolean isPowerPCTrapOperand(Operand operand)

canFoldNullCheckAndLoad

public boolean canFoldNullCheckAndLoad(Instruction s)