Home
last modified time | relevance | path

Searched refs:reg_class (Results 1 – 13 of 13) sorted by relevance

/art/compiler/dex/quick/
Dralloc_util.cc443 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 …]
Dmir_to_lir.cc115 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 …]
Dgen_common.cc352 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 …]
Dgen_invoke.cc936 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()
Dmir_to_lir.h724 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/
Dfp_arm.cc394 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()
Dint_arm.cc1377 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/
Dfp_arm64.cc378 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()
Dint_arm64.cc1187 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/
Dverified_method.cc280 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/
Dint_mips.cc669 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()
Dcodegen_mips.h282 RegisterClass reg_class);
/art/compiler/dex/quick/x86/
Dint_x86.cc2447 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()