/dalvik/vm/compiler/codegen/arm/armv7-a-neon/ |
D | MethodCodegenDriver.cpp | 40 static void genMethodInflateAndPunt(CompilationUnit *cUnit, MIR *mir, 69 loadConstant(cUnit, currentPC, (int) (cUnit->method->insns + mir->offset)); 98 genPuntToInterp(cUnit, mir->offset); 108 static bool handleMethodFmt10t_Fmt20t_Fmt30t(CompilationUnit *cUnit, MIR *mir, 112 bool backwardBranch = (bb->taken->startOffset <= mir->offset); 115 genSuspendPoll(cUnit, mir); 123 static bool handleMethodFmt10x(CompilationUnit *cUnit, MIR *mir) 125 Opcode dalvikOpcode = mir->dalvikInsn.opcode; 130 return handleFmt10x(cUnit, mir); 134 static bool handleMethodFmt11n_Fmt31i(CompilationUnit *cUnit, MIR *mir) [all …]
|
/dalvik/vm/compiler/codegen/arm/ |
D | CodegenDriver.cpp | 47 static bool genConversionCall(CompilationUnit *cUnit, MIR *mir, void *funct, in genConversionCall() argument 58 rlSrc = dvmCompilerGetSrc(cUnit, mir, 0); in genConversionCall() 61 rlSrc = dvmCompilerGetSrcWide(cUnit, mir, 0, 1); in genConversionCall() 69 rlDest = dvmCompilerGetDest(cUnit, mir, 0); in genConversionCall() 74 rlDest = dvmCompilerGetDestWide(cUnit, mir, 0, 1); in genConversionCall() 81 static bool genArithOpFloatPortable(CompilationUnit *cUnit, MIR *mir, in genArithOpFloatPortable() argument 88 switch (mir->dalvikInsn.opcode) { in genArithOpFloatPortable() 127 static bool genArithOpDoublePortable(CompilationUnit *cUnit, MIR *mir, in genArithOpDoublePortable() argument 134 switch (mir->dalvikInsn.opcode) { in genArithOpDoublePortable() 176 static bool genConversionPortable(CompilationUnit *cUnit, MIR *mir) in genConversionPortable() argument [all …]
|
D | Codegen.h | 38 static bool genArithOpFloatPortable(CompilationUnit *cUnit, MIR *mir, 42 static bool genArithOpDoublePortable(CompilationUnit *cUnit, MIR *mir, 46 static bool genConversionPortable(CompilationUnit *cUnit, MIR *mir); 49 static void genMonitorPortable(CompilationUnit *cUnit, MIR *mir); 52 static void genInterpSingleStep(CompilationUnit *cUnit, MIR *mir);
|
D | CodegenCommon.cpp | 341 static RegLocation inlinedTarget(CompilationUnit *cUnit, MIR *mir, in inlinedTarget() argument 344 if (mir->next && in inlinedTarget() 345 ((mir->next->dalvikInsn.opcode == OP_MOVE_RESULT) || in inlinedTarget() 346 (mir->next->dalvikInsn.opcode == OP_MOVE_RESULT_OBJECT))) { in inlinedTarget() 347 mir->next->dalvikInsn.opcode = OP_NOP; in inlinedTarget() 348 return dvmCompilerGetDest(cUnit, mir->next, 0); in inlinedTarget() 422 static RegLocation inlinedTargetWide(CompilationUnit *cUnit, MIR *mir, in inlinedTargetWide() argument 425 if (mir->next && in inlinedTargetWide() 426 (mir->next->dalvikInsn.opcode == OP_MOVE_RESULT_WIDE)) { in inlinedTargetWide() 427 mir->next->dalvikInsn.opcode = OP_NOP; in inlinedTargetWide() [all …]
|
/dalvik/vm/compiler/codegen/mips/ |
D | CodegenDriver.cpp | 47 static bool genConversionCall(CompilationUnit *cUnit, MIR *mir, void *funct, in genConversionCall() argument 85 rlSrc = dvmCompilerGetSrc(cUnit, mir, 0); in genConversionCall() 88 rlSrc = dvmCompilerGetSrcWide(cUnit, mir, 0, 1); in genConversionCall() 97 rlDest = dvmCompilerGetDest(cUnit, mir, 0); in genConversionCall() 109 rlDest = dvmCompilerGetDestWide(cUnit, mir, 0, 1); in genConversionCall() 124 static bool genArithOpFloatPortable(CompilationUnit *cUnit, MIR *mir, in genArithOpFloatPortable() argument 131 switch (mir->dalvikInsn.opcode) { in genArithOpFloatPortable() 181 static bool genArithOpDoublePortable(CompilationUnit *cUnit, MIR *mir, in genArithOpDoublePortable() argument 188 switch (mir->dalvikInsn.opcode) { in genArithOpDoublePortable() 240 static bool genConversionPortable(CompilationUnit *cUnit, MIR *mir) in genConversionPortable() argument [all …]
|
D | Codegen.h | 38 static bool genArithOpFloatPortable(CompilationUnit *cUnit, MIR *mir, 42 static bool genArithOpDoublePortable(CompilationUnit *cUnit, MIR *mir, 46 static bool genConversionPortable(CompilationUnit *cUnit, MIR *mir); 48 static void genMonitorPortable(CompilationUnit *cUnit, MIR *mir); 50 static void genInterpSingleStep(CompilationUnit *cUnit, MIR *mir);
|
D | Ralloc.h | 77 static inline int dvmCompilerSSASrc(MIR *mir, int num) in dvmCompilerSSASrc() argument 79 assert(mir->ssaRep->numUses > num); in dvmCompilerSSASrc() 80 return mir->ssaRep->uses[num]; in dvmCompilerSSASrc() 129 extern RegLocation dvmCompilerGetSrcWide(CompilationUnit *cUnit, MIR *mir, 132 extern RegLocation dvmCompilerGetDestWide(CompilationUnit *cUnit, MIR *mir, 135 extern RegLocation dvmCompilerGetSrc(CompilationUnit *cUnit, MIR *mir, int num); 138 extern RegLocation dvmCompilerGetDest(CompilationUnit *cUnit, MIR *mir,
|
D | CodegenCommon.cpp | 347 static RegLocation inlinedTarget(CompilationUnit *cUnit, MIR *mir, in inlinedTarget() argument 350 if (mir->next && in inlinedTarget() 351 ((mir->next->dalvikInsn.opcode == OP_MOVE_RESULT) || in inlinedTarget() 352 (mir->next->dalvikInsn.opcode == OP_MOVE_RESULT_OBJECT))) { in inlinedTarget() 353 mir->next->dalvikInsn.opcode = OP_NOP; in inlinedTarget() 354 return dvmCompilerGetDest(cUnit, mir->next, 0); in inlinedTarget() 385 static RegLocation inlinedTargetWide(CompilationUnit *cUnit, MIR *mir, in inlinedTargetWide() argument 388 if (mir->next && in inlinedTargetWide() 389 (mir->next->dalvikInsn.opcode == OP_MOVE_RESULT_WIDE)) { in inlinedTargetWide() 390 mir->next->dalvikInsn.opcode = OP_NOP; in inlinedTargetWide() [all …]
|
D | RallocUtil.cpp | 901 static inline int getDestSSAName(MIR *mir, int num) in getDestSSAName() argument 903 assert(mir->ssaRep->numDefs > num); in getDestSSAName() 904 return mir->ssaRep->defs[num]; in getDestSSAName() 908 extern RegLocation dvmCompilerGetSrc(CompilationUnit *cUnit, MIR *mir, int num) in dvmCompilerGetSrc() argument 911 SREG(cUnit, dvmCompilerSSASrc(mir, num))]; in dvmCompilerGetSrc() 912 loc.fp = cUnit->regLocation[dvmCompilerSSASrc(mir, num)].fp; in dvmCompilerGetSrc() 918 extern RegLocation dvmCompilerGetDest(CompilationUnit *cUnit, MIR *mir, in dvmCompilerGetDest() argument 921 RegLocation loc = cUnit->regLocation[SREG(cUnit, getDestSSAName(mir, num))]; in dvmCompilerGetDest() 922 loc.fp = cUnit->regLocation[getDestSSAName(mir, num)].fp; in dvmCompilerGetDest() 927 static RegLocation getLocWide(CompilationUnit *cUnit, MIR *mir, in getLocWide() argument [all …]
|
/dalvik/vm/compiler/codegen/arm/FP/ |
D | ThumbPortableFP.cpp | 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 handleExecuteInlineC(CompilationUnit *cUnit, MIR *mir); 30 static bool genConversion(CompilationUnit *cUnit, MIR *mir) in genConversion() argument 32 return genConversionPortable(cUnit, mir); in genConversion() 35 static bool genArithOpFloat(CompilationUnit *cUnit, MIR *mir, in genArithOpFloat() argument 39 return genArithOpFloatPortable(cUnit, mir, rlDest, rlSrc1, rlSrc2); in genArithOpFloat() 42 static bool genArithOpDouble(CompilationUnit *cUnit, MIR *mir, in genArithOpDouble() argument 46 return genArithOpDoublePortable(cUnit, mir, rlDest, rlSrc1, rlSrc2); in genArithOpDouble() [all …]
|
D | ThumbVFP.cpp | 45 static bool genInlineSqrt(CompilationUnit *cUnit, MIR *mir) in genInlineSqrt() argument 47 RegLocation rlSrc = dvmCompilerGetSrcWide(cUnit, mir, 0, 1); in genInlineSqrt() 64 static bool genArithOpFloat(CompilationUnit *cUnit, MIR *mir, in genArithOpFloat() argument 74 switch (mir->dalvikInsn.opcode) { in genArithOpFloat() 94 return genArithOpFloatPortable(cUnit, mir, rlDest, rlSrc1, rlSrc2); in genArithOpFloat() 110 static bool genArithOpDouble(CompilationUnit *cUnit, MIR *mir, in genArithOpDouble() argument 116 switch (mir->dalvikInsn.opcode) { in genArithOpDouble() 136 return genArithOpDoublePortable(cUnit, mir, rlDest, rlSrc1, in genArithOpDouble() 154 static bool genConversion(CompilationUnit *cUnit, MIR *mir) in genConversion() argument 156 Opcode opcode = mir->dalvikInsn.opcode; in genConversion() [all …]
|
D | Thumb2VFP.cpp | 17 static bool genArithOpFloat(CompilationUnit *cUnit, MIR *mir, in genArithOpFloat() argument 28 switch (mir->dalvikInsn.opcode) { in genArithOpFloat() 48 return genArithOpFloatPortable(cUnit, mir, rlDest, rlSrc1, in genArithOpFloat() 63 static bool genArithOpDouble(CompilationUnit *cUnit, MIR *mir, in genArithOpDouble() argument 70 switch (mir->dalvikInsn.opcode) { in genArithOpDouble() 90 return genArithOpDoublePortable(cUnit, mir, rlDest, rlSrc1, in genArithOpDouble() 111 static bool genConversion(CompilationUnit *cUnit, MIR *mir) in genConversion() argument 113 Opcode opcode = mir->dalvikInsn.opcode; in genConversion() 157 return genConversionPortable(cUnit, mir); in genConversion() 162 rlSrc = dvmCompilerGetSrcWide(cUnit, mir, 0, 1); in genConversion() [all …]
|
/dalvik/vm/compiler/ |
D | IntermediateRep.cpp | 32 void dvmCompilerAppendMIR(BasicBlock *bb, MIR *mir) in dvmCompilerAppendMIR() argument 36 bb->lastMIRInsn = bb->firstMIRInsn = mir; in dvmCompilerAppendMIR() 37 mir->prev = mir->next = NULL; in dvmCompilerAppendMIR() 39 bb->lastMIRInsn->next = mir; in dvmCompilerAppendMIR() 40 mir->prev = bb->lastMIRInsn; in dvmCompilerAppendMIR() 41 mir->next = NULL; in dvmCompilerAppendMIR() 42 bb->lastMIRInsn = mir; in dvmCompilerAppendMIR() 47 void dvmCompilerPrependMIR(BasicBlock *bb, MIR *mir) in dvmCompilerPrependMIR() argument 51 bb->lastMIRInsn = bb->firstMIRInsn = mir; in dvmCompilerPrependMIR() 52 mir->prev = mir->next = NULL; in dvmCompilerPrependMIR() [all …]
|
D | Dataflow.cpp | 922 const MIR *mir) in dvmCompilerFullDisassembler() argument 926 const DecodedInstruction *insn = &mir->dalvikInsn; in dvmCompilerFullDisassembler() 937 getSSAName(cUnit, mir->ssaRep->defs[0], operand0), in dvmCompilerFullDisassembler() 938 getSSAName(cUnit, mir->ssaRep->uses[0], operand1)); in dvmCompilerFullDisassembler() 940 for (i = 1; i < mir->ssaRep->numUses; i++) { in dvmCompilerFullDisassembler() 942 getSSAName(cUnit, mir->ssaRep->uses[i], operand0)); in dvmCompilerFullDisassembler() 962 getSSAName(cUnit, mir->ssaRep->uses[0], operand0)); in dvmCompilerFullDisassembler() 967 getSSAName(cUnit, mir->ssaRep->uses[0], operand0), in dvmCompilerFullDisassembler() 968 getSSAName(cUnit, mir->ssaRep->uses[1], operand1)); in dvmCompilerFullDisassembler() 982 mir->offset + delta); in dvmCompilerFullDisassembler() [all …]
|
D | Ralloc.cpp | 29 MIR *mir; in inferTypes() local 33 for (mir = bb->firstMIRInsn; mir; mir = mir->next) { in inferTypes() 34 SSARepresentation *ssaRep = mir->ssaRep; in inferTypes()
|
D | SSATransformation.cpp | 506 MIR *mir; in insertPhiNodeOperands() local 509 for (mir = bb->firstMIRInsn; mir; mir = mir->next) { in insertPhiNodeOperands() 510 if (mir->dalvikInsn.opcode != (Opcode)kMirOpPhi) in insertPhiNodeOperands() 512 int ssaReg = mir->ssaRep->defs[0]; in insertPhiNodeOperands() 534 mir->ssaRep->numUses = numUses; in insertPhiNodeOperands() 535 mir->ssaRep->uses = in insertPhiNodeOperands() 537 mir->ssaRep->fpUse = in insertPhiNodeOperands() 543 int *usePtr = mir->ssaRep->uses; in insertPhiNodeOperands()
|
D | Loop.cpp | 346 MIR *mir; in doLoopBodyCodeMotion() local 349 for (mir = loopBody->firstMIRInsn; mir; mir = mir->next) { in doLoopBodyCodeMotion() 350 DecodedInstruction *dInsn = &mir->dalvikInsn; in doLoopBodyCodeMotion() 352 dvmCompilerDataFlowAttributes[mir->dalvikInsn.opcode]; in doLoopBodyCodeMotion() 400 dvmConvertSSARegToDalvik(cUnit, mir->ssaRep->uses[refIdx]); in doLoopBodyCodeMotion() 417 mir->ssaRep->uses[useIdx])) { in doLoopBodyCodeMotion() 418 mir->OptimizationFlags |= in doLoopBodyCodeMotion() 420 updateRangeCheckInfo(cUnit, mir->ssaRep->uses[refIdx], in doLoopBodyCodeMotion() 421 mir->ssaRep->uses[useIdx]); in doLoopBodyCodeMotion()
|
/dalvik/vm/compiler/codegen/mips/FP/ |
D | MipsFP.cpp | 44 static bool genInlineSqrt(CompilationUnit *cUnit, MIR *mir) in genInlineSqrt() argument 46 RegLocation rlSrc = dvmCompilerGetSrcWide(cUnit, mir, 0, 1); in genInlineSqrt() 67 static bool genArithOpFloat(CompilationUnit *cUnit, MIR *mir, in genArithOpFloat() argument 79 switch (mir->dalvikInsn.opcode) { in genArithOpFloat() 99 return genArithOpFloatPortable(cUnit, mir, rlDest, rlSrc1, rlSrc2); in genArithOpFloat() 118 switch (mir->dalvikInsn.opcode) { in genArithOpFloat() 138 return genArithOpFloatPortable(cUnit, mir, rlDest, rlSrc1, rlSrc2); in genArithOpFloat() 157 static bool genArithOpDouble(CompilationUnit *cUnit, MIR *mir, in genArithOpDouble() argument 165 switch (mir->dalvikInsn.opcode) { in genArithOpDouble() 185 return genArithOpDoublePortable(cUnit, mir, rlDest, rlSrc1, rlSrc2); in genArithOpDouble() [all …]
|
/dalvik/tests/040-miranda/src/ |
D | Main.java | 8 MirandaClass mir = new MirandaClass(); in main() local 10 System.out.println(" inInterface: " + mir.inInterface()); in main() 11 System.out.println(" inInterface2: " + mir.inInterface2()); in main() 12 System.out.println(" inAbstract: " + mir.inAbstract()); in main() 15 MirandaAbstract mira = mir; in main()
|
/dalvik/vm/compiler/codegen/arm/Thumb2/ |
D | Gen.cpp | 125 static void genLong3Addr(CompilationUnit *cUnit, MIR *mir, OpKind firstOp, in genLong3Addr() argument 198 static ArmLIR *genExportPC(CompilationUnit *cUnit, MIR *mir) in genExportPC() argument 203 res = loadConstant(cUnit, rDPC, (int) (cUnit->method->insns + mir->offset)); in genExportPC() 237 static void genMonitorEnter(CompilationUnit *cUnit, MIR *mir) in genMonitorEnter() argument 239 RegLocation rlSrc = dvmCompilerGetSrc(cUnit, mir, 0); in genMonitorEnter() 249 genNullCheck(cUnit, rlSrc.sRegLow, r1, mir->offset, NULL); in genMonitorEnter() 268 loadConstant(cUnit, r3, (int) (cUnit->method->insns + mir->offset)); in genMonitorEnter() 271 loadConstant(cUnit, r4PC, (int)(cUnit->method->insns + mir->offset + in genMonitorEnter() 292 static void genMonitorExit(CompilationUnit *cUnit, MIR *mir) in genMonitorExit() argument 294 RegLocation rlSrc = dvmCompilerGetSrc(cUnit, mir, 0); in genMonitorExit() [all …]
|
/dalvik/vm/compiler/codegen/ |
D | Ralloc.h | 73 static inline int dvmCompilerSSASrc(MIR *mir, int num) in dvmCompilerSSASrc() argument 75 assert(mir->ssaRep->numUses > num); in dvmCompilerSSASrc() 76 return mir->ssaRep->uses[num]; in dvmCompilerSSASrc() 125 extern RegLocation dvmCompilerGetSrcWide(CompilationUnit *cUnit, MIR *mir, 128 extern RegLocation dvmCompilerGetDestWide(CompilationUnit *cUnit, MIR *mir, 131 extern RegLocation dvmCompilerGetSrc(CompilationUnit *cUnit, MIR *mir, int num); 134 extern RegLocation dvmCompilerGetDest(CompilationUnit *cUnit, MIR *mir,
|
D | RallocUtil.cpp | 829 static inline int getDestSSAName(MIR *mir, int num) in getDestSSAName() argument 831 assert(mir->ssaRep->numDefs > num); in getDestSSAName() 832 return mir->ssaRep->defs[num]; in getDestSSAName() 836 extern RegLocation dvmCompilerGetSrc(CompilationUnit *cUnit, MIR *mir, int num) in dvmCompilerGetSrc() argument 839 SREG(cUnit, dvmCompilerSSASrc(mir, num))]; in dvmCompilerGetSrc() 840 loc.fp = cUnit->regLocation[dvmCompilerSSASrc(mir, num)].fp; in dvmCompilerGetSrc() 846 extern RegLocation dvmCompilerGetDest(CompilationUnit *cUnit, MIR *mir, in dvmCompilerGetDest() argument 849 RegLocation loc = cUnit->regLocation[SREG(cUnit, getDestSSAName(mir, num))]; in dvmCompilerGetDest() 850 loc.fp = cUnit->regLocation[getDestSSAName(mir, num)].fp; in dvmCompilerGetDest() 855 static RegLocation getLocWide(CompilationUnit *cUnit, MIR *mir, in getLocWide() argument [all …]
|
/dalvik/vm/compiler/codegen/arm/Thumb/ |
D | Gen.cpp | 124 static void genLong3Addr(CompilationUnit *cUnit, MIR *mir, OpKind firstOp, in genLong3Addr() argument 133 genInterpSingleStep(cUnit, mir); in genLong3Addr() 186 static ArmLIR *genExportPC(CompilationUnit *cUnit, MIR *mir) in genExportPC() argument 192 res = loadConstant(cUnit, rDPC, (int) (cUnit->method->insns + mir->offset)); in genExportPC() 199 static void genMonitor(CompilationUnit *cUnit, MIR *mir) in genMonitor() argument 201 genMonitorPortable(cUnit, mir); in genMonitor() 204 static void genCmpLong(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest, in genCmpLong() argument 215 static bool genInlinedAbsFloat(CompilationUnit *cUnit, MIR *mir) in genInlinedAbsFloat() argument 218 RegLocation rlSrc = dvmCompilerGetSrc(cUnit, mir, 0); in genInlinedAbsFloat() 230 static bool genInlinedAbsDouble(CompilationUnit *cUnit, MIR *mir) in genInlinedAbsDouble() argument [all …]
|
/dalvik/vm/compiler/codegen/x86/ |
D | CodegenInterface.cpp | 784 static void genHoistedChecksForCountUpLoop(CompilationUnit *cUnit, MIR *mir) in genHoistedChecksForCountUpLoop() argument 792 DecodedInstruction *dInsn = &mir->dalvikInsn; in genHoistedChecksForCountUpLoop() 796 get_virtual_reg(mir->dalvikInsn.vA, OpndSize_32, P_GPR_1, true); in genHoistedChecksForCountUpLoop() 798 get_virtual_reg(mir->dalvikInsn.vC, OpndSize_32, P_GPR_2, true); in genHoistedChecksForCountUpLoop() 829 static void genHoistedChecksForCountDownLoop(CompilationUnit *cUnit, MIR *mir) in genHoistedChecksForCountDownLoop() argument 831 DecodedInstruction *dInsn = &mir->dalvikInsn; in genHoistedChecksForCountDownLoop() 835 get_virtual_reg(mir->dalvikInsn.vA, OpndSize_32, P_GPR_1, true); in genHoistedChecksForCountDownLoop() 837 get_virtual_reg(mir->dalvikInsn.vB, OpndSize_32, P_GPR_2, true); in genHoistedChecksForCountDownLoop() 860 static void genHoistedLowerBoundCheck(CompilationUnit *cUnit, MIR *mir) in genHoistedLowerBoundCheck() argument 862 DecodedInstruction *dInsn = &mir->dalvikInsn; in genHoistedLowerBoundCheck() [all …]
|
/dalvik/vm/compiler/codegen/mips/Mips32/ |
D | Gen.cpp | 132 static void genLong3Addr(CompilationUnit *cUnit, MIR *mir, OpKind firstOp, in genLong3Addr() argument 143 genInterpSingleStep(cUnit, mir); in genLong3Addr() 218 static MipsLIR *genExportPC(CompilationUnit *cUnit, MIR *mir) in genExportPC() argument 224 res = loadConstant(cUnit, rDPC, (int) (cUnit->method->insns + mir->offset)); in genExportPC() 230 static void genMonitor(CompilationUnit *cUnit, MIR *mir) in genMonitor() argument 232 genMonitorPortable(cUnit, mir); in genMonitor() 235 static void genCmpLong(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest, in genCmpLong() argument 246 static bool genInlinedAbsFloat(CompilationUnit *cUnit, MIR *mir) in genInlinedAbsFloat() argument 249 RegLocation rlSrc = dvmCompilerGetSrc(cUnit, mir, 0); in genInlinedAbsFloat() 263 static bool genInlinedAbsDouble(CompilationUnit *cUnit, MIR *mir) in genInlinedAbsDouble() argument [all …]
|