|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.compilers.common.assembler.AbstractAssembler org.jikesrvm.compilers.common.assembler.ia32.Assembler org.jikesrvm.ArchitectureSpecific.Assembler org.jikesrvm.compilers.opt.mir2mc.ia32.AssemblerBase org.jikesrvm.compilers.opt.mir2mc.ia32.AssemblerOpt
public abstract class AssemblerOpt
This class is the automatically-generated assembler for the optimizing compiler. It consists of methods that understand the possible operand combinations of each instruction type, and how to translate those operands to calls to the Assember low-level emit method It is generated by GenerateAssembler.java
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.jikesrvm.ia32.RegisterConstants |
---|
RegisterConstants.FloatingPointMachineRegister, RegisterConstants.FPR, RegisterConstants.GPR, RegisterConstants.MachineRegister, RegisterConstants.MM, RegisterConstants.XMM |
Field Summary | |
---|---|
private int |
instructionCount
The number of instructions emitted so far |
Fields inherited from class org.jikesrvm.compilers.common.assembler.ia32.Assembler |
---|
forwardRefs, lister, mi |
Fields inherited from interface org.jikesrvm.Constants |
---|
NOT_REACHED, REFLECTION_FPRS_BITS, REFLECTION_FPRS_MASK, REFLECTION_GPRS_BITS, REFLECTION_GPRS_MASK |
Fields inherited from interface org.jikesrvm.objectmodel.ThinLockConstants |
---|
TL_DEDICATED_U16_OFFSET, TL_DEDICATED_U16_SHIFT, TL_LOCK_COUNT_MASK, TL_LOCK_COUNT_SHIFT, TL_LOCK_COUNT_UNIT, TL_LOCK_ID_MASK, TL_LOCK_ID_SHIFT, TL_NUM_BITS_RC, TL_NUM_BITS_STAT, TL_NUM_BITS_TID, TL_STAT_BIASABLE, TL_STAT_FAT, TL_STAT_MASK, TL_STAT_SHIFT, TL_STAT_THIN, TL_THREAD_ID_MASK, TL_THREAD_ID_SHIFT, TL_UNLOCK_MASK |
Fields inherited from interface org.jikesrvm.objectmodel.TIBLayoutConstants |
---|
IMT_METHOD_SLOTS, NEEDS_DYNAMIC_LINK, TIB_ARRAY_ELEMENT_TIB_INDEX, TIB_DOES_IMPLEMENT_INDEX, TIB_FIRST_SPECIALIZED_METHOD_INDEX, TIB_FIRST_VIRTUAL_METHOD_INDEX, TIB_INTERFACE_DISPATCH_TABLE_INDEX, TIB_SUPERCLASS_IDS_INDEX, TIB_TYPE_INDEX |
Fields inherited from interface org.jikesrvm.HeapLayoutConstants |
---|
BAD_MAP_COMPRESSION, BOOT_IMAGE_CODE_END, BOOT_IMAGE_CODE_SIZE, BOOT_IMAGE_CODE_START, BOOT_IMAGE_DATA_END, BOOT_IMAGE_DATA_SIZE, BOOT_IMAGE_DATA_START, BOOT_IMAGE_END, BOOT_IMAGE_RMAP_END, BOOT_IMAGE_RMAP_START, MAX_BOOT_IMAGE_RMAP_SIZE, MAXIMUM_MAPPABLE |
Fields inherited from interface org.jikesrvm.compilers.opt.regalloc.ia32.PhysicalRegisterConstants |
---|
AF, C0, C1, C2, C3, CF, CONDITION_VALUE, DOUBLE_REG, DOUBLE_VALUE, FIRST_DOUBLE, FIRST_INT, FIRST_SPECIAL, FLOAT_VALUE, INT_REG, INT_VALUE, NUM_SPECIALS, NUMBER_TYPE, OF, PF, SF, SPECIAL_REG, ST0, ST1, ZF |
Fields inherited from interface org.jikesrvm.ia32.RegisterConstants |
---|
ALL_FPRS, ALL_GPRS, EAX, EBX, ECX, EDI, EDX, ESI, FP0, FP1, FP2, FP3, FP4, FP5, FP6, FP7, INSTRUCTION_WIDTH, LG_INSTRUCTION_WIDTH, MM0, MM1, MM10, MM11, MM12, MM13, MM14, MM15, MM2, MM3, MM4, MM5, MM6, MM7, MM8, MM9, NATIVE_NONVOLATILE_FPRS, NATIVE_NONVOLATILE_GPRS, NATIVE_PARAMETER_FPRS, NATIVE_PARAMETER_GPRS, NATIVE_VOLATILE_FPRS, NATIVE_VOLATILE_GPRS, NONVOLATILE_FPRS, NONVOLATILE_GPRS, NUM_FPRS, NUM_GPRS, NUM_NONVOLATILE_FPRS, NUM_NONVOLATILE_GPRS, NUM_PARAMETER_FPRS, NUM_PARAMETER_GPRS, NUM_RETURN_FPRS, NUM_RETURN_GPRS, NUM_VOLATILE_FPRS, NUM_VOLATILE_GPRS, PARAMETER_FPRS, PARAMETER_GPRS, R0, R1, R10, R11, R12, R13, R14, R15, R2, R3, R4, R5, R6, R7, R8, R9, RETURN_FPRS, RETURN_GPRS, STACK_POINTER, THREAD_REGISTER, VOLATILE_FPRS, VOLATILE_GPRS, XMM0, XMM1, XMM10, XMM11, XMM12, XMM13, XMM14, XMM15, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7, XMM8, XMM9 |
Fields inherited from interface org.jikesrvm.compilers.common.assembler.ia32.AssemblerConstants |
---|
BYTE, CONDITION, EQ, GE, GT, LE, LGE, LGT, LLE, LLT, LONG, LT, NE, NO, NS, O, PE, PO, S, SHORT, WORD |
Constructor Summary | |
---|---|
AssemblerOpt(int bcSize,
boolean print,
IR ir)
|
Method Summary | |
---|---|
private void |
doADC(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a ADC operator |
private void |
doADD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a ADD operator |
private void |
doADDSD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a ADDSD operator |
private void |
doADDSS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a ADDSS operator |
private void |
doAND(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a AND operator |
private void |
doANDNPD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a ANDNPD operator |
private void |
doANDNPS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a ANDNPS operator |
private void |
doANDPD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a ANDPD operator |
private void |
doANDPS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a ANDPS operator |
private void |
doBSWAP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_UnaryAcc instruction and has a BSWAP operator |
private void |
doBT(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Test instruction and has a BT operator |
private void |
doBTC(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Test instruction and has a BTC operator |
private void |
doBTR(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Test instruction and has a BTR operator |
private void |
doBTS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Test instruction and has a BTS operator |
private void |
doCALL(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Call instruction and has a CALL operator |
private void |
doCDO(Instruction inst)
Emit the given instruction, assuming that it is a MIR_ConvertDW2QW instruction and has a CDO operator |
private void |
doCDQ(Instruction inst)
Emit the given instruction, assuming that it is a MIR_ConvertDW2QW instruction and has a CDQ operator |
private void |
doCDQE(Instruction inst)
Emit the given instruction, assuming that it is a MIR_ConvertDW2QW instruction and has a CDQE operator |
private void |
doCMOV(Instruction inst)
Emit the given instruction, assuming that it is a MIR_CondMove instruction and has a CMOV operator |
private void |
doCMP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Compare instruction and has a CMP operator |
private void |
doCMPEQSD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPEQSD operator |
private void |
doCMPEQSS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPEQSS operator |
private void |
doCMPLESD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPLESD operator |
private void |
doCMPLESS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPLESS operator |
private void |
doCMPLTSD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPLTSD operator |
private void |
doCMPLTSS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPLTSS operator |
private void |
doCMPNESD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPNESD operator |
private void |
doCMPNESS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPNESS operator |
private void |
doCMPNLESD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPNLESD operator |
private void |
doCMPNLESS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPNLESS operator |
private void |
doCMPNLTSD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPNLTSD operator |
private void |
doCMPNLTSS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPNLTSS operator |
private void |
doCMPORDSD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPORDSD operator |
private void |
doCMPORDSS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPORDSS operator |
private void |
doCMPUNORDSD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPUNORDSD operator |
private void |
doCMPUNORDSS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a CMPUNORDSS operator |
private void |
doCMPXCHG(Instruction inst)
Emit the given instruction, assuming that it is a MIR_CompareExchange instruction and has a CMPXCHG operator |
private void |
doCMPXCHG8B(Instruction inst)
Emit the given instruction, assuming that it is a MIR_CompareExchange8B instruction and has a CMPXCHG8B operator |
private void |
doCVTSD2SI(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a CVTSD2SI operator |
private void |
doCVTSD2SIQ(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a CVTSD2SIQ operator |
private void |
doCVTSD2SS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a CVTSD2SS operator |
private void |
doCVTSI2SD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a CVTSI2SD operator |
private void |
doCVTSI2SDQ(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a CVTSI2SDQ operator |
private void |
doCVTSI2SS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a CVTSI2SS operator |
private void |
doCVTSS2SD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a CVTSS2SD operator |
private void |
doCVTSS2SI(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a CVTSS2SI operator |
private void |
doCVTTSD2SI(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a CVTTSD2SI operator |
private void |
doCVTTSD2SIQ(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a CVTTSD2SIQ operator |
private void |
doCVTTSS2SI(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a CVTTSS2SI operator |
private void |
doDEC(Instruction inst)
Emit the given instruction, assuming that it is a MIR_UnaryAcc instruction and has a DEC operator |
private void |
doDIV(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Divide instruction and has a DIV operator |
private void |
doDIVSD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a DIVSD operator |
private void |
doDIVSS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a DIVSS operator |
private void |
doFADD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FADD operator |
private void |
doFADDP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FADDP operator |
private void |
doFCHS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_UnaryAcc instruction and has a FCHS operator |
private void |
doFCMOV(Instruction inst)
Emit the given instruction, assuming that it is a MIR_CondMove instruction and has a FCMOV operator |
private void |
doFCOMI(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Compare instruction and has a FCOMI operator |
private void |
doFCOMIP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Compare instruction and has a FCOMIP operator |
private void |
doFDIV(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FDIV operator |
private void |
doFDIVP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FDIVP operator |
private void |
doFDIVR(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FDIVR operator |
private void |
doFDIVRP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FDIVRP operator |
private void |
doFFREE(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Nullary instruction and has a FFREE operator |
private void |
doFIADD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FIADD operator |
private void |
doFIDIV(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FIDIV operator |
private void |
doFIDIVR(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FIDIVR operator |
private void |
doFILD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a FILD operator |
private void |
doFIMUL(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FIMUL operator |
private void |
doFINIT(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Empty instruction and has a FINIT operator |
private void |
doFIST(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a FIST operator |
private void |
doFISTP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a FISTP operator |
private void |
doFISUB(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FISUB operator |
private void |
doFISUBR(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FISUBR operator |
private void |
doFLD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a FLD operator |
private void |
doFLD1(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Nullary instruction and has a FLD1 operator |
private void |
doFLDCW(Instruction inst)
Emit the given instruction, assuming that it is a MIR_UnaryNoRes instruction and has a FLDCW operator |
private void |
doFLDL2E(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Nullary instruction and has a FLDL2E operator |
private void |
doFLDL2T(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Nullary instruction and has a FLDL2T operator |
private void |
doFLDLG2(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Nullary instruction and has a FLDLG2 operator |
private void |
doFLDLN2(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Nullary instruction and has a FLDLN2 operator |
private void |
doFLDPI(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Nullary instruction and has a FLDPI operator |
private void |
doFLDZ(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Nullary instruction and has a FLDZ operator |
private void |
doFMUL(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FMUL operator |
private void |
doFMULP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FMULP operator |
private void |
doFNINIT(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Empty instruction and has a FNINIT operator |
private void |
doFNSAVE(Instruction inst)
Emit the given instruction, assuming that it is a MIR_FSave instruction and has a FNSAVE operator |
private void |
doFNSTCW(Instruction inst)
Emit the given instruction, assuming that it is a MIR_UnaryNoRes instruction and has a FNSTCW operator |
private void |
doFPREM(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FPREM operator |
private void |
doFRSTOR(Instruction inst)
Emit the given instruction, assuming that it is a MIR_FSave instruction and has a FRSTOR operator |
private void |
doFST(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a FST operator |
private void |
doFSTCW(Instruction inst)
Emit the given instruction, assuming that it is a MIR_UnaryNoRes instruction and has a FSTCW operator |
private void |
doFSTP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a FSTP operator |
private void |
doFSUB(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FSUB operator |
private void |
doFSUBP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FSUBP operator |
private void |
doFSUBR(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FSUBR operator |
private void |
doFSUBRP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a FSUBRP operator |
private void |
doFUCOMI(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Compare instruction and has a FUCOMI operator |
private void |
doFUCOMIP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Compare instruction and has a FUCOMIP operator |
private void |
doFXCH(Instruction inst)
Emit the given instruction, assuming that it is a MIR_XChng instruction and has a FXCH operator |
private void |
doIDIV(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Divide instruction and has a IDIV operator |
private void |
doIMUL1(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Multiply instruction and has a IMUL1 operator |
private void |
doIMUL2(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a IMUL2 operator |
private void |
doINC(Instruction inst)
Emit the given instruction, assuming that it is a MIR_UnaryAcc instruction and has a INC operator |
void |
doInst(Instruction inst)
Assemble the given instruction |
private void |
doINT(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Trap instruction and has a INT operator |
private void |
doLEA(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Lea instruction and has a LEA operator |
private void |
doMETHODSTART(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Nullary instruction and has a METHODSTART operator |
private void |
doMFENCE(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Empty instruction and has a MFENCE operator |
private void |
doMOV(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a MOV operator |
private void |
doMOVD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a MOVD operator |
private void |
doMOVLPD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a MOVLPD operator |
private void |
doMOVLPS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a MOVLPS operator |
private void |
doMOVQ(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a MOVQ operator |
private void |
doMOVSD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a MOVSD operator |
private void |
doMOVSS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Move instruction and has a MOVSS operator |
private void |
doMOVSX(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a MOVSX operator |
private void |
doMOVSXQ(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a MOVSXQ operator |
private void |
doMOVZX(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a MOVZX operator |
private void |
doMOVZXQ(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a MOVZXQ operator |
private void |
doMUL(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Multiply instruction and has a MUL operator |
private void |
doMULSD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a MULSD operator |
private void |
doMULSS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a MULSS operator |
private void |
doNEG(Instruction inst)
Emit the given instruction, assuming that it is a MIR_UnaryAcc instruction and has a NEG operator |
private void |
doNOT(Instruction inst)
Emit the given instruction, assuming that it is a MIR_UnaryAcc instruction and has a NOT operator |
private void |
doOFFSET(Instruction inst)
Emit the given instruction, assuming that it is a MIR_CaseLabel instruction and has a OFFSET operator |
private void |
doOR(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a OR operator |
private void |
doORPD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a ORPD operator |
private void |
doORPS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a ORPS operator |
private void |
doPAUSE(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Empty instruction and has a PAUSE operator |
private void |
doPOP(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Nullary instruction and has a POP operator |
private void |
doPREFETCHNTA(Instruction inst)
Emit the given instruction, assuming that it is a MIR_CacheOp instruction and has a PREFETCHNTA operator |
private void |
doPSLLQ(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a PSLLQ operator |
private void |
doPSRLQ(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a PSRLQ operator |
private void |
doPUSH(Instruction inst)
Emit the given instruction, assuming that it is a MIR_UnaryNoRes instruction and has a PUSH operator |
private void |
doRCL(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a RCL operator |
private void |
doRCR(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a RCR operator |
private void |
doRDTSC(Instruction inst)
Emit the given instruction, assuming that it is a MIR_RDTSC instruction and has a RDTSC operator |
private void |
doRET(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Return instruction and has a RET operator |
private void |
doROL(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a ROL operator |
private void |
doROR(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a ROR operator |
private void |
doSAL(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a SAL operator |
private void |
doSAR(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a SAR operator |
private void |
doSBB(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a SBB operator |
private void |
doSET(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Set instruction and has a SET operator |
private void |
doSHL(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a SHL operator |
private void |
doSHLD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_DoubleShift instruction and has a SHLD operator |
private void |
doSHR(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a SHR operator |
private void |
doSHRD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_DoubleShift instruction and has a SHRD operator |
private void |
doSQRTSD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a SQRTSD operator |
private void |
doSQRTSS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Unary instruction and has a SQRTSS operator |
private void |
doSUB(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a SUB operator |
private void |
doSUBSD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a SUBSD operator |
private void |
doSUBSS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a SUBSS operator |
private void |
doTEST(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Test instruction and has a TEST operator |
private void |
doUCOMISD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Compare instruction and has a UCOMISD operator |
private void |
doUCOMISS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_Compare instruction and has a UCOMISS operator |
private void |
doXOR(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a XOR operator |
private void |
doXORPD(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a XORPD operator |
private void |
doXORPS(Instruction inst)
Emit the given instruction, assuming that it is a MIR_BinaryAcc instruction and has a XORPS operator |
Methods inherited from class org.jikesrvm.compilers.opt.mir2mc.ia32.AssemblerBase |
---|
disasm, doJCC, doJMP, doLOWTABLESWITCH, estimateSize, generateCode, getBase, getCond, getDisp, getFPR_Reg, getGPR_Reg, getImm, getIndex, getLabel, getMM_Reg, getReg, getScale, getXMM_Reg, isAbs, isByte, isCond, isFPR_Reg, isGPR_Reg, isHotCode, isImm, isImmOrLabel, isLabel, isMM_Reg, isQuad, isReg, isRegDisp, isRegIdx, isRegInd, isRegOff, isWord, isXMM_Reg, targetIsClose |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private int instructionCount
Constructor Detail |
---|
public AssemblerOpt(int bcSize, boolean print, IR ir)
ArchitectureSpecific.Assembler
Method Detail |
---|
private void doFIMUL(Instruction inst)
inst
- the instruction to assembleprivate void doMETHODSTART(Instruction inst)
inst
- the instruction to assembleprivate void doCVTSS2SD(Instruction inst)
inst
- the instruction to assembleprivate void doCMPUNORDSS(Instruction inst)
inst
- the instruction to assembleprivate void doMULSS(Instruction inst)
inst
- the instruction to assembleprivate void doCVTSS2SI(Instruction inst)
inst
- the instruction to assembleprivate void doFSTP(Instruction inst)
inst
- the instruction to assembleprivate void doCVTTSD2SIQ(Instruction inst)
inst
- the instruction to assembleprivate void doCDO(Instruction inst)
inst
- the instruction to assembleprivate void doCMPLTSS(Instruction inst)
inst
- the instruction to assembleprivate void doCDQ(Instruction inst)
inst
- the instruction to assembleprivate void doORPD(Instruction inst)
inst
- the instruction to assembleprivate void doFCMOV(Instruction inst)
inst
- the instruction to assembleprivate void doMOVSXQ(Instruction inst)
inst
- the instruction to assembleprivate void doFLDLG2(Instruction inst)
inst
- the instruction to assembleprivate void doFSUB(Instruction inst)
inst
- the instruction to assembleprivate void doPUSH(Instruction inst)
inst
- the instruction to assembleprivate void doSUB(Instruction inst)
inst
- the instruction to assembleprivate void doCMPEQSD(Instruction inst)
inst
- the instruction to assembleprivate void doORPS(Instruction inst)
inst
- the instruction to assembleprivate void doCMP(Instruction inst)
inst
- the instruction to assembleprivate void doFST(Instruction inst)
inst
- the instruction to assembleprivate void doBTC(Instruction inst)
inst
- the instruction to assembleprivate void doPOP(Instruction inst)
inst
- the instruction to assembleprivate void doFLDCW(Instruction inst)
inst
- the instruction to assembleprivate void doRDTSC(Instruction inst)
inst
- the instruction to assembleprivate void doMOVZX(Instruction inst)
inst
- the instruction to assembleprivate void doCMPEQSS(Instruction inst)
inst
- the instruction to assembleprivate void doFADDP(Instruction inst)
inst
- the instruction to assembleprivate void doCDQE(Instruction inst)
inst
- the instruction to assembleprivate void doXOR(Instruction inst)
inst
- the instruction to assembleprivate void doRCL(Instruction inst)
inst
- the instruction to assembleprivate void doFLD(Instruction inst)
inst
- the instruction to assembleprivate void doBTR(Instruction inst)
inst
- the instruction to assembleprivate void doBTS(Instruction inst)
inst
- the instruction to assembleprivate void doRCR(Instruction inst)
inst
- the instruction to assembleprivate void doSET(Instruction inst)
inst
- the instruction to assembleprivate void doFIDIVR(Instruction inst)
inst
- the instruction to assembleprivate void doFNSAVE(Instruction inst)
inst
- the instruction to assembleprivate void doFDIVP(Instruction inst)
inst
- the instruction to assembleprivate void doMOVSD(Instruction inst)
inst
- the instruction to assembleprivate void doFDIVR(Instruction inst)
inst
- the instruction to assembleprivate void doSHRD(Instruction inst)
inst
- the instruction to assembleprivate void doCVTSI2SD(Instruction inst)
inst
- the instruction to assembleprivate void doFCOMI(Instruction inst)
inst
- the instruction to assembleprivate void doCMPXCHG(Instruction inst)
inst
- the instruction to assembleprivate void doBT(Instruction inst)
inst
- the instruction to assembleprivate void doMOVSS(Instruction inst)
inst
- the instruction to assembleprivate void doCVTTSS2SI(Instruction inst)
inst
- the instruction to assembleprivate void doFINIT(Instruction inst)
inst
- the instruction to assembleprivate void doFUCOMI(Instruction inst)
inst
- the instruction to assembleprivate void doMOVSX(Instruction inst)
inst
- the instruction to assembleprivate void doCMPXCHG8B(Instruction inst)
inst
- the instruction to assembleprivate void doCVTSI2SS(Instruction inst)
inst
- the instruction to assembleprivate void doFNSTCW(Instruction inst)
inst
- the instruction to assembleprivate void doCALL(Instruction inst)
inst
- the instruction to assembleprivate void doMOVZXQ(Instruction inst)
inst
- the instruction to assembleprivate void doFIST(Instruction inst)
inst
- the instruction to assembleprivate void doFDIV(Instruction inst)
inst
- the instruction to assembleprivate void doFISTP(Instruction inst)
inst
- the instruction to assembleprivate void doCMPORDSD(Instruction inst)
inst
- the instruction to assembleprivate void doCMPNESD(Instruction inst)
inst
- the instruction to assembleprivate void doXORPD(Instruction inst)
inst
- the instruction to assembleprivate void doNEG(Instruction inst)
inst
- the instruction to assembleprivate void doFPREM(Instruction inst)
inst
- the instruction to assembleprivate void doDIV(Instruction inst)
inst
- the instruction to assembleprivate void doSUBSD(Instruction inst)
inst
- the instruction to assembleprivate void doSQRTSD(Instruction inst)
inst
- the instruction to assembleprivate void doFMULP(Instruction inst)
inst
- the instruction to assembleprivate void doCMPNLESD(Instruction inst)
inst
- the instruction to assembleprivate void doPSRLQ(Instruction inst)
inst
- the instruction to assembleprivate void doFISUBR(Instruction inst)
inst
- the instruction to assembleprivate void doFSUBP(Instruction inst)
inst
- the instruction to assembleprivate void doCVTSD2SI(Instruction inst)
inst
- the instruction to assembleprivate void doFSUBR(Instruction inst)
inst
- the instruction to assembleprivate void doFILD(Instruction inst)
inst
- the instruction to assembleprivate void doFADD(Instruction inst)
inst
- the instruction to assembleprivate void doCMPORDSS(Instruction inst)
inst
- the instruction to assembleprivate void doFISUB(Instruction inst)
inst
- the instruction to assembleprivate void doCMPNESS(Instruction inst)
inst
- the instruction to assembleprivate void doXORPS(Instruction inst)
inst
- the instruction to assembleprivate void doCVTSD2SS(Instruction inst)
inst
- the instruction to assembleprivate void doADC(Instruction inst)
inst
- the instruction to assembleprivate void doSUBSS(Instruction inst)
inst
- the instruction to assembleprivate void doSQRTSS(Instruction inst)
inst
- the instruction to assembleprivate void doADD(Instruction inst)
inst
- the instruction to assembleprivate void doRET(Instruction inst)
inst
- the instruction to assembleprivate void doCMPNLESS(Instruction inst)
inst
- the instruction to assembleprivate void doDIVSD(Instruction inst)
inst
- the instruction to assembleprivate void doCVTSI2SDQ(Instruction inst)
inst
- the instruction to assembleprivate void doFCHS(Instruction inst)
inst
- the instruction to assembleprivate void doIDIV(Instruction inst)
inst
- the instruction to assembleprivate void doSHLD(Instruction inst)
inst
- the instruction to assembleprivate void doDIVSS(Instruction inst)
inst
- the instruction to assembleprivate void doTEST(Instruction inst)
inst
- the instruction to assembleprivate void doADDSD(Instruction inst)
inst
- the instruction to assembleprivate void doOFFSET(Instruction inst)
inst
- the instruction to assembleprivate void doSHL(Instruction inst)
inst
- the instruction to assembleprivate void doCVTSD2SIQ(Instruction inst)
inst
- the instruction to assembleprivate void doSHR(Instruction inst)
inst
- the instruction to assembleprivate void doFMUL(Instruction inst)
inst
- the instruction to assembleprivate void doFLDL2E(Instruction inst)
inst
- the instruction to assembleprivate void doADDSS(Instruction inst)
inst
- the instruction to assembleprivate void doMUL(Instruction inst)
inst
- the instruction to assembleprivate void doANDNPD(Instruction inst)
inst
- the instruction to assembleprivate void doROL(Instruction inst)
inst
- the instruction to assembleprivate void doFLDL2T(Instruction inst)
inst
- the instruction to assembleprivate void doCMPLESD(Instruction inst)
inst
- the instruction to assembleprivate void doFFREE(Instruction inst)
inst
- the instruction to assembleprivate void doFLD1(Instruction inst)
inst
- the instruction to assembleprivate void doNOT(Instruction inst)
inst
- the instruction to assembleprivate void doROR(Instruction inst)
inst
- the instruction to assembleprivate void doFLDPI(Instruction inst)
inst
- the instruction to assembleprivate void doAND(Instruction inst)
inst
- the instruction to assembleprivate void doFXCH(Instruction inst)
inst
- the instruction to assembleprivate void doANDNPS(Instruction inst)
inst
- the instruction to assembleprivate void doINC(Instruction inst)
inst
- the instruction to assembleprivate void doSAL(Instruction inst)
inst
- the instruction to assembleprivate void doCMPLESS(Instruction inst)
inst
- the instruction to assembleprivate void doCMPNLTSD(Instruction inst)
inst
- the instruction to assembleprivate void doFCOMIP(Instruction inst)
inst
- the instruction to assembleprivate void doCVTTSD2SI(Instruction inst)
inst
- the instruction to assembleprivate void doSAR(Instruction inst)
inst
- the instruction to assembleprivate void doMOVLPD(Instruction inst)
inst
- the instruction to assembleprivate void doFIDIV(Instruction inst)
inst
- the instruction to assembleprivate void doINT(Instruction inst)
inst
- the instruction to assembleprivate void doFRSTOR(Instruction inst)
inst
- the instruction to assembleprivate void doCMPNLTSS(Instruction inst)
inst
- the instruction to assembleprivate void doMOVD(Instruction inst)
inst
- the instruction to assembleprivate void doCMOV(Instruction inst)
inst
- the instruction to assembleprivate void doSBB(Instruction inst)
inst
- the instruction to assembleprivate void doBSWAP(Instruction inst)
inst
- the instruction to assembleprivate void doIMUL1(Instruction inst)
inst
- the instruction to assembleprivate void doPAUSE(Instruction inst)
inst
- the instruction to assembleprivate void doIMUL2(Instruction inst)
inst
- the instruction to assembleprivate void doFSUBRP(Instruction inst)
inst
- the instruction to assembleprivate void doFNINIT(Instruction inst)
inst
- the instruction to assembleprivate void doFUCOMIP(Instruction inst)
inst
- the instruction to assembleprivate void doFSTCW(Instruction inst)
inst
- the instruction to assembleprivate void doMOVLPS(Instruction inst)
inst
- the instruction to assembleprivate void doFLDZ(Instruction inst)
inst
- the instruction to assembleprivate void doMOVQ(Instruction inst)
inst
- the instruction to assembleprivate void doFIADD(Instruction inst)
inst
- the instruction to assembleprivate void doDEC(Instruction inst)
inst
- the instruction to assembleprivate void doOR(Instruction inst)
inst
- the instruction to assembleprivate void doMFENCE(Instruction inst)
inst
- the instruction to assembleprivate void doPREFETCHNTA(Instruction inst)
inst
- the instruction to assembleprivate void doLEA(Instruction inst)
inst
- the instruction to assembleprivate void doFDIVRP(Instruction inst)
inst
- the instruction to assembleprivate void doANDPD(Instruction inst)
inst
- the instruction to assembleprivate void doPSLLQ(Instruction inst)
inst
- the instruction to assembleprivate void doUCOMISD(Instruction inst)
inst
- the instruction to assembleprivate void doFLDLN2(Instruction inst)
inst
- the instruction to assembleprivate void doCMPUNORDSD(Instruction inst)
inst
- the instruction to assembleprivate void doMOV(Instruction inst)
inst
- the instruction to assembleprivate void doMULSD(Instruction inst)
inst
- the instruction to assembleprivate void doANDPS(Instruction inst)
inst
- the instruction to assembleprivate void doUCOMISS(Instruction inst)
inst
- the instruction to assembleprivate void doCMPLTSD(Instruction inst)
inst
- the instruction to assemblepublic void doInst(Instruction inst)
inst
- the instruction to assemble
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |