/dalvik/vm/compiler/codegen/arm/ |
H A D | GlobalOptimizations.c | 25 static void applyRedundantBranchElimination(CompilationUnit *cUnit) argument 29 for (thisLIR = (ArmLIR *) cUnit->firstLIRInsn; 30 thisLIR != (ArmLIR *) cUnit->lastLIRInsn; 58 void dvmCompilerApplyGlobalOptimizations(CompilationUnit *cUnit) argument 60 applyRedundantBranchElimination(cUnit);
|
H A D | Ralloc.h | 44 static inline int dvmCompilerS2VReg(CompilationUnit *cUnit, int sReg) argument 47 return DECODE_REG(dvmConvertSSARegToDalvik(cUnit, sReg)); 51 static inline void dvmCompilerResetNullCheck(CompilationUnit *cUnit) argument 53 dvmClearAllBits(cUnit->regPool->nullCheckedRegs); 59 * dataflow analysis and refer to slot numbers in the cUnit->regLocation 61 * entries in the cUnit->reglocation[] array. Therefore, when location 71 static inline bool dvmCompilerLiveOut(CompilationUnit *cUnit, int sReg) argument 83 extern RegLocation dvmCompilerEvalLoc(CompilationUnit *cUnit, RegLocation loc, 86 extern void dvmCompilerClobber(CompilationUnit *cUnit, int reg); 88 extern RegLocation dvmCompilerUpdateLoc(CompilationUnit *cUnit, [all...] |
H A D | ArchUtility.c | 369 void dvmCompilerCodegenDump(CompilationUnit *cUnit) argument 375 LOGD("installed code is at %p\n", cUnit->baseAddr); 376 LOGD("total size is %d bytes\n", cUnit->totalSize); 377 for (lirInsn = cUnit->firstLIRInsn; lirInsn; lirInsn = lirInsn->next) { 378 dvmDumpLIRInsn(lirInsn, cUnit->baseAddr); 380 for (lirInsn = cUnit->wordList; lirInsn; lirInsn = lirInsn->next) { 383 (char*)cUnit->baseAddr + armLIR->generic.offset,
|
H A D | CodegenFactory.c | 29 static ArmLIR *loadWordDisp(CompilationUnit *cUnit, int rBase, int displacement, argument 32 return loadBaseDisp(cUnit, NULL, rBase, displacement, rDest, kWord, 36 static ArmLIR *storeWordDisp(CompilationUnit *cUnit, int rBase, argument 39 return storeBaseDisp(cUnit, rBase, displacement, rSrc, kWord); 47 static void loadValueDirect(CompilationUnit *cUnit, RegLocation rlSrc, argument 50 rlSrc = dvmCompilerUpdateLoc(cUnit, rlSrc); 52 genRegCopy(cUnit, reg1, rlSrc.lowReg); 54 loadWordDisp(cUnit, rGLUE, offsetof(InterpState, retval), reg1); 57 loadWordDisp(cUnit, rFP, dvmCompilerS2VReg(cUnit, rlSr 67 loadValueDirectFixed(CompilationUnit *cUnit, RegLocation rlSrc, int reg1) argument 80 loadValueDirectWide(CompilationUnit *cUnit, RegLocation rlSrc, int regLo, int regHi) argument 102 loadValueDirectWideFixed(CompilationUnit *cUnit, RegLocation rlSrc, int regLo, int regHi) argument 112 loadValue(CompilationUnit *cUnit, RegLocation rlSrc, RegisterClass opKind) argument 128 storeValue(CompilationUnit *cUnit, RegLocation rlDest, RegLocation rlSrc) argument 177 loadValueWide(CompilationUnit *cUnit, RegLocation rlSrc, RegisterClass opKind) argument 198 storeValueWide(CompilationUnit *cUnit, RegLocation rlDest, RegLocation rlSrc) argument 265 genNullCheck(CompilationUnit *cUnit, int sReg, int mReg, int dOffset, ArmLIR *pcrLabel) argument 282 genRegRegCheck(CompilationUnit *cUnit, ArmConditionCode cond, int reg1, int reg2, int dOffset, ArmLIR *pcrLabel) argument 298 genZeroCheck(CompilationUnit *cUnit, int mReg, int dOffset, ArmLIR *pcrLabel) argument 305 genBoundsCheck(CompilationUnit *cUnit, int rIndex, int rBound, int dOffset, ArmLIR *pcrLabel) argument 316 genDispatchToHandler(CompilationUnit *cUnit, TemplateOpCode opCode) argument [all...] |
H A D | LocalOptimizations.c | 24 ArmLIR* dvmCompilerGenCopy(CompilationUnit *cUnit, int rDest, int rSrc); 69 static void applyLoadStoreElimination(CompilationUnit *cUnit, argument 75 cUnit->optRound++; 80 if (thisLIR->age >= cUnit->optRound) { 107 cUnit, checkLIR->operands[0], nativeRegId); 152 newStoreLIR->age = cUnit->optRound; 177 static void applyLoadHoisting(CompilationUnit *cUnit, argument 189 cUnit->optRound++; 194 if (thisLIR->age >= cUnit->optRound || 304 cUnit, nativeRegI 502 dvmCompilerApplyLocalOptimizations(CompilationUnit *cUnit, LIR *headLIR, LIR *tailLIR) argument [all...] |
H A D | CodegenCommon.c | 205 static ArmLIR *newLIR0(CompilationUnit *cUnit, ArmOpCode opCode) argument 211 dvmCompilerAppendLIR(cUnit, (LIR *) insn); 215 static ArmLIR *newLIR1(CompilationUnit *cUnit, ArmOpCode opCode, argument 223 dvmCompilerAppendLIR(cUnit, (LIR *) insn); 227 static ArmLIR *newLIR2(CompilationUnit *cUnit, ArmOpCode opCode, argument 237 dvmCompilerAppendLIR(cUnit, (LIR *) insn); 241 static ArmLIR *newLIR3(CompilationUnit *cUnit, ArmOpCode opCode, argument 255 dvmCompilerAppendLIR(cUnit, (LIR *) insn); 260 static ArmLIR *newLIR4(CompilationUnit *cUnit, ArmOpCode opCode, argument 272 dvmCompilerAppendLIR(cUnit, (LI 282 inlinedTarget(CompilationUnit *cUnit, MIR *mir, bool fpHint) argument 301 scanLiteralPool(CompilationUnit *cUnit, int value, unsigned int delta) argument 320 addWordData(CompilationUnit *cUnit, int value, bool inPlace) argument 337 inlinedTargetWide(CompilationUnit *cUnit, MIR *mir, bool fpHint) argument 356 genBarrier(CompilationUnit *cUnit) argument 364 genCheckCommon(CompilationUnit *cUnit, int dOffset, ArmLIR *branch, ArmLIR *pcrLabel) argument [all...] |
H A D | RallocUtil.c | 59 * dataflow analysis and refer to slot numbers in the cUnit->regLocation 61 * entries in the cUnit->reglocation[] array. Therefore, when location 71 extern void dvmCompilerResetRegPool(CompilationUnit *cUnit) argument 74 for (i=0; i < cUnit->regPool->numCoreTemps; i++) { 75 cUnit->regPool->coreTemps[i].inUse = false; 77 for (i=0; i < cUnit->regPool->numFPTemps; i++) { 78 cUnit->regPool->FPTemps[i].inUse = false; 108 static RegisterInfo *getRegInfo(CompilationUnit *cUnit, int reg) argument 110 int numTemps = cUnit->regPool->numCoreTemps; 111 RegisterInfo *p = cUnit 130 flushRegWide(CompilationUnit *cUnit, int reg1, int reg2) argument 149 flushReg(CompilationUnit *cUnit, int reg) argument 161 clobberRegBody(CompilationUnit *cUnit, RegisterInfo *p, int numTemps, int reg) argument 190 dvmCompilerClobber(CompilationUnit *cUnit, int reg) argument 212 dvmCompilerClobberSReg(CompilationUnit *cUnit, int sReg) argument 220 allocTempBody(CompilationUnit *cUnit, RegisterInfo *p, int numTemps, int *nextTemp, bool required) argument 258 dvmCompilerAllocTempDouble(CompilationUnit *cUnit) argument 306 dvmCompilerAllocFreeTemp(CompilationUnit *cUnit) argument 313 dvmCompilerAllocTemp(CompilationUnit *cUnit) argument 320 dvmCompilerAllocTempFloat(CompilationUnit *cUnit) argument 341 allocLive(CompilationUnit *cUnit, int sReg, int regClass) argument 367 dvmCompilerFreeTemp(CompilationUnit *cUnit, int reg) argument 396 dvmCompilerIsLive(CompilationUnit *cUnit, int reg) argument 416 dvmCompilerIsTemp(CompilationUnit *cUnit, int reg) argument 441 dvmCompilerLockTemp(CompilationUnit *cUnit, int reg) argument 467 dvmCompilerClobberCallRegs(CompilationUnit *cUnit) argument 480 dvmCompilerClobberHandlerRegs(CompilationUnit *cUnit) argument 491 dvmCompilerResetDef(CompilationUnit *cUnit, int reg) argument 498 nullifyRange(CompilationUnit *cUnit, LIR *start, LIR *finish, int sReg1, int sReg2) argument 517 dvmCompilerMarkDef(CompilationUnit *cUnit, RegLocation rl, LIR *start, LIR *finish) argument 533 dvmCompilerMarkDefWide(CompilationUnit *cUnit, RegLocation rl, LIR *start, LIR *finish) argument 545 dvmCompilerWideToNarrow(CompilationUnit *cUnit, RegLocation rl) argument 577 dvmCompilerResetDefLoc(CompilationUnit *cUnit, RegLocation rl) argument 589 dvmCompilerResetDefLocWide(CompilationUnit *cUnit, RegLocation rl) argument 602 dvmCompilerResetDefTracking(CompilationUnit *cUnit) argument 613 dvmCompilerClobberAllRegs(CompilationUnit *cUnit) argument 625 dvmCompilerLockAllTemps(CompilationUnit *cUnit) argument 634 flushAllRegsBody(CompilationUnit *cUnit, RegisterInfo *info, int numRegs) argument 649 dvmCompilerFlushAllRegs(CompilationUnit *cUnit) argument 671 dvmCompilerMarkLive(CompilationUnit *cUnit, int reg, int sReg) argument 686 dvmCompilerMarkPair(CompilationUnit *cUnit, int lowReg, int highReg) argument 695 dvmCompilerMarkClean(CompilationUnit *cUnit, int reg) argument 701 dvmCompilerMarkDirty(CompilationUnit *cUnit, int reg) argument 707 dvmCompilerMarkInUse(CompilationUnit *cUnit, int reg) argument 713 copyRegInfo(CompilationUnit *cUnit, int newReg, int oldReg) argument 730 dvmCompilerUpdateLoc(CompilationUnit *cUnit, RegLocation loc) argument 750 dvmCompilerUpdateLocWide(CompilationUnit *cUnit, RegLocation loc) argument 800 evalLocWide(CompilationUnit *cUnit, RegLocation loc, int regClass, bool update) argument 851 dvmCompilerEvalLoc(CompilationUnit *cUnit, RegLocation loc, int regClass, bool update) argument 890 dvmCompilerGetSrc(CompilationUnit *cUnit, MIR *mir, int num) argument 900 dvmCompilerGetDest(CompilationUnit *cUnit, MIR *mir, int num) argument 909 getLocWide(CompilationUnit *cUnit, MIR *mir, int low, int high, bool isSrc) argument 933 dvmCompilerGetDestWide(CompilationUnit *cUnit, MIR *mir, int low, int high) argument 939 dvmCompilerGetSrcWide(CompilationUnit *cUnit, MIR *mir, int low, int high) argument 945 dvmCompilerGetReturnWide(CompilationUnit *cUnit) argument 956 dvmCompilerGetReturnWideAlt(CompilationUnit *cUnit) argument 969 dvmCompilerGetReturn(CompilationUnit *cUnit) argument 977 dvmCompilerGetReturnAlt(CompilationUnit *cUnit) argument 987 dvmCompilerKillNullCheckedLoc(CompilationUnit *cUnit, RegLocation loc) argument 1001 dvmCompilerFlushRegWideForV5TEVFP(CompilationUnit *cUnit, int reg1, int reg2) argument 1007 dvmCompilerFlushRegForV5TEVFP(CompilationUnit *cUnit, int reg) argument [all...] |
/dalvik/vm/compiler/codegen/arm/Thumb/ |
H A D | Ralloc.c | 29 int dvmCompilerAllocTypedTempPair(CompilationUnit *cUnit, bool fpHint, argument 35 lowReg = dvmCompilerAllocTemp(cUnit); 36 highReg = dvmCompilerAllocTemp(cUnit); 41 int dvmCompilerAllocTypedTemp(CompilationUnit *cUnit, bool fpHint, int regClass) argument 43 return dvmCompilerAllocTemp(cUnit);
|
H A D | Gen.c | 29 static void genNegFloat(CompilationUnit *cUnit, RegLocation rlDest, argument 33 rlSrc = loadValue(cUnit, rlSrc, kCoreReg); 34 rlResult = dvmCompilerEvalLoc(cUnit, rlDest, kCoreReg, true); 35 opRegRegImm(cUnit, kOpAdd, rlResult.lowReg, 37 storeValue(cUnit, rlDest, rlResult); 40 static void genNegDouble(CompilationUnit *cUnit, RegLocation rlDest, argument 44 rlSrc = loadValueWide(cUnit, rlSrc, kCoreReg); 45 rlResult = dvmCompilerEvalLoc(cUnit, rlDest, kCoreReg, true); 46 opRegRegImm(cUnit, kOpAdd, rlResult.highReg, rlSrc.highReg, 48 genRegCopy(cUnit, rlResul 52 genMulLong(CompilationUnit *cUnit, RegLocation rlDest, RegLocation rlSrc1, RegLocation rlSrc2) argument 68 genLong3Addr(CompilationUnit *cUnit, MIR *mir, OpKind firstOp, OpKind secondOp, RegLocation rlDest, RegLocation rlSrc1, RegLocation rlSrc2) argument 113 dvmCompilerInitializeRegAlloc(CompilationUnit *cUnit) argument 136 genExportPC(CompilationUnit *cUnit, MIR *mir) argument 149 genMonitor(CompilationUnit *cUnit, MIR *mir) argument 154 genCmpLong(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest, RegLocation rlSrc1, RegLocation rlSrc2) argument 165 genInlinedAbsFloat(CompilationUnit *cUnit, MIR *mir) argument 180 genInlinedAbsDouble(CompilationUnit *cUnit, MIR *mir) argument 199 genInlinedMinMaxInt(CompilationUnit *cUnit, MIR *mir, bool isMin) argument 219 genMultiplyByTwoBitMultiplier(CompilationUnit *cUnit, RegLocation rlSrc, RegLocation rlResult, int lit, int firstBit, int secondBit) argument [all...] |
/dalvik/vm/compiler/codegen/arm/Thumb2/ |
H A D | Ralloc.c | 32 int dvmCompilerAllocTypedTempPair(CompilationUnit *cUnit, argument 44 lowReg = dvmCompilerAllocTempDouble(cUnit); 47 lowReg = dvmCompilerAllocTemp(cUnit); 48 highReg = dvmCompilerAllocTemp(cUnit); 54 int dvmCompilerAllocTypedTemp(CompilationUnit *cUnit, bool fpHint, argument 61 return dvmCompilerAllocTempFloat(cUnit); 62 return dvmCompilerAllocTemp(cUnit);
|
H A D | Gen.c | 25 static void genNegFloat(CompilationUnit *cUnit, RegLocation rlDest, argument 29 rlSrc = loadValue(cUnit, rlSrc, kFPReg); 30 rlResult = dvmCompilerEvalLoc(cUnit, rlDest, kFPReg, true); 31 newLIR2(cUnit, kThumb2Vnegs, rlResult.lowReg, rlSrc.lowReg); 32 storeValue(cUnit, rlDest, rlResult); 35 static void genNegDouble(CompilationUnit *cUnit, RegLocation rlDest, argument 39 rlSrc = loadValueWide(cUnit, rlSrc, kFPReg); 40 rlResult = dvmCompilerEvalLoc(cUnit, rlDest, kFPReg, true); 41 newLIR2(cUnit, kThumb2Vnegd, S2D(rlResult.lowReg, rlResult.highReg), 43 storeValueWide(cUnit, rlDes 51 genMulLong(CompilationUnit *cUnit, RegLocation rlDest, RegLocation rlSrc1, RegLocation rlSrc2) argument 74 genLong3Addr(CompilationUnit *cUnit, MIR *mir, OpKind firstOp, OpKind secondOp, RegLocation rlDest, RegLocation rlSrc1, RegLocation rlSrc2) argument 88 dvmCompilerInitializeRegAlloc(CompilationUnit *cUnit) argument 122 genIT(CompilationUnit *cUnit, ArmConditionCode code, char *guide) argument 153 genExportPC(CompilationUnit *cUnit, MIR *mir) argument 192 genMonitorEnter(CompilationUnit *cUnit, MIR *mir) argument 252 genMonitorExit(CompilationUnit *cUnit, MIR *mir) argument 307 genMonitor(CompilationUnit *cUnit, MIR *mir) argument 330 genCmpLong(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest, RegLocation rlSrc1, RegLocation rlSrc2) argument 366 genInlinedAbsFloat(CompilationUnit *cUnit, MIR *mir) argument 377 genInlinedAbsDouble(CompilationUnit *cUnit, MIR *mir) argument 389 genInlinedMinMaxInt(CompilationUnit *cUnit, MIR *mir, bool isMin) argument 406 genMultiplyByTwoBitMultiplier(CompilationUnit *cUnit, RegLocation rlSrc, RegLocation rlResult, int lit, int firstBit, int secondBit) argument [all...] |
/dalvik/vm/compiler/codegen/arm/armv5te/ |
H A D | ArchVariant.c | 96 void dvmCompilerGenMemBarrier(CompilationUnit *cUnit) argument
|
/dalvik/vm/compiler/codegen/arm/armv5te-vfp/ |
H A D | ArchVariant.c | 96 void dvmCompilerGenMemBarrier(CompilationUnit *cUnit) argument
|
/dalvik/vm/compiler/codegen/arm/armv7-a/ |
H A D | ArchVariant.c | 91 void dvmCompilerGenMemBarrier(CompilationUnit *cUnit) argument 94 ArmLIR *dmb = newLIR1(cUnit, kThumb2Dmb, kSY); // Full system DMB
|
/dalvik/vm/compiler/codegen/arm/armv7-a-neon/ |
H A D | ArchVariant.c | 91 void dvmCompilerGenMemBarrier(CompilationUnit *cUnit) argument 94 ArmLIR *dmb = newLIR1(cUnit, kThumb2Dmb, kSY); // Full system DMB
|
/dalvik/vm/compiler/codegen/arm/FP/ |
H A D | ThumbPortableFP.c | 18 static bool genArithOpFloatPortable(CompilationUnit *cUnit, MIR *mir, 22 static bool genArithOpDoublePortable(CompilationUnit *cUnit, MIR *mir, 26 static bool genConversionPortable(CompilationUnit *cUnit, MIR *mir); 28 static bool genConversion(CompilationUnit *cUnit, MIR *mir) argument 30 return genConversionPortable(cUnit, mir); 33 static bool genArithOpFloat(CompilationUnit *cUnit, MIR *mir, argument 37 return genArithOpFloatPortable(cUnit, mir, rlDest, rlSrc1, rlSrc2); 40 static bool genArithOpDouble(CompilationUnit *cUnit, MIR *mir, argument 44 return genArithOpDoublePortable(cUnit, mir, rlDest, rlSrc1, rlSrc2); 47 static bool genInlineSqrt(CompilationUnit *cUnit, MI argument 52 genCmpFP(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest, RegLocation rlSrc1, RegLocation rlSrc2) argument [all...] |
H A D | ThumbVFP.c | 22 extern void dvmCompilerFlushRegWideForV5TEVFP(CompilationUnit *cUnit, 24 extern void dvmCompilerFlushRegForV5TEVFP(CompilationUnit *cUnit, int reg); 31 static void loadValueAddressDirect(CompilationUnit *cUnit, RegLocation rlSrc, argument 34 rlSrc = rlSrc.wide ? dvmCompilerUpdateLocWide(cUnit, rlSrc) : 35 dvmCompilerUpdateLoc(cUnit, rlSrc); 38 dvmCompilerFlushRegWideForV5TEVFP(cUnit, rlSrc.lowReg, 41 dvmCompilerFlushRegForV5TEVFP(cUnit, rlSrc.lowReg); 44 dvmCompilerClobber(cUnit, rDest); 45 dvmCompilerLockTemp(cUnit, rDest); 46 opRegRegImm(cUnit, kOpAd 50 genInlineSqrt(CompilationUnit *cUnit, MIR *mir) argument 69 genArithOpFloat(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest, RegLocation rlSrc1, RegLocation rlSrc2) argument 115 genArithOpDouble(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest, RegLocation rlSrc1, RegLocation rlSrc2) argument 159 genConversion(CompilationUnit *cUnit, MIR *mir) argument 231 genCmpFP(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest, RegLocation rlSrc1, RegLocation rlSrc2) argument [all...] |
H A D | Thumb2VFP.c | 17 static bool genArithOpFloat(CompilationUnit *cUnit, MIR *mir, argument 48 return genArithOpFloatPortable(cUnit, mir, rlDest, rlSrc1, 54 rlSrc1 = loadValue(cUnit, rlSrc1, kFPReg); 55 rlSrc2 = loadValue(cUnit, rlSrc2, kFPReg); 56 rlResult = dvmCompilerEvalLoc(cUnit, rlDest, kFPReg, true); 57 newLIR3(cUnit, op, rlResult.lowReg, rlSrc1.lowReg, rlSrc2.lowReg); 58 storeValue(cUnit, rlDest, rlResult); 62 static bool genArithOpDouble(CompilationUnit *cUnit, MIR *mir, argument 89 return genArithOpDoublePortable(cUnit, mir, rlDest, rlSrc1, 96 rlSrc1 = loadValueWide(cUnit, rlSrc 110 genConversion(CompilationUnit *cUnit, MIR *mir) argument 183 genInlineSqrt(CompilationUnit *cUnit, MIR *mir) argument 209 genCmpFP(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest, RegLocation rlSrc1, RegLocation rlSrc2) argument [all...] |
/dalvik/vm/compiler/ |
H A D | IntermediateRep.c | 78 void dvmCompilerAppendLIR(CompilationUnit *cUnit, LIR *lir) argument 80 if (cUnit->firstLIRInsn == NULL) { 81 assert(cUnit->lastLIRInsn == NULL); 82 cUnit->lastLIRInsn = cUnit->firstLIRInsn = lir; 85 cUnit->lastLIRInsn->next = lir; 86 lir->prev = cUnit->lastLIRInsn; 88 cUnit->lastLIRInsn = lir;
|
H A D | Ralloc.c | 63 static void inferTypes(CompilationUnit *cUnit, BasicBlock *bb) argument 76 cUnit->regLocation[ssaRep->uses[i]].fp = true; 80 cUnit->regLocation[ssaRep->defs[i]].fp = true; 90 static bool simpleTrace(CompilationUnit *cUnit) argument 121 void dvmCompilerRegAlloc(CompilationUnit *cUnit) argument 129 loc = (RegLocation*)dvmCompilerNew(cUnit->numSSARegs * sizeof(*loc), true); 130 for (i=0; i< cUnit->numSSARegs; i++) { 134 cUnit->regLocation = loc; 137 for (i=0; i < cUnit->numBlocks; i++) { 138 inferTypes(cUnit, cUni [all...] |
H A D | InlineTransformation.c | 37 static void inlineGetter(CompilationUnit *cUnit, argument 130 static void inlineSetter(CompilationUnit *cUnit, argument 211 static void tryInlineSingletonCallsite(CompilationUnit *cUnit, argument 236 inlineGetter(cUnit, calleeMethod, invokeMIR, invokeBB, false, isRange); 239 inlineSetter(cUnit, calleeMethod, invokeMIR, invokeBB, false, isRange); 244 static void inlineEmptyVirtualCallee(CompilationUnit *cUnit, argument 257 static void tryInlineVirtualCallsite(CompilationUnit *cUnit, argument 271 inlineEmptyVirtualCallee(cUnit, calleeMethod, invokeMIR, invokeBB); 276 inlineGetter(cUnit, calleeMethod, invokeMIR, invokeBB, true, isRange); 279 inlineSetter(cUnit, calleeMetho 285 dvmCompilerInlineMIR(CompilationUnit *cUnit) argument [all...] |
H A D | Loop.c | 39 static void handlePhiPlacement(CompilationUnit *cUnit) argument 41 BasicBlock *entry = cUnit->blockList[0]; 42 BasicBlock *loopBody = cUnit->blockList[1]; 43 BasicBlock *loopBranch = cUnit->blockList[2]; 47 BitVector *phiV = dvmCompilerAllocBitVector(cUnit->method->registersSize, 56 for (i = 0; i < cUnit->method->registersSize; i++) { 67 static void fillPhiNodeContents(CompilationUnit *cUnit) argument 69 BasicBlock *entry = cUnit->blockList[0]; 70 BasicBlock *loopBody = cUnit->blockList[1]; 71 BasicBlock *loopBranch = cUnit 165 isLoopOptimizable(CompilationUnit *cUnit) argument 257 updateRangeCheckInfo(CompilationUnit *cUnit, int arrayReg, int idxReg) argument 300 doLoopBodyCodeMotion(CompilationUnit *cUnit) argument 386 genHoistedChecks(CompilationUnit *cUnit) argument 474 dvmCompilerLoopOpt(CompilationUnit *cUnit) argument [all...] |
H A D | Dataflow.c | 811 int dvmConvertSSARegToDalvik(CompilationUnit *cUnit, int ssaReg) argument 813 return GET_ELEM_N(cUnit->ssaToDalvikMap, int, ssaReg); 874 char *dvmCompilerGetSSAString(CompilationUnit *cUnit, SSARepresentation *ssaRep) argument 882 int ssa2DalvikValue = dvmConvertSSARegToDalvik(cUnit, ssaRep->defs[i]); 894 int ssa2DalvikValue = dvmConvertSSARegToDalvik(cUnit, ssaRep->uses[i]); 931 void dvmCompilerFindLiveIn(CompilationUnit *cUnit, BasicBlock *bb) argument 942 dvmCompilerAllocBitVector(cUnit->method->registersSize, false); 944 dvmCompilerAllocBitVector(cUnit->method->registersSize, false); 946 dvmCompilerAllocBitVector(cUnit->method->registersSize, false); 983 static void handleSSAUse(CompilationUnit *cUnit, in argument 992 handleSSADef(CompilationUnit *cUnit, int *defs, int dalvikReg, int regIndex) argument 1010 dataFlowSSAFormat35C(CompilationUnit *cUnit, MIR *mir) argument 1025 dataFlowSSAFormat3RC(CompilationUnit *cUnit, MIR *mir) argument 1040 dvmCompilerDoSSAConversion(CompilationUnit *cUnit, BasicBlock *bb) argument 1156 setConstant(CompilationUnit *cUnit, int ssaReg, int value) argument 1162 dvmCompilerDoConstantPropagation(CompilationUnit *cUnit, BasicBlock *bb) argument 1234 dvmCompilerFindInductionVariables(struct CompilationUnit *cUnit, struct BasicBlock *bb) argument 1399 dvmInitializeSSAConversion(CompilationUnit *cUnit) argument 1445 dvmCompilerDataFlowAnalysisDispatcher(CompilationUnit *cUnit, void (*func)(CompilationUnit *, BasicBlock *)) argument 1456 dvmCompilerNonLoopAnalysis(CompilationUnit *cUnit) argument [all...] |
H A D | Utility.c | 134 void dvmCompilerDumpCompilationUnit(CompilationUnit *cUnit) argument 155 LOGD("Compiling %s %s", cUnit->method->clazz->descriptor, 156 cUnit->method->name); 157 LOGD("%d insns", dvmGetMethodInsnsSize(cUnit->method)); 158 LOGD("%d blocks in total", cUnit->numBlocks); 160 for (i = 0; i < cUnit->numBlocks; i++) { 161 bb = cUnit->blockList[i]; 306 void dvmCompilerAbort(CompilationUnit *cUnit) argument 315 longjmp(*cUnit->bailPtr, 1);
|
H A D | Frontend.c | 425 CompilationUnit cUnit; local 441 memset(&cUnit, 0, sizeof(CompilationUnit)); 449 cUnit.bailPtr = bailPtr; 452 cUnit.printMe = gDvmJit.printMe; 455 cUnit.executionCount = gDvmJit.profile; 458 cUnit.method = desc->method; 461 dvmInitGrowableList(&cUnit.pcReconstructionList, 8); 525 cUnit.allSingleStep = true; 531 cUnit.printMe = true; 550 if (cUnit 1068 dvmCompileMethod(CompilationUnit *cUnit, const Method *method, JitTranslationInfo *info) argument [all...] |