/art/compiler/dex/quick/ |
D | ralloc_util.cc | 443 RegStorage Mir2Lir::AllocTypedTempWide(bool fp_hint, int reg_class, bool required) { in AllocTypedTempWide() argument 444 DCHECK_NE(reg_class, kRefReg); // NOTE: the Dalvik width of a reference is always 32 bits. in AllocTypedTempWide() 445 if (((reg_class == kAnyReg) && fp_hint) || (reg_class == kFPReg)) { in AllocTypedTempWide() 451 RegStorage Mir2Lir::AllocTypedTemp(bool fp_hint, int reg_class, bool required) { in AllocTypedTemp() argument 452 if (((reg_class == kAnyReg) && fp_hint) || (reg_class == kFPReg)) { in AllocTypedTemp() 454 } else if (reg_class == kRefReg) { in AllocTypedTemp() 471 RegStorage Mir2Lir::AllocLiveReg(int s_reg, int reg_class, bool wide) { in AllocLiveReg() argument 473 if (reg_class == kRefReg) { in AllocLiveReg() 477 if (!reg.Valid() && ((reg_class == kAnyReg) || (reg_class == kFPReg))) { in AllocLiveReg() 480 if (!reg.Valid() && (reg_class != kFPReg)) { in AllocLiveReg() [all …]
|
D | mir_to_lir.cc | 115 RegStorage Mir2Lir::LoadArg(size_t in_position, RegisterClass reg_class, bool wide) { in LoadArg() argument 146 reg_arg = wide ? AllocTypedTempWide(false, reg_class) : AllocTypedTemp(false, reg_class); in LoadArg() 150 if (!RegClassMatches(reg_class, reg_arg)) { in LoadArg() 152 RegStorage new_reg = AllocTypedTempWide(false, reg_class); in LoadArg() 156 RegStorage new_reg = AllocTypedTemp(false, reg_class); in LoadArg() 286 RegisterClass reg_class = RegClassForFieldLoadStore(size, data.is_volatile); in GenSpecialIGet() local 290 if (!RegClassMatches(reg_class, r_result)) { in GenSpecialIGet() 291 r_result = IsWide(size) ? AllocTypedTempWide(rl_dest.fp, reg_class) in GenSpecialIGet() 292 : AllocTypedTemp(rl_dest.fp, reg_class); in GenSpecialIGet() 360 RegisterClass reg_class = RegClassForFieldLoadStore(size, data.is_volatile); in GenSpecialIPut() local [all …]
|
D | gen_common.cc | 352 RegisterClass reg_class = (rl_src1.ref || rl_src2.ref) ? kRefReg : kCoreReg; in GenCompareAndBranch() local 385 rl_src1 = LoadValue(rl_src1, reg_class); in GenCompareAndBranch() 409 rl_src2 = LoadValue(rl_src2, reg_class); in GenCompareAndBranch() 415 RegisterClass reg_class = rl_src.ref ? kRefReg : kCoreReg; in GenCompareZeroAndBranch() local 416 rl_src = LoadValue(rl_src, reg_class); in GenCompareZeroAndBranch() 713 RegisterClass reg_class = RegClassForFieldLoadStore(size, field_info.IsVolatile()); in GenSput() local 715 rl_src = LoadValueWide(rl_src, reg_class); in GenSput() 717 rl_src = LoadValue(rl_src, reg_class); in GenSput() 787 RegisterClass reg_class = RegClassForFieldLoadStore(size, field_info.IsVolatile()); in GenSget() local 788 RegLocation rl_result = EvalLoc(rl_dest, reg_class, true); in GenSget() [all …]
|
D | gen_invoke.cc | 936 RegStorage reg_class = TargetReg(kArg1, kRef); in GenInlinedReferenceGetReferent() local 937 Clobber(reg_class); in GenInlinedReferenceGetReferent() 938 LockTemp(reg_class); in GenInlinedReferenceGetReferent() 940 LoadConstant(reg_class, direct_type_ptr); in GenInlinedReferenceGetReferent() 957 LoadBaseDisp(reg_class, slow_path_flag_offset, reg_slow_path, kSignedByte, kNotVolatile); in GenInlinedReferenceGetReferent() 958 LoadBaseDisp(reg_class, disable_flag_offset, reg_disabled, kSignedByte, kNotVolatile); in GenInlinedReferenceGetReferent() 959 FreeTemp(reg_class); in GenInlinedReferenceGetReferent() 1615 RegisterClass reg_class = is_string_init ? kRefReg : in GenInvokeNoInline() local 1618 RegLocation ret_loc = GetReturnWide(reg_class); in GenInvokeNoInline() 1621 RegLocation ret_loc = GetReturn(reg_class); in GenInvokeNoInline()
|
D | mir_to_lir.h | 724 virtual RegStorage AllocTypedTemp(bool fp_hint, int reg_class, bool required = true); 725 virtual RegStorage AllocTypedTempWide(bool fp_hint, int reg_class, bool required = true); 728 RegStorage AllocLiveReg(int s_reg, int reg_class, bool wide); 747 bool RegClassMatches(int reg_class, RegStorage reg); 769 virtual RegLocation EvalLocWide(RegLocation loc, int reg_class, bool update); 778 virtual RegLocation EvalLoc(RegLocation loc, int reg_class, bool update); 786 RegLocation GetReturnWide(RegisterClass reg_class); 787 RegLocation GetReturn(RegisterClass reg_class); 1627 RegStorage LoadArg(size_t in_position, RegisterClass reg_class, bool wide = false);
|
/art/compiler/dex/quick/arm/ |
D | fp_arm.cc | 394 RegisterClass reg_class = RegClassForAbsFP(rl_src, rl_dest); in GenInlinedAbsFloat() local 395 rl_src = LoadValue(rl_src, reg_class); in GenInlinedAbsFloat() 396 RegLocation rl_result = EvalLoc(rl_dest, reg_class, true); in GenInlinedAbsFloat() 397 if (reg_class == kFPReg) { in GenInlinedAbsFloat() 412 RegisterClass reg_class = RegClassForAbsFP(rl_src, rl_dest); in GenInlinedAbsDouble() local 413 rl_src = LoadValueWide(rl_src, reg_class); in GenInlinedAbsDouble() 414 RegLocation rl_result = EvalLoc(rl_dest, reg_class, true); in GenInlinedAbsDouble() 415 if (reg_class == kFPReg) { in GenInlinedAbsDouble()
|
D | int_arm.cc | 1377 RegisterClass reg_class = RegClassBySize(size); in GenArrayGet() local 1421 rl_result = EvalLoc(rl_dest, reg_class, true); in GenArrayGet() 1445 rl_result = EvalLoc(rl_dest, reg_class, true); in GenArrayGet() 1463 RegisterClass reg_class = RegClassBySize(size); in GenArrayPut() local 1513 rl_src = LoadValueWide(rl_src, reg_class); in GenArrayPut() 1515 rl_src = LoadValue(rl_src, reg_class); in GenArrayPut() 1533 rl_src = LoadValue(rl_src, reg_class); in GenArrayPut()
|
/art/compiler/dex/quick/arm64/ |
D | fp_arm64.cc | 378 RegisterClass reg_class = RegClassForAbsFP(rl_src, rl_dest); in GenInlinedAbsFloat() local 379 rl_src = LoadValue(rl_src, reg_class); in GenInlinedAbsFloat() 380 RegLocation rl_result = EvalLoc(rl_dest, reg_class, true); in GenInlinedAbsFloat() 381 if (reg_class == kFPReg) { in GenInlinedAbsFloat() 397 RegisterClass reg_class = RegClassForAbsFP(rl_src, rl_dest); in GenInlinedAbsDouble() local 398 rl_src = LoadValueWide(rl_src, reg_class); in GenInlinedAbsDouble() 399 RegLocation rl_result = EvalLoc(rl_dest, reg_class, true); in GenInlinedAbsDouble() 400 if (reg_class == kFPReg) { in GenInlinedAbsDouble()
|
D | int_arm64.cc | 1187 RegisterClass reg_class = RegClassBySize(size); in GenArrayGet() local 1217 rl_result = EvalLoc(rl_dest, reg_class, true); in GenArrayGet() 1235 rl_result = EvalLoc(rl_dest, reg_class, true); in GenArrayGet() 1261 RegisterClass reg_class = RegClassBySize(size); in GenArrayPut() local 1305 rl_src = LoadValueWide(rl_src, reg_class); in GenArrayPut() 1307 rl_src = LoadValue(rl_src, reg_class); in GenArrayPut()
|
/art/compiler/dex/ |
D | verified_method.cc | 280 mirror::Class* reg_class = reg_type.GetClass(); in GenerateDevirtMap() local 281 if (reg_class->IsInterface()) { in GenerateDevirtMap() 285 if (reg_class->IsAbstract() && !reg_class->IsArrayClass()) { in GenerateDevirtMap()
|
/art/compiler/dex/quick/mips/ |
D | int_mips.cc | 669 RegisterClass reg_class = RegClassBySize(size); in GenArrayGet() local 711 rl_result = EvalLoc(rl_dest, reg_class, true); in GenArrayGet() 722 rl_result = EvalLoc(rl_dest, reg_class, true); in GenArrayGet() 751 RegisterClass reg_class = RegClassBySize(size); in GenArrayPut() local 804 rl_src = LoadValueWide(rl_src, reg_class); in GenArrayPut() 813 rl_src = LoadValue(rl_src, reg_class); in GenArrayPut() 914 RegLocation rl_src, RegisterClass reg_class) { in GenConversionCall() argument 919 rl_result = GetReturnWide(reg_class); in GenConversionCall() 923 rl_result = GetReturn(reg_class); in GenConversionCall()
|
D | codegen_mips.h | 282 RegisterClass reg_class);
|
/art/compiler/dex/quick/x86/ |
D | int_x86.cc | 2447 RegisterClass reg_class = RegClassForFieldLoadStore(size, false); in GenArrayGet() local 2481 rl_result = EvalLoc(rl_dest, reg_class, true); in GenArrayGet() 2496 RegisterClass reg_class = RegClassForFieldLoadStore(size, false); in GenArrayPut() local 2530 rl_src = LoadValueWide(rl_src, reg_class); in GenArrayPut() 2532 rl_src = LoadValue(rl_src, reg_class); in GenArrayPut()
|