Lines Matching refs:locations

107 // Note: The actual parameters are required to be in the locations given by the invoke's location
108 // summary. If an intrinsic modifies those locations before a slowpath call, they must be
168 LocationSummary* locations = instruction_->GetLocations();
169 DCHECK(locations->CanCall());
178 Register src_curr_addr = XRegisterFrom(locations->GetTemp(0));
179 Register dst_curr_addr = XRegisterFrom(locations->GetTemp(1));
180 Register src_stop_addr = XRegisterFrom(locations->GetTemp(2));
240 LocationSummary* locations =
242 locations->SetInAt(0, Location::RequiresFpuRegister());
243 locations->SetOut(Location::RequiresRegister());
247 LocationSummary* locations =
249 locations->SetInAt(0, Location::RequiresRegister());
250 locations->SetOut(Location::RequiresFpuRegister());
253 static void MoveFPToInt(LocationSummary* locations, bool is64bit, MacroAssembler* masm) {
254 Location input = locations->InAt(0);
255 Location output = locations->Out();
260 static void MoveIntToFP(LocationSummary* locations, bool is64bit, MacroAssembler* masm) {
261 Location input = locations->InAt(0);
262 Location output = locations->Out();
296 LocationSummary* locations =
298 locations->SetInAt(0, Location::RequiresRegister());
299 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap);
302 static void GenReverseBytes(LocationSummary* locations,
305 Location in = locations->InAt(0);
306 Location out = locations->Out();
348 LocationSummary* locations =
350 locations->SetInAt(0, Location::RequiresRegister());
351 locations->SetInAt(1, Location::RequiresRegister());
352 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap);
355 static void GenNumberOfLeadingZeros(LocationSummary* locations,
360 Location in = locations->InAt(0);
361 Location out = locations->Out();
382 static void GenNumberOfTrailingZeros(LocationSummary* locations,
387 Location in = locations->InAt(0);
388 Location out = locations->Out();
410 static void GenReverse(LocationSummary* locations,
415 Location in = locations->InAt(0);
416 Location out = locations->Out();
533 LocationSummary* locations =
535 locations->SetInAt(0, Location::RequiresFpuRegister());
536 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap);
539 static void MathAbsFP(LocationSummary* locations, bool is64bit, MacroAssembler* masm) {
540 Location in = locations->InAt(0);
541 Location out = locations->Out();
565 static void GenAbsInteger(LocationSummary* locations,
568 Location in = locations->InAt(0);
569 Location output = locations->Out();
594 static void GenMinMaxFP(LocationSummary* locations,
598 Location op1 = locations->InAt(0);
599 Location op2 = locations->InAt(1);
600 Location out = locations->Out();
613 LocationSummary* locations =
615 locations->SetInAt(0, Location::RequiresFpuRegister());
616 locations->SetInAt(1, Location::RequiresFpuRegister());
617 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap);
653 static void GenMinMax(LocationSummary* locations,
657 Location op1 = locations->InAt(0);
658 Location op2 = locations->InAt(1);
659 Location out = locations->Out();
706 LocationSummary* locations = invoke->GetLocations();
708 __ Fsqrt(DRegisterFrom(locations->Out()), DRegisterFrom(locations->InAt(0)));
716 LocationSummary* locations = invoke->GetLocations();
718 __ Frintp(DRegisterFrom(locations->Out()), DRegisterFrom(locations->InAt(0)));
726 LocationSummary* locations = invoke->GetLocations();
728 __ Frintm(DRegisterFrom(locations->Out()), DRegisterFrom(locations->InAt(0)));
736 LocationSummary* locations = invoke->GetLocations();
738 __ Frintn(DRegisterFrom(locations->Out()), DRegisterFrom(locations->InAt(0)));
742 LocationSummary* locations =
744 locations->SetInAt(0, Location::RequiresFpuRegister());
745 locations->SetOut(Location::RequiresRegister());
746 locations->AddTemp(Location::RequiresFpuRegister());
843 LocationSummary* locations =
845 locations->SetInAt(0, Location::RequiresRegister());
846 locations->SetInAt(1, Location::RequiresRegister());
890 LocationSummary* locations =
892 locations->SetOut(Location::RequiresRegister());
904 LocationSummary* locations = invoke->GetLocations();
908 Location base_loc = locations->InAt(1);
910 Location offset_loc = locations->InAt(2);
912 Location trg_loc = locations->Out();
917 Register temp = WRegisterFrom(locations->GetTemp(0));
947 LocationSummary* locations =
954 locations->SetCustomSlowPathCallerSaves(RegisterSet::Empty()); // No caller-save registers.
957 locations->AddTemp(Location::RequiresRegister());
959 locations->SetInAt(0, Location::NoLocation()); // Unused receiver.
960 locations->SetInAt(1, Location::RequiresRegister());
961 locations->SetInAt(2, Location::RequiresRegister());
962 locations->SetOut(Location::RequiresRegister(),
1005 LocationSummary* locations =
1007 locations->SetInAt(0, Location::NoLocation()); // Unused receiver.
1008 locations->SetInAt(1, Location::RequiresRegister());
1009 locations->SetInAt(2, Location::RequiresRegister());
1010 locations->SetInAt(3, Location::RequiresRegister());
1046 LocationSummary* locations = invoke->GetLocations();
1049 Register base = WRegisterFrom(locations->InAt(1)); // Object pointer.
1050 Register offset = XRegisterFrom(locations->InAt(2)); // Long offset.
1051 Register value = RegisterFrom(locations->InAt(3), type);
1151 LocationSummary* locations =
1157 locations->SetInAt(0, Location::NoLocation()); // Unused receiver.
1158 locations->SetInAt(1, Location::RequiresRegister());
1159 locations->SetInAt(2, Location::RequiresRegister());
1160 locations->SetInAt(3, Location::RequiresRegister());
1161 locations->SetInAt(4, Location::RequiresRegister());
1170 locations->SetOut(Location::RequiresRegister(), overlaps);
1173 locations->AddTemp(Location::RequiresRegister());
1179 LocationSummary* locations = invoke->GetLocations();
1181 Location out_loc = locations->Out();
1184 Register base = WRegisterFrom(locations->InAt(1)); // Object pointer.
1185 Location offset_loc = locations->InAt(2);
1187 Register expected = RegisterFrom(locations->InAt(3), type); // Expected.
1188 Register value = RegisterFrom(locations->InAt(4), type); // Value.
1201 Register temp = WRegisterFrom(locations->GetTemp(0));
1290 LocationSummary* locations =
1296 locations->SetInAt(0, Location::RequiresRegister());
1297 locations->SetInAt(1, Location::RequiresRegister());
1298 locations->AddTemp(Location::RequiresRegister());
1299 locations->AddTemp(Location::RequiresRegister());
1300 locations->AddTemp(Location::RequiresRegister());
1303 locations->AddTemp(Location::RequiresRegister());
1305 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap);
1310 LocationSummary* locations = invoke->GetLocations();
1318 Register temp0 = WRegisterFrom(locations->GetTemp(0));
1319 Register temp1 = WRegisterFrom(locations->GetTemp(1));
1320 Register temp2 = WRegisterFrom(locations->GetTemp(2));
1323 temp3 = WRegisterFrom(locations->GetTemp(3));
1529 LocationSummary* locations =
1531 locations->SetInAt(0, Location::RequiresRegister());
1532 locations->SetInAt(1, Location::RequiresRegister());
1546 locations->AddTemp(Location::RequiresRegister());
1552 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap);
1557 LocationSummary* locations = invoke->GetLocations();
1559 Register str = WRegisterFrom(locations->InAt(0));
1560 Register arg = WRegisterFrom(locations->InAt(1));
1561 Register out = XRegisterFrom(locations->Out());
1651 Register temp2 = XRegisterFrom(locations->GetTemp(0));
1684 Register temp2 = XRegisterFrom(locations->GetTemp(0));
1713 LocationSummary* locations = invoke->GetLocations();
1733 Register char_reg = WRegisterFrom(locations->InAt(1));
1742 Register tmp_reg = WRegisterFrom(locations->GetTemp(0));
1755 LocationSummary* locations = new (allocator_) LocationSummary(
1760 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0)));
1761 locations->SetInAt(1, LocationFrom(calling_convention.GetRegisterAt(1)));
1762 locations->SetOut(calling_convention.GetReturnLocation(DataType::Type::kInt32));
1765 locations->AddTemp(LocationFrom(calling_convention.GetRegisterAt(2)));
1773 LocationSummary* locations = new (allocator_) LocationSummary(
1778 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0)));
1779 locations->SetInAt(1, LocationFrom(calling_convention.GetRegisterAt(1)));
1780 locations->SetInAt(2, LocationFrom(calling_convention.GetRegisterAt(2)));
1781 locations->SetOut(calling_convention.GetReturnLocation(DataType::Type::kInt32));
1789 LocationSummary* locations = new (allocator_) LocationSummary(
1792 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0)));
1793 locations->SetInAt(1, LocationFrom(calling_convention.GetRegisterAt(1)));
1794 locations->SetInAt(2, LocationFrom(calling_convention.GetRegisterAt(2)));
1795 locations->SetInAt(3, LocationFrom(calling_convention.GetRegisterAt(3)));
1796 locations->SetOut(calling_convention.GetReturnLocation(DataType::Type::kReference));
1801 LocationSummary* locations = invoke->GetLocations();
1803 Register byte_array = WRegisterFrom(locations->InAt(0));
1816 LocationSummary* locations =
1819 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0)));
1820 locations->SetInAt(1, LocationFrom(calling_convention.GetRegisterAt(1)));
1821 locations->SetInAt(2, LocationFrom(calling_convention.GetRegisterAt(2)));
1822 locations->SetOut(calling_convention.GetReturnLocation(DataType::Type::kReference));
1826 // No need to emit code checking whether `locations->InAt(2)` is a null
1837 LocationSummary* locations = new (allocator_) LocationSummary(
1840 locations->SetInAt(0, LocationFrom(calling_convention.GetRegisterAt(0)));
1841 locations->SetOut(calling_convention.GetReturnLocation(DataType::Type::kReference));
1846 LocationSummary* locations = invoke->GetLocations();
1848 Register string_to_copy = WRegisterFrom(locations->InAt(0));
1865 LocationSummary* const locations =
1869 locations->SetInAt(0, LocationFrom(calling_convention.GetFpuRegisterAt(0)));
1870 locations->SetOut(calling_convention.GetReturnLocation(invoke->GetType()));
1879 LocationSummary* const locations =
1883 locations->SetInAt(0, LocationFrom(calling_convention.GetFpuRegisterAt(0)));
1884 locations->SetInAt(1, LocationFrom(calling_convention.GetFpuRegisterAt(1)));
1885 locations->SetOut(calling_convention.GetReturnLocation(invoke->GetType()));
2039 LocationSummary* locations =
2041 locations->SetInAt(0, Location::RequiresRegister());
2042 locations->SetInAt(1, Location::RequiresRegister());
2043 locations->SetInAt(2, Location::RequiresRegister());
2044 locations->SetInAt(3, Location::RequiresRegister());
2045 locations->SetInAt(4, Location::RequiresRegister());
2047 locations->AddTemp(Location::RequiresRegister());
2048 locations->AddTemp(Location::RequiresRegister());
2049 locations->AddTemp(Location::RequiresRegister());
2054 LocationSummary* locations = invoke->GetLocations();
2068 Register srcObj = XRegisterFrom(locations->InAt(0));
2069 Register srcBegin = XRegisterFrom(locations->InAt(1));
2070 Register srcEnd = XRegisterFrom(locations->InAt(2));
2071 Register dstObj = XRegisterFrom(locations->InAt(3));
2072 Register dstBegin = XRegisterFrom(locations->InAt(4));
2074 Register src_ptr = XRegisterFrom(locations->GetTemp(0));
2075 Register num_chr = XRegisterFrom(locations->GetTemp(1));
2076 Register tmp1 = XRegisterFrom(locations->GetTemp(2));
2155 static void SetSystemArrayCopyLocationRequires(LocationSummary* locations,
2160 locations->SetInAt(at, Location::RequiresRegister());
2162 locations->SetInAt(at, Location::RegisterOrConstant(input));
2191 LocationSummary* locations =
2194 locations->SetInAt(0, Location::RequiresRegister());
2195 SetSystemArrayCopyLocationRequires(locations, 1, invoke->InputAt(1));
2196 locations->SetInAt(2, Location::RequiresRegister());
2197 SetSystemArrayCopyLocationRequires(locations, 3, invoke->InputAt(3));
2198 SetSystemArrayCopyLocationRequires(locations, 4, invoke->InputAt(4));
2200 locations->AddTemp(Location::RequiresRegister());
2201 locations->AddTemp(Location::RequiresRegister());
2202 locations->AddTemp(Location::RequiresRegister());
2295 LocationSummary* locations = invoke->GetLocations();
2296 Register src = XRegisterFrom(locations->InAt(0));
2297 Location src_pos = locations->InAt(1);
2298 Register dst = XRegisterFrom(locations->InAt(2));
2299 Location dst_pos = locations->InAt(3);
2300 Location length = locations->InAt(4);
2329 Register src_curr_addr = WRegisterFrom(locations->GetTemp(0));
2330 Register dst_curr_addr = WRegisterFrom(locations->GetTemp(1));
2331 Register src_stop_addr = WRegisterFrom(locations->GetTemp(2));
2430 LocationSummary* locations =
2433 locations->SetInAt(0, Location::RequiresRegister());
2434 SetSystemArrayCopyLocationRequires(locations, 1, invoke->InputAt(1));
2435 locations->SetInAt(2, Location::RequiresRegister());
2436 SetSystemArrayCopyLocationRequires(locations, 3, invoke->InputAt(3));
2437 SetSystemArrayCopyLocationRequires(locations, 4, invoke->InputAt(4));
2439 locations->AddTemp(Location::RequiresRegister());
2440 locations->AddTemp(Location::RequiresRegister());
2449 locations->AddTemp(Location::RequiresRegister());
2462 LocationSummary* locations = invoke->GetLocations();
2470 Register src = XRegisterFrom(locations->InAt(0));
2471 Location src_pos = locations->InAt(1);
2472 Register dest = XRegisterFrom(locations->InAt(2));
2473 Location dest_pos = locations->InAt(3);
2474 Location length = locations->InAt(4);
2475 Register temp1 = WRegisterFrom(locations->GetTemp(0));
2477 Register temp2 = WRegisterFrom(locations->GetTemp(1));
2494 // Checked when building locations.
2500 // Checked when building locations.
2567 temp3_loc = locations->GetTemp(2);
2915 static void GenIsInfinite(LocationSummary* locations,
2923 out = XRegisterFrom(locations->Out());
2926 out = WRegisterFrom(locations->Out());
2931 MoveFPToInt(locations, is64bit, masm);
2965 LocationSummary* locations = invoke->GetLocations();
2968 Register out = RegisterFrom(locations->Out(), DataType::Type::kReference);
2998 Register in = RegisterFrom(locations->InAt(0), DataType::Type::kInt32);
3028 LocationSummary* locations =
3030 locations->SetOut(Location::RequiresRegister());
3049 LocationSummary* locations =
3051 locations->SetInAt(0, Location::Any());