/art/compiler/dex/quick/ |
gen_loadstore.cc | 92 void Mir2Lir::LoadValueDirect(RegLocation rl_src, int r_dest) { 93 rl_src = UpdateLoc(rl_src); 94 if (rl_src.location == kLocPhysReg) { 95 OpRegCopy(r_dest, rl_src.low_reg); 96 } else if (IsInexpensiveConstant(rl_src)) { 97 LoadConstantNoClobber(r_dest, mir_graph_->ConstantValue(rl_src)); 99 DCHECK((rl_src.location == kLocDalvikFrame) || 100 (rl_src.location == kLocCompilerTemp)); 101 LoadWordDisp(TargetReg(kSp), SRegOffset(rl_src.s_reg_low), r_dest) [all...] |
mir_to_lir.cc | 30 RegLocation rl_src[3]; local 42 rl_src[0] = rl_src[1] = rl_src[2] = mir_graph_->GetBadLoc(); 45 rl_src[next_loc++] = mir_graph_->GetSrcWide(mir, next_sreg); 48 rl_src[next_loc++] = mir_graph_->GetSrc(mir, next_sreg); 54 rl_src[next_loc++] = mir_graph_->GetSrcWide(mir, next_sreg); 57 rl_src[next_loc++] = mir_graph_->GetSrc(mir, next_sreg); 63 rl_src[next_loc++] = mir_graph_->GetSrcWide(mir, next_sreg); 65 rl_src[next_loc++] = mir_graph_->GetSrc(mir, next_sreg) 660 RegLocation rl_src = mir_graph_->GetSrc(mir, 0); local [all...] |
gen_common.cc | 140 void Mir2Lir::GenCompareZeroAndBranch(Instruction::Code opcode, RegLocation rl_src, LIR* taken, 143 rl_src = LoadValue(rl_src, kCoreReg); 167 OpCmpImmBranch(cond, rl_src.low_reg, 0, taken); 171 void Mir2Lir::GenIntToLong(RegLocation rl_dest, RegLocation rl_src) { 173 if (rl_src.location == kLocPhysReg) { 174 OpRegCopy(rl_result.low_reg, rl_src.low_reg); 176 LoadValueDirect(rl_src, rl_result.low_reg); 183 RegLocation rl_src) { 184 rl_src = LoadValue(rl_src, kCoreReg) 888 CallRuntimeHelperRegLocation(QUICK_ENTRYPOINT_OFFSET(pDeliverException), rl_src, true); local [all...] |
mir_to_lir.h | 280 bool IsInexpensiveConstant(RegLocation rl_src); 380 RegLocation rl_src, RegLocation rl_dest, int lit); 381 bool HandleEasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit); 394 void GenCompareZeroAndBranch(Instruction::Code opcode, RegLocation rl_src, 396 void GenIntToLong(RegLocation rl_dest, RegLocation rl_src); 398 RegLocation rl_src); 400 RegLocation rl_src); 402 void GenSput(uint32_t field_idx, RegLocation rl_src, 409 RegLocation rl_src, RegLocation rl_obj, bool is_long_or_double, bool is_object); 413 void GenThrow(RegLocation rl_src); [all...] |
gen_invoke.cc | 243 RegLocation rl_src = rl_method; local 244 rl_src.location = kLocPhysReg; 245 rl_src.low_reg = TargetReg(kArg0); 246 rl_src.home = false; 247 MarkLive(rl_src.low_reg, rl_src.s_reg_low); 248 StoreValue(rl_method, rl_src); 970 RegLocation rl_src = info->args[0]; local 989 RegLocation rl_src = info->args[0]; local 1005 RegLocation rl_src = info->args[0]; local 1029 RegLocation rl_src = info->args[0]; local 1040 RegLocation rl_src = info->args[0]; local [all...] |
codegen_util.cc | 27 bool Mir2Lir::IsInexpensiveConstant(RegLocation rl_src) { 29 if (rl_src.is_const) { 30 if (rl_src.wide) { 31 if (rl_src.fp) { 32 res = InexpensiveConstantDouble(mir_graph_->ConstantValueWide(rl_src)); 34 res = InexpensiveConstantLong(mir_graph_->ConstantValueWide(rl_src)); 37 if (rl_src.fp) { 38 res = InexpensiveConstantFloat(mir_graph_->ConstantValue(rl_src)); 40 res = InexpensiveConstantInt(mir_graph_->ConstantValue(rl_src)); [all...] |
/art/compiler/dex/portable/ |
mir_to_gbc.cc | 127 int32_t table_offset, RegLocation rl_src) { 132 ::llvm::Value* value = GetLLVMValue(rl_src.orig_sreg); 151 int32_t table_offset, RegLocation rl_src) { 159 ::llvm::Value* value = GetLLVMValue(rl_src.orig_sreg); 186 art::llvm::IntrinsicHelper::IntrinsicId id, RegLocation rl_src) { 189 args.push_back(GetLLVMValue(rl_src.orig_sreg)); 261 void MirConverter::ConvertThrow(RegLocation rl_src) { 262 ::llvm::Value* src = GetLLVMValue(rl_src.orig_sreg); 270 RegLocation rl_src) { 273 args.push_back(GetLLVMValue(rl_src.orig_sreg)) 689 RegLocation rl_src[3]; local [all...] |
mir_to_gbc.h | 88 RegLocation rl_src); 90 RegLocation rl_src); 94 art::llvm::IntrinsicHelper::IntrinsicId id, RegLocation rl_src); 102 void ConvertThrow(RegLocation rl_src); 104 art::llvm::IntrinsicHelper::IntrinsicId id, RegLocation rl_src); 106 RegLocation rl_src); 123 RegLocation rl_dest, RegLocation rl_src, int shift_amount); 132 void ConvertCheckCast(uint32_t type_idx, RegLocation rl_src); 135 RegLocation rl_src); 139 RegLocation rl_src, RegLocation rl_array, RegLocation rl_index) [all...] |
/art/compiler/dex/quick/mips/ |
fp_mips.cc | 120 RegLocation rl_src) { 138 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pF2iz), rl_dest, rl_src); local 141 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pD2iz), rl_dest, rl_src); local 144 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pL2d), rl_dest, rl_src); local 147 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pF2l), rl_dest, rl_src); local 150 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pL2f), rl_dest, rl_src); local 153 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pD2l), rl_dest, rl_src); local 158 if (rl_src.wide) { 159 rl_src = LoadValueWide(rl_src, kFPReg) [all...] |
call_mips.cc | 63 RegLocation rl_src) { 109 rl_src = LoadValue(rl_src, kCoreReg); 117 OpCmpBranch(kCondNe, rl_src.low_reg, r_key, loop_label); 142 RegLocation rl_src) { 158 rl_src = LoadValue(rl_src, kCoreReg); 165 r_key = rl_src.low_reg; 182 OpRegRegReg(kOpSub, r_key, rl_src.low_reg, r_key); 184 OpRegRegImm(kOpSub, r_key, rl_src.low_reg, low_key) [all...] |
codegen_mips.h | 30 bool SmallLiteralDivRem(Instruction::Code dalvik_opcode, bool is_div, RegLocation rl_src, 90 RegLocation rl_src, int scale); 94 RegLocation rl_index, RegLocation rl_src, int scale); 106 void GenConversion(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src); 110 void GenNegLong(RegLocation rl_dest, RegLocation rl_src); 122 void GenFillArrayData(uint32_t table_offset, RegLocation rl_src); 127 void GenMonitorEnter(int opt_flags, RegLocation rl_src); 128 void GenMonitorExit(int opt_flags, RegLocation rl_src); 130 void GenMultiplyByTwoBitMultiplier(RegLocation rl_src, RegLocation rl_result, int lit, 132 void GenNegDouble(RegLocation rl_dest, RegLocation rl_src); [all...] |
int_mips.cc | 286 void MipsMir2Lir::GenMultiplyByTwoBitMultiplier(RegLocation rl_src, 290 OpRegRegImm(kOpLsl, t_reg, rl_src.low_reg, second_bit - first_bit); 291 OpRegRegReg(kOpAdd, rl_result.low_reg, rl_src.low_reg, t_reg); 318 RegLocation rl_src, RegLocation rl_dest, int lit) { 377 void MipsMir2Lir::GenNegLong(RegLocation rl_dest, RegLocation rl_src) { 378 rl_src = LoadValueWide(rl_src, kCoreReg); 388 OpRegReg(kOpNeg, rl_result.low_reg, rl_src.low_reg); 389 OpRegReg(kOpNeg, rl_result.high_reg, rl_src.high_reg); 487 RegLocation rl_index, RegLocation rl_src, int scale) [all...] |
/art/compiler/dex/quick/x86/ |
call_x86.cc | 35 RegLocation rl_src) { 43 rl_src = LoadValue(rl_src, kCoreReg); 48 OpCmpImmBranch(kCondEq, rl_src.low_reg, key, 70 RegLocation rl_src) { 86 rl_src = LoadValue(rl_src, kCoreReg); 95 keyReg = rl_src.low_reg; 98 OpRegRegImm(kOpSub, keyReg, rl_src.low_reg, low_key); 129 void X86Mir2Lir::GenFillArrayData(uint32_t table_offset, RegLocation rl_src) { [all...] |
fp_x86.cc | 134 RegLocation rl_src) { 157 rl_src = LoadValue(rl_src, kFPReg); 158 src_reg = rl_src.low_reg; 179 rl_src = LoadValueWide(rl_src, kFPReg); 180 src_reg = rl_src.low_reg; 201 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pL2d), rl_dest, rl_src); local 205 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pL2f), rl_dest, rl_src); local 208 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pF2l), rl_dest, rl_src); local 211 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pD2l), rl_dest, rl_src); local [all...] |
int_x86.cc | 267 void X86Mir2Lir::GenMultiplyByTwoBitMultiplier(RegLocation rl_src, 271 OpRegRegImm(kOpLsl, t_reg, rl_src.low_reg, second_bit - first_bit); 272 OpRegRegReg(kOpAdd, rl_result.low_reg, rl_src.low_reg, t_reg); 299 RegLocation rl_src, RegLocation rl_dest, int lit) { 393 void X86Mir2Lir::GenNegLong(RegLocation rl_dest, RegLocation rl_src) { 396 LoadValueDirectWideFixed(rl_src, r0, r1); 469 RegLocation rl_index, RegLocation rl_src, int scale) { 491 rl_src = LoadValueWide(rl_src, reg_class); 493 rl_src = LoadValue(rl_src, reg_class) [all...] |
codegen_x86.h | 30 bool SmallLiteralDivRem(Instruction::Code dalvik_opcode, bool is_div, RegLocation rl_src, 90 RegLocation rl_index, RegLocation rl_src, int scale); 94 RegLocation rl_index, RegLocation rl_src, int scale); 106 void GenConversion(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src); 110 void GenNegLong(RegLocation rl_dest, RegLocation rl_src); 122 void GenFillArrayData(uint32_t table_offset, RegLocation rl_src); 127 void GenMonitorEnter(int opt_flags, RegLocation rl_src); 128 void GenMonitorExit(int opt_flags, RegLocation rl_src); 130 void GenMultiplyByTwoBitMultiplier(RegLocation rl_src, RegLocation rl_result, 132 void GenNegDouble(RegLocation rl_dest, RegLocation rl_src); [all...] |
/art/compiler/dex/quick/arm/ |
fp_arm.cc | 120 RegLocation rl_dest, RegLocation rl_src) { 145 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pL2d), rl_dest, rl_src); local 148 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pF2l), rl_dest, rl_src); local 151 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pL2f), rl_dest, rl_src); local 154 GenConversionCall(QUICK_ENTRYPOINT_OFFSET(pD2l), rl_dest, rl_src); local 159 if (rl_src.wide) { 160 rl_src = LoadValueWide(rl_src, kFPReg); 161 src_reg = S2d(rl_src.low_reg, rl_src.high_reg) 308 RegLocation rl_src = info->args[0]; local [all...] |
int_arm.cc | 181 RegLocation rl_src = mir_graph_->GetSrc(mir, 0); local 200 rl_src = LoadValue(rl_src, kCoreReg); 207 OpRegRegImm(kOpRsub, rl_result.low_reg, rl_src.low_reg, 1); 212 OpRegImm(kOpCmp, rl_src.low_reg, 0); 223 OpRegImm(kOpCmp, rl_src.low_reg, 0); 236 OpRegImm(kOpCmp, rl_src.low_reg, 0); 419 RegLocation rl_src, RegLocation rl_dest, int lit) { 434 rl_src = LoadValue(rl_src, kCoreReg) [all...] |
call_arm.cc | 162 RegLocation rl_src; local 166 rl_src = mir_graph_->GetSrcWide(mir, 0); 169 rl_src = mir_graph_->GetSrc(mir, 0); 172 rl_src = ArmMir2Lir::ArgLoc(rl_src); 182 rl_src = LoadArg(rl_src); 183 GenIPut(field_idx, mir->optimization_flags, size, rl_src, rl_obj, long_or_double, is_object); 188 RegLocation rl_src; local 192 rl_src = mir_graph_->GetSrcWide(mir, 0) [all...] |
codegen_arm.h | 29 bool SmallLiteralDivRem(Instruction::Code dalvik_opcode, bool is_div, RegLocation rl_src, 89 RegLocation rl_src, int scale); 93 RegLocation rl_index, RegLocation rl_src, int scale); 105 void GenConversion(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src); 109 void GenNegLong(RegLocation rl_dest, RegLocation rl_src); 121 void GenFillArrayData(uint32_t table_offset, RegLocation rl_src); 126 void GenMonitorEnter(int opt_flags, RegLocation rl_src); 127 void GenMonitorExit(int opt_flags, RegLocation rl_src); 129 void GenMultiplyByTwoBitMultiplier(RegLocation rl_src, RegLocation rl_result, int lit, 131 void GenNegDouble(RegLocation rl_dest, RegLocation rl_src); [all...] |