Lines Matching refs:locations

88     LocationSummary* locations = instruction_->GetLocations();  in EmitNativeCode()  local
89 DCHECK(locations->CanCall()); in EmitNativeCode()
99 vixl32::Register src_curr_addr = RegisterFrom(locations->GetTemp(0)); in EmitNativeCode()
100 vixl32::Register dst_curr_addr = RegisterFrom(locations->GetTemp(1)); in EmitNativeCode()
101 vixl32::Register src_stop_addr = RegisterFrom(locations->GetTemp(2)); in EmitNativeCode()
102 vixl32::Register tmp = RegisterFrom(locations->GetTemp(3)); in EmitNativeCode()
165 LocationSummary* locations = in CreateFPToIntLocations() local
167 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations()
168 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations()
172 LocationSummary* locations = in CreateIntToFPLocations() local
174 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToFPLocations()
175 locations->SetOut(Location::RequiresFpuRegister()); in CreateIntToFPLocations()
178 static void MoveFPToInt(LocationSummary* locations, bool is64bit, ArmVIXLAssembler* assembler) { in MoveFPToInt() argument
179 Location input = locations->InAt(0); in MoveFPToInt()
180 Location output = locations->Out(); in MoveFPToInt()
188 static void MoveIntToFP(LocationSummary* locations, bool is64bit, ArmVIXLAssembler* assembler) { in MoveIntToFP() argument
189 Location input = locations->InAt(0); in MoveIntToFP()
190 Location output = locations->Out(); in MoveIntToFP()
227 LocationSummary* locations = in CreateIntToIntLocations() local
229 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToIntLocations()
230 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in CreateIntToIntLocations()
234 LocationSummary* locations = in CreateIntIntToIntSlowPathCallLocations() local
236 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntIntToIntSlowPathCallLocations()
237 locations->SetInAt(1, Location::RequiresRegister()); in CreateIntIntToIntSlowPathCallLocations()
239 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in CreateIntIntToIntSlowPathCallLocations()
243 LocationSummary* locations = in CreateLongToLongLocationsWithOverlap() local
245 locations->SetInAt(0, Location::RequiresRegister()); in CreateLongToLongLocationsWithOverlap()
246 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in CreateLongToLongLocationsWithOverlap()
250 LocationSummary* locations = in CreateFPToFPLocations() local
252 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToFPLocations()
253 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in CreateFPToFPLocations()
260 LocationSummary* locations = invoke->GetLocations(); in GenNumberOfLeadingZeros() local
261 Location in = locations->InAt(0); in GenNumberOfLeadingZeros()
262 vixl32::Register out = RegisterFrom(locations->Out()); in GenNumberOfLeadingZeros()
305 LocationSummary* locations = invoke->GetLocations(); in GenNumberOfTrailingZeros() local
306 vixl32::Register out = RegisterFrom(locations->Out()); in GenNumberOfTrailingZeros()
309 vixl32::Register in_reg_lo = LowRegisterFrom(locations->InAt(0)); in GenNumberOfTrailingZeros()
310 vixl32::Register in_reg_hi = HighRegisterFrom(locations->InAt(0)); in GenNumberOfTrailingZeros()
323 vixl32::Register in = RegisterFrom(locations->InAt(0)); in GenNumberOfTrailingZeros()
368 LocationSummary* locations = in VisitMathRoundFloat() local
370 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitMathRoundFloat()
371 locations->SetOut(Location::RequiresRegister()); in VisitMathRoundFloat()
372 locations->AddTemp(Location::RequiresFpuRegister()); in VisitMathRoundFloat()
469 LocationSummary* locations = in CreateIntIntToVoidLocations() local
471 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntIntToVoidLocations()
472 locations->SetInAt(1, Location::RequiresRegister()); in CreateIntIntToVoidLocations()
517 LocationSummary* locations = in VisitThreadCurrentThread() local
519 locations->SetOut(Location::RequiresRegister()); in VisitThreadCurrentThread()
530 LocationSummary* locations = in VisitStringCompareTo() local
536 locations->SetInAt(0, Location::RequiresRegister()); in VisitStringCompareTo()
537 locations->SetInAt(1, Location::RequiresRegister()); in VisitStringCompareTo()
538 locations->AddTemp(Location::RequiresRegister()); in VisitStringCompareTo()
539 locations->AddTemp(Location::RequiresRegister()); in VisitStringCompareTo()
540 locations->AddTemp(Location::RequiresRegister()); in VisitStringCompareTo()
543 locations->AddTemp(Location::RequiresRegister()); in VisitStringCompareTo()
545 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in VisitStringCompareTo()
561 LocationSummary* locations = invoke->GetLocations(); in VisitStringCompareTo() local
567 const vixl32::Register temp0 = RegisterFrom(locations->GetTemp(0)); in VisitStringCompareTo()
568 const vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in VisitStringCompareTo()
569 const vixl32::Register temp2 = RegisterFrom(locations->GetTemp(2)); in VisitStringCompareTo()
572 temp3 = RegisterFrom(locations->GetTemp(3)); in VisitStringCompareTo()
658 LocationSummary* locations = invoke->GetLocations(); in GenerateStringCompareToLoop() local
664 const vixl32::Register temp0 = RegisterFrom(locations->GetTemp(0)); in GenerateStringCompareToLoop()
665 const vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in GenerateStringCompareToLoop()
666 const vixl32::Register temp2 = RegisterFrom(locations->GetTemp(2)); in GenerateStringCompareToLoop()
669 temp3 = RegisterFrom(locations->GetTemp(3)); in GenerateStringCompareToLoop()
847 LocationSummary* locations = in VisitStringEquals() local
850 locations->SetInAt(0, Location::RequiresRegister()); in VisitStringEquals()
851 locations->SetInAt(1, Location::RequiresRegister()); in VisitStringEquals()
855 locations->AddTemp(LocationFrom(r0)); in VisitStringEquals()
869 locations->AddTemp(Location::RequiresRegister()); in VisitStringEquals()
875 locations->SetOut(Location::RequiresRegister()); in VisitStringEquals()
880 LocationSummary* locations = invoke->GetLocations(); in VisitStringEquals() local
886 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in VisitStringEquals()
976 vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in VisitStringEquals()
1011 vixl32::Register temp1 = RegisterFrom(locations->GetTemp(1)); in VisitStringEquals()
1049 LocationSummary* locations = invoke->GetLocations(); in GenerateVisitStringIndexOf() local
1079 vixl32::Register tmp_reg = RegisterFrom(locations->GetTemp(0)); in GenerateVisitStringIndexOf()
1094 LocationSummary* locations = new (allocator_) LocationSummary( in VisitStringIndexOf() local
1099 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0))); in VisitStringIndexOf()
1100 locations->SetInAt(1, LocationFrom(calling_convention.GetRegisterAt(1))); in VisitStringIndexOf()
1101 locations->SetOut(LocationFrom(r0)); in VisitStringIndexOf()
1104 locations->AddTemp(LocationFrom(calling_convention.GetRegisterAt(2))); in VisitStringIndexOf()
1112 LocationSummary* locations = new (allocator_) LocationSummary( in VisitStringIndexOfAfter() local
1117 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0))); in VisitStringIndexOfAfter()
1118 locations->SetInAt(1, LocationFrom(calling_convention.GetRegisterAt(1))); in VisitStringIndexOfAfter()
1119 locations->SetInAt(2, LocationFrom(calling_convention.GetRegisterAt(2))); in VisitStringIndexOfAfter()
1120 locations->SetOut(LocationFrom(r0)); in VisitStringIndexOfAfter()
1128 LocationSummary* locations = new (allocator_) LocationSummary( in VisitStringNewStringFromBytes() local
1131 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0))); in VisitStringNewStringFromBytes()
1132 locations->SetInAt(1, LocationFrom(calling_convention.GetRegisterAt(1))); in VisitStringNewStringFromBytes()
1133 locations->SetInAt(2, LocationFrom(calling_convention.GetRegisterAt(2))); in VisitStringNewStringFromBytes()
1134 locations->SetInAt(3, LocationFrom(calling_convention.GetRegisterAt(3))); in VisitStringNewStringFromBytes()
1135 locations->SetOut(LocationFrom(r0)); in VisitStringNewStringFromBytes()
1153 LocationSummary* locations = in VisitStringNewStringFromChars() local
1156 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0))); in VisitStringNewStringFromChars()
1157 locations->SetInAt(1, LocationFrom(calling_convention.GetRegisterAt(1))); in VisitStringNewStringFromChars()
1158 locations->SetInAt(2, LocationFrom(calling_convention.GetRegisterAt(2))); in VisitStringNewStringFromChars()
1159 locations->SetOut(LocationFrom(r0)); in VisitStringNewStringFromChars()
1174 LocationSummary* locations = new (allocator_) LocationSummary( in VisitStringNewStringFromString() local
1177 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0))); in VisitStringNewStringFromString()
1178 locations->SetOut(LocationFrom(r0)); in VisitStringNewStringFromString()
1234 LocationSummary* locations = CodeGenerator::CreateSystemArrayCopyLocationSummary( in VisitSystemArrayCopy() local
1236 if (locations != nullptr) { in VisitSystemArrayCopy()
1237 locations->SetInAt(1, LocationForSystemArrayCopyInput(assembler_, invoke->InputAt(1))); in VisitSystemArrayCopy()
1238 locations->SetInAt(3, LocationForSystemArrayCopyInput(assembler_, invoke->InputAt(3))); in VisitSystemArrayCopy()
1239 locations->SetInAt(4, LocationForSystemArrayCopyInput(assembler_, invoke->InputAt(4))); in VisitSystemArrayCopy()
1245 locations->AddTemp(Location::RequiresRegister()); in VisitSystemArrayCopy()
1311 LocationSummary* locations = invoke->GetLocations(); in VisitSystemArrayCopy() local
1320 Location src_pos = locations->InAt(1); in VisitSystemArrayCopy()
1322 Location dest_pos = locations->InAt(3); in VisitSystemArrayCopy()
1323 Location length = locations->InAt(4); in VisitSystemArrayCopy()
1324 Location temp1_loc = locations->GetTemp(0); in VisitSystemArrayCopy()
1326 Location temp2_loc = locations->GetTemp(1); in VisitSystemArrayCopy()
1328 Location temp3_loc = locations->GetTemp(2); in VisitSystemArrayCopy()
1534 rb_tmp = RegisterFrom(locations->GetTemp(3)); in VisitSystemArrayCopy()
1617 LocationSummary* const locations = in CreateFPToFPCallLocations() local
1621 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToFPCallLocations()
1622 locations->SetOut(Location::RequiresFpuRegister()); in CreateFPToFPCallLocations()
1624 locations->AddTemp(LocationFrom(calling_convention.GetRegisterAt(0))); in CreateFPToFPCallLocations()
1625 locations->AddTemp(LocationFrom(calling_convention.GetRegisterAt(1))); in CreateFPToFPCallLocations()
1643 LocationSummary* const locations = in CreateFPFPToFPCallLocations() local
1647 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPFPToFPCallLocations()
1648 locations->SetInAt(1, Location::RequiresFpuRegister()); in CreateFPFPToFPCallLocations()
1649 locations->SetOut(Location::RequiresFpuRegister()); in CreateFPFPToFPCallLocations()
1651 locations->AddTemp(LocationFrom(calling_convention.GetRegisterAt(0))); in CreateFPFPToFPCallLocations()
1652 locations->AddTemp(LocationFrom(calling_convention.GetRegisterAt(1))); in CreateFPFPToFPCallLocations()
1653 locations->AddTemp(LocationFrom(calling_convention.GetRegisterAt(2))); in CreateFPFPToFPCallLocations()
1654 locations->AddTemp(LocationFrom(calling_convention.GetRegisterAt(3))); in CreateFPFPToFPCallLocations()
1661 LocationSummary* const locations = invoke->GetLocations(); in GenFPToFPCall() local
1664 DCHECK(locations->WillCall() && locations->Intrinsified()); in GenFPToFPCall()
1667 __ Vmov(RegisterFrom(locations->GetTemp(0)), in GenFPToFPCall()
1668 RegisterFrom(locations->GetTemp(1)), in GenFPToFPCall()
1672 RegisterFrom(locations->GetTemp(0)), in GenFPToFPCall()
1673 RegisterFrom(locations->GetTemp(1))); in GenFPToFPCall()
1680 LocationSummary* const locations = invoke->GetLocations(); in GenFPFPToFPCall() local
1683 DCHECK(locations->WillCall() && locations->Intrinsified()); in GenFPFPToFPCall()
1686 __ Vmov(RegisterFrom(locations->GetTemp(0)), in GenFPFPToFPCall()
1687 RegisterFrom(locations->GetTemp(1)), in GenFPFPToFPCall()
1689 __ Vmov(RegisterFrom(locations->GetTemp(2)), in GenFPFPToFPCall()
1690 RegisterFrom(locations->GetTemp(3)), in GenFPFPToFPCall()
1694 RegisterFrom(locations->GetTemp(0)), in GenFPFPToFPCall()
1695 RegisterFrom(locations->GetTemp(1))); in GenFPFPToFPCall()
1857 LocationSummary* locations = invoke->GetLocations(); in VisitLongReverse() local
1859 vixl32::Register in_reg_lo = LowRegisterFrom(locations->InAt(0)); in VisitLongReverse()
1860 vixl32::Register in_reg_hi = HighRegisterFrom(locations->InAt(0)); in VisitLongReverse()
1861 vixl32::Register out_reg_lo = LowRegisterFrom(locations->Out()); in VisitLongReverse()
1862 vixl32::Register out_reg_hi = HighRegisterFrom(locations->Out()); in VisitLongReverse()
1913 LocationSummary* locations = invoke->GetLocations(); in VisitIntegerReverseBytes() local
1914 GenerateReverseBytes(assembler, DataType::Type::kInt32, locations->InAt(0), locations->Out()); in VisitIntegerReverseBytes()
1923 LocationSummary* locations = invoke->GetLocations(); in VisitLongReverseBytes() local
1924 GenerateReverseBytes(assembler, DataType::Type::kInt64, locations->InAt(0), locations->Out()); in VisitLongReverseBytes()
1933 LocationSummary* locations = invoke->GetLocations(); in VisitShortReverseBytes() local
1934 GenerateReverseBytes(assembler, DataType::Type::kInt16, locations->InAt(0), locations->Out()); in VisitShortReverseBytes()
1943 LocationSummary* locations = instr->GetLocations(); in GenBitCount() local
1944 Location in = locations->InAt(0); in GenBitCount()
1947 vixl32::SRegister tmp_s = LowSRegisterFrom(locations->GetTemp(0)); in GenBitCount()
1948 vixl32::DRegister tmp_d = DRegisterFrom(locations->GetTemp(0)); in GenBitCount()
1992 LocationSummary* locations = invoke->GetLocations(); in GenHighestOneBit() local
1993 Location in = locations->InAt(0); in GenHighestOneBit()
1994 Location out = locations->Out(); in GenHighestOneBit()
2058 LocationSummary* locations = invoke->GetLocations(); in GenLowestOneBit() local
2059 Location in = locations->InAt(0); in GenLowestOneBit()
2060 Location out = locations->Out(); in GenLowestOneBit()
2114 LocationSummary* locations = in VisitStringGetCharsNoCheck() local
2116 locations->SetInAt(0, Location::RequiresRegister()); in VisitStringGetCharsNoCheck()
2117 locations->SetInAt(1, Location::RequiresRegister()); in VisitStringGetCharsNoCheck()
2118 locations->SetInAt(2, Location::RequiresRegister()); in VisitStringGetCharsNoCheck()
2119 locations->SetInAt(3, Location::RequiresRegister()); in VisitStringGetCharsNoCheck()
2120 locations->SetInAt(4, Location::RequiresRegister()); in VisitStringGetCharsNoCheck()
2123 locations->AddTemp(Location::RequiresRegister()); in VisitStringGetCharsNoCheck()
2124 locations->AddTemp(Location::RequiresRegister()); in VisitStringGetCharsNoCheck()
2125 locations->AddTemp(Location::RequiresRegister()); in VisitStringGetCharsNoCheck()
2130 LocationSummary* locations = invoke->GetLocations(); in VisitStringGetCharsNoCheck() local
2150 vixl32::Register num_chr = RegisterFrom(locations->GetTemp(0)); in VisitStringGetCharsNoCheck()
2151 vixl32::Register src_ptr = RegisterFrom(locations->GetTemp(1)); in VisitStringGetCharsNoCheck()
2152 vixl32::Register dst_ptr = RegisterFrom(locations->GetTemp(2)); in VisitStringGetCharsNoCheck()
2335 LocationSummary* locations = invoke->GetLocations(); in BOXED_TYPES() local
2338 vixl32::Register out = RegisterFrom(locations->Out()); in BOXED_TYPES()
2354 DCHECK(locations->CanCall()); in BOXED_TYPES()
2365 DCHECK(locations->CanCall()); in BOXED_TYPES()
2366 vixl32::Register in = RegisterFrom(locations->InAt(0)); in BOXED_TYPES()
2374 codegen_->LoadFromShiftedRegOffset(DataType::Type::kReference, locations->Out(), temp, out); in BOXED_TYPES()
2393 LocationSummary* locations = invoke->GetLocations(); in VisitReferenceGetReferent() local
2395 Location obj = locations->InAt(0); in VisitReferenceGetReferent()
2396 Location out = locations->Out(); in VisitReferenceGetReferent()
2454 LocationSummary* locations = invoke->GetLocations(); in VisitReferenceRefersTo() local
2458 vixl32::Register obj = RegisterFrom(locations->InAt(0)); in VisitReferenceRefersTo()
2459 vixl32::Register other = RegisterFrom(locations->InAt(1)); in VisitReferenceRefersTo()
2460 vixl32::Register out = RegisterFrom(locations->Out()); in VisitReferenceRefersTo()
2513 LocationSummary* locations = in VisitThreadInterrupted() local
2515 locations->SetOut(Location::RequiresRegister()); in VisitThreadInterrupted()
2538 LocationSummary* locations = in VisitReachabilityFence() local
2540 locations->SetInAt(0, Location::Any()); in VisitReachabilityFence()
2551 LocationSummary* locations = invoke->GetLocations(); in VisitIntegerDivideUnsigned() local
2552 vixl32::Register dividend = RegisterFrom(locations->InAt(0)); in VisitIntegerDivideUnsigned()
2553 vixl32::Register divisor = RegisterFrom(locations->InAt(1)); in VisitIntegerDivideUnsigned()
2554 vixl32::Register out = RegisterFrom(locations->Out()); in VisitIntegerDivideUnsigned()
2680 LocationSummary* locations = in CreateUnsafeGetLocations() local
2687 locations->SetCustomSlowPathCallerSaves(RegisterSet::Empty()); // No caller-save registers. in CreateUnsafeGetLocations()
2689 locations->SetInAt(0, Location::NoLocation()); // Unused receiver. in CreateUnsafeGetLocations()
2690 locations->SetInAt(1, Location::RequiresRegister()); in CreateUnsafeGetLocations()
2691 locations->SetInAt(2, Location::RequiresRegister()); in CreateUnsafeGetLocations()
2692 locations->SetOut(Location::RequiresRegister(), in CreateUnsafeGetLocations()
2699 locations->AddTemp(Location::RequiresRegister()); in CreateUnsafeGetLocations()
2708 LocationSummary* locations = invoke->GetLocations(); in GenUnsafeGet() local
2710 vixl32::Register offset = LowRegisterFrom(locations->InAt(2)); // Long offset, lo part only. in GenUnsafeGet()
2711 Location out = locations->Out(); in GenUnsafeGet()
2715 maybe_temp = locations->GetTemp(0); in GenUnsafeGet()
2968 LocationSummary* locations = in CreateUnsafePutLocations() local
2970 locations->SetInAt(0, Location::NoLocation()); // Unused receiver. in CreateUnsafePutLocations()
2971 locations->SetInAt(1, Location::RequiresRegister()); in CreateUnsafePutLocations()
2972 locations->SetInAt(2, Location::RequiresRegister()); in CreateUnsafePutLocations()
2973 locations->SetInAt(3, Location::RequiresRegister()); in CreateUnsafePutLocations()
2978 locations->AddTemp(Location::RequiresRegister()); // Temp_lo. in CreateUnsafePutLocations()
2979 locations->AddTemp(Location::RequiresRegister()); // Temp_hi. in CreateUnsafePutLocations()
2983 locations->AddTemp(Location::RequiresRegister()); // Temp. in CreateUnsafePutLocations()
2994 LocationSummary* locations = invoke->GetLocations(); in GenUnsafePut() local
2995 vixl32::Register base = RegisterFrom(locations->InAt(1)); // Object pointer. in GenUnsafePut()
2996 vixl32::Register offset = LowRegisterFrom(locations->InAt(2)); // Long offset, lo part only. in GenUnsafePut()
2997 Location value = locations->InAt(3); in GenUnsafePut()
3001 maybe_temp = locations->GetTemp(0); in GenUnsafePut()
3002 maybe_temp2 = locations->GetTemp(1); in GenUnsafePut()
3017 vixl32::Register temp = RegisterFrom(locations->GetTemp(0)); in GenUnsafePut()
3570 LocationSummary* locations = in CreateUnsafeCASLocations() local
3577 locations->SetCustomSlowPathCallerSaves(RegisterSet::Empty()); // No caller-save registers. in CreateUnsafeCASLocations()
3579 locations->SetInAt(0, Location::NoLocation()); // Unused receiver. in CreateUnsafeCASLocations()
3580 locations->SetInAt(1, Location::RequiresRegister()); in CreateUnsafeCASLocations()
3581 locations->SetInAt(2, Location::RequiresRegister()); in CreateUnsafeCASLocations()
3582 locations->SetInAt(3, Location::RequiresRegister()); in CreateUnsafeCASLocations()
3583 locations->SetInAt(4, Location::RequiresRegister()); in CreateUnsafeCASLocations()
3585 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in CreateUnsafeCASLocations()
3589 locations->AddTemp(Location::RequiresRegister()); in CreateUnsafeCASLocations()
3596 LocationSummary* locations = invoke->GetLocations(); in GenUnsafeCas() local
3600 vixl32::Register offset = LowRegisterFrom(locations->InAt(2)); // Offset (discard high 4B). in GenUnsafeCas()
3604 vixl32::Register tmp = RegisterFrom(locations->GetTemp(0)); // Temporary. in GenUnsafeCas()
3864 LocationSummary* locations = in CreateUnsafeGetAndUpdateLocations() local
3871 locations->SetCustomSlowPathCallerSaves(RegisterSet::Empty()); // No caller-save registers. in CreateUnsafeGetAndUpdateLocations()
3873 locations->SetInAt(0, Location::NoLocation()); // Unused receiver. in CreateUnsafeGetAndUpdateLocations()
3874 locations->SetInAt(1, Location::RequiresRegister()); in CreateUnsafeGetAndUpdateLocations()
3875 locations->SetInAt(2, Location::RequiresRegister()); in CreateUnsafeGetAndUpdateLocations()
3876 locations->SetInAt(3, Location::RequiresRegister()); in CreateUnsafeGetAndUpdateLocations()
3878 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in CreateUnsafeGetAndUpdateLocations()
3890 locations->SetInAt(2, LocationFrom(r0, r1)); in CreateUnsafeGetAndUpdateLocations()
3891 locations->UpdateOut(LocationFrom(r0, r1)); in CreateUnsafeGetAndUpdateLocations()
3894 locations->AddRegisterTemps(num_temps); in CreateUnsafeGetAndUpdateLocations()
3902 LocationSummary* locations = invoke->GetLocations(); in GenUnsafeGetAndUpdate() local
3904 Location out = locations->Out(); // Result. in GenUnsafeGetAndUpdate()
3906 vixl32::Register offset = LowRegisterFrom(locations->InAt(2)); // Offset (discard high 4B). in GenUnsafeGetAndUpdate()
3907 Location arg = locations->InAt(3); // New value or addend. in GenUnsafeGetAndUpdate()
3908 vixl32::Register tmp_ptr = RegisterFrom(locations->GetTemp(0)); // Pointer to actual memory. in GenUnsafeGetAndUpdate()
3912 ? LocationFrom(RegisterFrom(locations->GetTemp(1)), RegisterFrom(locations->GetTemp(2))) in GenUnsafeGetAndUpdate()
3913 : locations->GetTemp(1); in GenUnsafeGetAndUpdate()
4378 LocationSummary* locations = invoke->GetLocations(); in GetVarHandleTarget() local
4382 target.offset = RegisterFrom(locations->GetTemp(0u)); in GetVarHandleTarget()
4385 ? RegisterFrom(locations->GetTemp(1u)) in GetVarHandleTarget()
4457 LocationSummary* locations = in CreateVarHandleCommonLocations() local
4459 locations->SetInAt(0, Location::RequiresRegister()); in CreateVarHandleCommonLocations()
4463 locations->SetInAt(/* VarHandle object */ 1u + i, Location::RequiresRegister()); in CreateVarHandleCommonLocations()
4467 locations->SetOut(Location::RequiresFpuRegister()); in CreateVarHandleCommonLocations()
4469 locations->SetOut(Location::RequiresRegister()); in CreateVarHandleCommonLocations()
4477 locations->SetInAt(arg_index, Location::RequiresFpuRegister()); in CreateVarHandleCommonLocations()
4479 locations->SetInAt(arg_index, Location::RequiresRegister()); in CreateVarHandleCommonLocations()
4489 locations->AddTemp(Location::RegisterLocation(first_callee_save)); in CreateVarHandleCommonLocations()
4491 locations->AddTemp(Location::RequiresRegister()); in CreateVarHandleCommonLocations()
4495 locations->AddTemp(Location::RequiresRegister()); in CreateVarHandleCommonLocations()
4498 return locations; in CreateVarHandleCommonLocations()
4519 LocationSummary* locations = CreateVarHandleCommonLocations(invoke, codegen); in CreateVarHandleGetLocations() local
4525 DCHECK_EQ(locations->GetTempCount(), in CreateVarHandleGetLocations()
4527 locations->AddRegisterTemps(3u - locations->GetTempCount()); in CreateVarHandleGetLocations()
4539 LocationSummary* locations = invoke->GetLocations(); in GenerateVarHandleGet() local
4541 Location out = locations->Out(); in GenerateVarHandleGet()
4564 DCHECK(maybe_temp.Equals(locations->GetTemp(0))); in GenerateVarHandleGet()
4566 maybe_temp2 = locations->GetTemp(1); in GenerateVarHandleGet()
4567 maybe_temp3 = locations->GetTemp(2); in GenerateVarHandleGet()
4661 LocationSummary* locations = CreateVarHandleCommonLocations(invoke, codegen); in CreateVarHandleSetLocations() local
4667 DCHECK_EQ(locations->GetTempCount(), (expected_coordinates_count == 0) ? 2u : 1u); in CreateVarHandleSetLocations()
4679 locations->AddRegisterTemps(temps_needed - locations->GetTempCount()); in CreateVarHandleSetLocations()
4683 DCHECK_EQ(locations->GetTempCount(), 1u); in CreateVarHandleSetLocations()
4684 locations->AddTemp(Location::RequiresRegister()); in CreateVarHandleSetLocations()
4698 LocationSummary* locations = invoke->GetLocations(); in GenerateVarHandleSet() local
4699 Location value = locations->InAt(value_index); in GenerateVarHandleSet()
4718 maybe_temp = locations->GetTemp(0); in GenerateVarHandleSet()
4719 maybe_temp2 = locations->GetTemp(1); in GenerateVarHandleSet()
4721 maybe_temp3 = locations->GetTemp(2); in GenerateVarHandleSet()
4740 maybe_temp3.Equals(locations->GetTemp(2))); in GenerateVarHandleSet()
4744 value = LocationFrom(RegisterFrom(locations->GetTemp(temp_start)), in GenerateVarHandleSet()
4745 RegisterFrom(locations->GetTemp(temp_start + 1u))); in GenerateVarHandleSet()
4754 value = locations->GetTemp(0); // Use the offset temporary which was freed above. in GenerateVarHandleSet()
4843 LocationSummary* locations = CreateVarHandleCommonLocations(invoke, codegen); in CreateVarHandleCompareAndSetOrExchangeLocations() local
4852 DCHECK_EQ(locations->GetTempCount(), 2u); in CreateVarHandleCompareAndSetOrExchangeLocations()
4853 DCHECK(locations->GetTemp(0u).Equals(Location::RequiresRegister())); in CreateVarHandleCompareAndSetOrExchangeLocations()
4854 DCHECK(locations->GetTemp(1u).Equals(Location::RegisterLocation(first_callee_save))); in CreateVarHandleCompareAndSetOrExchangeLocations()
4855 locations->SetTempAt(0u, Location::RegisterLocation(second_callee_save)); in CreateVarHandleCompareAndSetOrExchangeLocations()
4857 DCHECK_EQ(locations->GetTempCount(), 1u); in CreateVarHandleCompareAndSetOrExchangeLocations()
4858 DCHECK(locations->GetTemp(0u).Equals(Location::RequiresRegister())); in CreateVarHandleCompareAndSetOrExchangeLocations()
4859 locations->SetTempAt(0u, Location::RegisterLocation(first_callee_save)); in CreateVarHandleCompareAndSetOrExchangeLocations()
4865 DCHECK_EQ(locations->GetTempCount(), in CreateVarHandleCompareAndSetOrExchangeLocations()
4870 locations->AddRegisterTemps(temps_needed - locations->GetTempCount()); in CreateVarHandleCompareAndSetOrExchangeLocations()
4873 DCHECK_EQ(locations->GetTempCount(), 1u); in CreateVarHandleCompareAndSetOrExchangeLocations()
4878 locations->AddRegisterTemps(2u); in CreateVarHandleCompareAndSetOrExchangeLocations()
4883 locations->AddTemp(Location::RequiresRegister()); in CreateVarHandleCompareAndSetOrExchangeLocations()
4901 LocationSummary* locations = invoke->GetLocations(); in GenerateVarHandleCompareAndSetOrExchange() local
4902 Location expected = locations->InAt(expected_index); in GenerateVarHandleCompareAndSetOrExchange()
4903 Location new_value = locations->InAt(new_value_index); in GenerateVarHandleCompareAndSetOrExchange()
4904 Location out = locations->Out(); in GenerateVarHandleCompareAndSetOrExchange()
4945 LocationFrom(RegisterFrom(locations->GetTemp(0)), RegisterFrom(locations->GetTemp(1))); in GenerateVarHandleCompareAndSetOrExchange()
4947 LocationFrom(RegisterFrom(locations->GetTemp(2)), RegisterFrom(locations->GetTemp(3))); in GenerateVarHandleCompareAndSetOrExchange()
4948 store_result = RegisterFrom(locations->GetTemp(4)); in GenerateVarHandleCompareAndSetOrExchange()
4951 : LocationFrom(RegisterFrom(locations->GetTemp(5)), RegisterFrom(locations->GetTemp(6))); in GenerateVarHandleCompareAndSetOrExchange()
4965 expected = locations->GetTemp(0); in GenerateVarHandleCompareAndSetOrExchange()
4966 new_value = locations->GetTemp(1); in GenerateVarHandleCompareAndSetOrExchange()
4967 store_result = RegisterFrom(locations->GetTemp(2)); in GenerateVarHandleCompareAndSetOrExchange()
4968 old_value = return_success ? LocationFrom(store_result) : locations->GetTemp(3); in GenerateVarHandleCompareAndSetOrExchange()
4977 store_result = RegisterFrom(locations->GetTemp(0)); in GenerateVarHandleCompareAndSetOrExchange()
4995 store_result = RegisterFrom(locations->GetTemp(locations->GetTempCount() - 1u)); in GenerateVarHandleCompareAndSetOrExchange()
4998 DCHECK_EQ(locations->GetTempCount(), 3u); in GenerateVarHandleCompareAndSetOrExchange()
5001 expected = locations->GetTemp(0); in GenerateVarHandleCompareAndSetOrExchange()
5002 new_value = locations->GetTemp(1); in GenerateVarHandleCompareAndSetOrExchange()
5177 LocationSummary* locations = CreateVarHandleCommonLocations(invoke, codegen); in CreateVarHandleGetAndUpdateLocations() local
5181 DCHECK_EQ(locations->GetTempCount(), in CreateVarHandleGetAndUpdateLocations()
5189 locations->AddRegisterTemps(temps_needed - locations->GetTempCount()); in CreateVarHandleGetAndUpdateLocations()
5193 locations->AddTemp(Location::RequiresRegister()); in CreateVarHandleGetAndUpdateLocations()
5196 DCHECK_EQ(locations->GetTempCount(), 1u); in CreateVarHandleGetAndUpdateLocations()
5197 locations->AddRegisterTemps((value_type == DataType::Type::kInt64) ? 2u : 1u); in CreateVarHandleGetAndUpdateLocations()
5212 locations->AddRegisterTemps(temps_needed - locations->GetTempCount()); in CreateVarHandleGetAndUpdateLocations()
5215 locations->AddTemp(Location::RequiresFpuRegister()); in CreateVarHandleGetAndUpdateLocations()
5229 LocationSummary* locations = invoke->GetLocations(); in GenerateVarHandleGetAndUpdate() local
5230 Location arg = locations->InAt(arg_index); in GenerateVarHandleGetAndUpdate()
5231 Location out = locations->Out(); in GenerateVarHandleGetAndUpdate()
5276 DCHECK_EQ(locations->GetTempCount(), 5u); // `store_result` and the four here. in GenerateVarHandleGetAndUpdate()
5278 LocationFrom(RegisterFrom(locations->GetTemp(1)), RegisterFrom(locations->GetTemp(2))); in GenerateVarHandleGetAndUpdate()
5279 arg = LocationFrom(RegisterFrom(locations->GetTemp(3)), RegisterFrom(locations->GetTemp(4))); in GenerateVarHandleGetAndUpdate()
5288 DCHECK_EQ(locations->GetTempCount(), 3u); // `store_result` and the two here. in GenerateVarHandleGetAndUpdate()
5289 old_value = locations->GetTemp(1); in GenerateVarHandleGetAndUpdate()
5290 arg = locations->GetTemp(2); in GenerateVarHandleGetAndUpdate()
5308 arg = locations->GetTemp(1); in GenerateVarHandleGetAndUpdate()
5310 arg = LocationFrom(RegisterFrom(arg), RegisterFrom(locations->GetTemp(2))); in GenerateVarHandleGetAndUpdate()
5318 ? LocationFrom(RegisterFrom(locations->GetTemp(1)), RegisterFrom(locations->GetTemp(2))) in GenerateVarHandleGetAndUpdate()
5319 : locations->GetTemp(1); in GenerateVarHandleGetAndUpdate()
5322 maybe_vreg_temp = locations->GetTemp(locations->GetTempCount() - 1u); in GenerateVarHandleGetAndUpdate()
5338 arg = locations->GetTemp(2); in GenerateVarHandleGetAndUpdate()