Lines Matching defs:locations

83   LocationSummary* locations = new (arena) LocationSummary(invoke,
86 locations->SetInAt(0, Location::RequiresFpuRegister());
87 locations->SetOut(Location::RequiresRegister());
91 LocationSummary* locations = new (arena) LocationSummary(invoke,
94 locations->SetInAt(0, Location::RequiresRegister());
95 locations->SetOut(Location::RequiresFpuRegister());
98 static void MoveFPToInt(LocationSummary* locations, bool is64bit, X86_64Assembler* assembler) {
99 Location input = locations->InAt(0);
100 Location output = locations->Out();
104 static void MoveIntToFP(LocationSummary* locations, bool is64bit, X86_64Assembler* assembler) {
105 Location input = locations->InAt(0);
106 Location output = locations->Out();
139 LocationSummary* locations = new (arena) LocationSummary(invoke,
142 locations->SetInAt(0, Location::RequiresRegister());
143 locations->SetOut(Location::SameAsFirstInput());
146 static void GenReverseBytes(LocationSummary* locations,
149 CpuRegister out = locations->Out().AsRegister<CpuRegister>();
199 LocationSummary* locations = new (arena) LocationSummary(invoke,
202 locations->SetInAt(0, Location::RequiresFpuRegister());
203 locations->SetOut(Location::SameAsFirstInput());
204 locations->AddTemp(Location::RequiresFpuRegister()); // FP reg to hold mask.
207 static void MathAbsFP(LocationSummary* locations,
211 Location output = locations->Out();
214 XmmRegister xmm_temp = locations->GetTemp(0).AsFpuRegister<XmmRegister>();
245 LocationSummary* locations = new (arena) LocationSummary(invoke,
248 locations->SetInAt(0, Location::RequiresRegister());
249 locations->SetOut(Location::SameAsFirstInput());
250 locations->AddTemp(Location::RequiresRegister());
253 static void GenAbsInteger(LocationSummary* locations, bool is64bit, X86_64Assembler* assembler) {
254 Location output = locations->Out();
256 CpuRegister mask = locations->GetTemp(0).AsRegister<CpuRegister>();
291 static void GenMinMaxFP(LocationSummary* locations,
296 Location op1_loc = locations->InAt(0);
297 Location op2_loc = locations->InAt(1);
298 Location out_loc = locations->Out();
301 // Shortcut for same input locations.
376 LocationSummary* locations = new (arena) LocationSummary(invoke,
379 locations->SetInAt(0, Location::RequiresFpuRegister());
380 locations->SetInAt(1, Location::RequiresFpuRegister());
383 locations->SetOut(Location::SameAsFirstInput());
422 static void GenMinMax(LocationSummary* locations, bool is_min, bool is_long,
424 Location op1_loc = locations->InAt(0);
425 Location op2_loc = locations->InAt(1);
427 // Shortcut for same input locations.
432 DCHECK(locations->Out().Equals(op1_loc));
436 CpuRegister out = locations->Out().AsRegister<CpuRegister>();
455 LocationSummary* locations = new (arena) LocationSummary(invoke,
458 locations->SetInAt(0, Location::RequiresRegister());
459 locations->SetInAt(1, Location::RequiresRegister());
460 locations->SetOut(Location::SameAsFirstInput());
496 LocationSummary* locations = new (arena) LocationSummary(invoke,
499 locations->SetInAt(0, Location::RequiresFpuRegister());
500 locations->SetOut(Location::RequiresFpuRegister());
508 LocationSummary* locations = invoke->GetLocations();
509 XmmRegister in = locations->InAt(0).AsFpuRegister<XmmRegister>();
510 XmmRegister out = locations->Out().AsFpuRegister<XmmRegister>();
541 LocationSummary* locations = new (arena) LocationSummary(invoke,
544 locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetFpuRegisterAt(0)));
545 locations->SetOut(Location::FpuRegisterLocation(XMM0));
547 locations->AddTemp(Location::RegisterLocation(RDI));
554 LocationSummary* locations = invoke->GetLocations();
555 if (locations->WillCall()) {
558 XmmRegister in = locations->InAt(0).AsFpuRegister<XmmRegister>();
559 XmmRegister out = locations->Out().AsFpuRegister<XmmRegister>();
593 LocationSummary* locations = new (arena) LocationSummary(invoke,
596 locations->SetInAt(0, Location::RequiresFpuRegister());
597 locations->SetOut(Location::RequiresRegister());
598 locations->AddTemp(Location::RequiresFpuRegister());
603 LocationSummary* locations = new (arena) LocationSummary(invoke,
606 locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetFpuRegisterAt(0)));
607 locations->SetOut(Location::RegisterLocation(RAX));
609 locations->AddTemp(Location::RegisterLocation(RDI));
620 LocationSummary* locations = invoke->GetLocations();
621 if (locations->WillCall()) {
627 XmmRegister in = locations->InAt(0).AsFpuRegister<XmmRegister>();
628 CpuRegister out = locations->Out().AsRegister<CpuRegister>();
629 XmmRegister inPlusPointFive = locations->GetTemp(0).AsFpuRegister<XmmRegister>();
670 LocationSummary* locations = invoke->GetLocations();
671 if (locations->WillCall()) {
677 XmmRegister in = locations->InAt(0).AsFpuRegister<XmmRegister>();
678 CpuRegister out = locations->Out().AsRegister<CpuRegister>();
679 XmmRegister inPlusPointFive = locations->GetTemp(0).AsFpuRegister<XmmRegister>();
714 LocationSummary* locations = new (arena) LocationSummary(invoke,
718 locations->SetInAt(0, Location::FpuRegisterLocation(calling_convention.GetFpuRegisterAt(0)));
719 locations->SetOut(Location::FpuRegisterLocation(XMM0));
725 locations->AddTemp(Location::FpuRegisterLocation(fp_reg));
731 LocationSummary* locations = invoke->GetLocations();
732 DCHECK(locations->WillCall());
854 LocationSummary* locations = new (arena) LocationSummary(invoke,
858 locations->SetInAt(0, Location::FpuRegisterLocation(calling_convention.GetFpuRegisterAt(0)));
859 locations->SetInAt(1, Location::FpuRegisterLocation(calling_convention.GetFpuRegisterAt(1)));
860 locations->SetOut(Location::FpuRegisterLocation(XMM0));
866 locations->AddTemp(Location::FpuRegisterLocation(fp_reg));
896 LocationSummary* locations = new (arena_) LocationSummary(invoke,
899 locations->SetInAt(0, Location::RequiresRegister());
900 locations->SetInAt(1, Location::RequiresRegister());
901 locations->SetOut(Location::SameAsFirstInput());
902 locations->AddTemp(Location::RequiresRegister());
906 LocationSummary* locations = invoke->GetLocations();
913 CpuRegister obj = locations->InAt(0).AsRegister<CpuRegister>();
914 CpuRegister idx = locations->InAt(1).AsRegister<CpuRegister>();
915 CpuRegister out = locations->Out().AsRegister<CpuRegister>();
960 LocationSummary* locations = new (arena_) LocationSummary(invoke,
964 locations->SetInAt(0, Location::RequiresRegister());
965 locations->SetInAt(1, Location::RegisterOrConstant(invoke->InputAt(1)));
966 locations->SetInAt(2, Location::RequiresRegister());
967 locations->SetInAt(3, Location::RegisterOrConstant(invoke->InputAt(3)));
968 locations->SetInAt(4, Location::RegisterOrConstant(invoke->InputAt(4)));
971 locations->AddTemp(Location::RegisterLocation(RSI));
972 locations->AddTemp(Location::RegisterLocation(RDI));
973 locations->AddTemp(Location::RegisterLocation(RCX));
1044 LocationSummary* locations = invoke->GetLocations();
1046 CpuRegister src = locations->InAt(0).AsRegister<CpuRegister>();
1047 Location src_pos = locations->InAt(1);
1048 CpuRegister dest = locations->InAt(2).AsRegister<CpuRegister>();
1049 Location dest_pos = locations->InAt(3);
1050 Location length = locations->InAt(4);
1053 CpuRegister src_base = locations->GetTemp(0).AsRegister<CpuRegister>();
1055 CpuRegister dest_base = locations->GetTemp(1).AsRegister<CpuRegister>();
1057 CpuRegister count = locations->GetTemp(2).AsRegister<CpuRegister>();
1134 LocationSummary* locations = invoke->GetLocations();
1141 CpuRegister src = locations->InAt(0).AsRegister<CpuRegister>();
1142 Location src_pos = locations->InAt(1);
1143 CpuRegister dest = locations->InAt(2).AsRegister<CpuRegister>();
1144 Location dest_pos = locations->InAt(3);
1145 Location length = locations->InAt(4);
1146 CpuRegister temp1 = locations->GetTemp(0).AsRegister<CpuRegister>();
1147 CpuRegister temp2 = locations->GetTemp(1).AsRegister<CpuRegister>();
1148 CpuRegister temp3 = locations->GetTemp(2).AsRegister<CpuRegister>();
1165 // Checked when building locations.
1357 LocationSummary* locations = new (arena_) LocationSummary(invoke,
1361 locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetRegisterAt(0)));
1362 locations->SetInAt(1, Location::RegisterLocation(calling_convention.GetRegisterAt(1)));
1363 locations->SetOut(Location::RegisterLocation(RAX));
1368 LocationSummary* locations = invoke->GetLocations();
1373 CpuRegister argument = locations->InAt(1).AsRegister<CpuRegister>();
1385 LocationSummary* locations = new (arena_) LocationSummary(invoke,
1388 locations->SetInAt(0, Location::RequiresRegister());
1389 locations->SetInAt(1, Location::RequiresRegister());
1392 locations->AddTemp(Location::RegisterLocation(RCX));
1393 locations->AddTemp(Location::RegisterLocation(RDI));
1396 locations->SetOut(Location::RegisterLocation(RSI), Location::kOutputOverlap);
1401 LocationSummary* locations = invoke->GetLocations();
1403 CpuRegister str = locations->InAt(0).AsRegister<CpuRegister>();
1404 CpuRegister arg = locations->InAt(1).AsRegister<CpuRegister>();
1405 CpuRegister rcx = locations->GetTemp(0).AsRegister<CpuRegister>();
1406 CpuRegister rdi = locations->GetTemp(1).AsRegister<CpuRegister>();
1407 CpuRegister rsi = locations->Out().AsRegister<CpuRegister>();
1475 LocationSummary* locations = new (allocator) LocationSummary(invoke,
1479 locations->SetInAt(0, Location::RegisterLocation(RDI));
1484 locations->SetInAt(1, Location::RegisterLocation(RAX));
1486 locations->SetInAt(2, Location::RequiresRegister()); // The starting index.
1489 locations->SetOut(Location::SameAsFirstInput());
1492 locations->AddTemp(Location::RegisterLocation(RCX));
1494 locations->AddTemp(Location::RequiresRegister());
1502 LocationSummary* locations = invoke->GetLocations();
1507 CpuRegister string_obj = locations->InAt(0).AsRegister<CpuRegister>();
1508 CpuRegister search_value = locations->InAt(1).AsRegister<CpuRegister>();
1509 CpuRegister counter = locations->GetTemp(0).AsRegister<CpuRegister>();
1510 CpuRegister string_length = locations->GetTemp(1).AsRegister<CpuRegister>();
1511 CpuRegister out = locations->Out().AsRegister<CpuRegister>();
1562 CpuRegister start_index = locations->InAt(2).AsRegister<CpuRegister>();
1625 LocationSummary* locations = new (arena_) LocationSummary(invoke,
1629 locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetRegisterAt(0)));
1630 locations->SetInAt(1, Location::RegisterLocation(calling_convention.GetRegisterAt(1)));
1631 locations->SetInAt(2, Location::RegisterLocation(calling_convention.GetRegisterAt(2)));
1632 locations->SetInAt(3, Location::RegisterLocation(calling_convention.GetRegisterAt(3)));
1633 locations->SetOut(Location::RegisterLocation(RAX));
1638 LocationSummary* locations = invoke->GetLocations();
1640 CpuRegister byte_array = locations->InAt(0).AsRegister<CpuRegister>();
1654 LocationSummary* locations = new (arena_) LocationSummary(invoke,
1658 locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetRegisterAt(0)));
1659 locations->SetInAt(1, Location::RegisterLocation(calling_convention.GetRegisterAt(1)));
1660 locations->SetInAt(2, Location::RegisterLocation(calling_convention.GetRegisterAt(2)));
1661 locations->SetOut(Location::RegisterLocation(RAX));
1667 // No need to emit code checking whether `locations->InAt(2)` is a null
1680 LocationSummary* locations = new (arena_) LocationSummary(invoke,
1684 locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetRegisterAt(0)));
1685 locations->SetOut(Location::RegisterLocation(RAX));
1690 LocationSummary* locations = invoke->GetLocations();
1692 CpuRegister string_to_copy = locations->InAt(0).AsRegister<CpuRegister>();
1707 LocationSummary* locations = new (arena_) LocationSummary(invoke,
1710 locations->SetInAt(0, Location::RequiresRegister());
1711 locations->SetInAt(1, Location::RegisterOrConstant(invoke->InputAt(1)));
1712 locations->SetInAt(2, Location::RequiresRegister());
1713 locations->SetInAt(3, Location::RequiresRegister());
1714 locations->SetInAt(4, Location::RequiresRegister());
1717 locations->AddTemp(Location::RegisterLocation(RSI));
1718 locations->AddTemp(Location::RegisterLocation(RDI));
1719 locations->AddTemp(Location::RegisterLocation(RCX));
1724 LocationSummary* locations = invoke->GetLocations();
1733 CpuRegister obj = locations->InAt(0).AsRegister<CpuRegister>();
1734 Location srcBegin = locations->InAt(1);
1737 CpuRegister srcEnd = locations->InAt(2).AsRegister<CpuRegister>();
1738 CpuRegister dst = locations->InAt(3).AsRegister<CpuRegister>();
1739 CpuRegister dstBegin = locations->InAt(4).AsRegister<CpuRegister>();
1773 static void GenPeek(LocationSummary* locations, Primitive::Type size, X86_64Assembler* assembler) {
1774 CpuRegister address = locations->InAt(0).AsRegister<CpuRegister>();
1775 CpuRegister out = locations->Out().AsRegister<CpuRegister>(); // == address, here for clarity.
1830 LocationSummary* locations = new (arena) LocationSummary(invoke,
1833 locations->SetInAt(0, Location::RequiresRegister());
1834 locations->SetInAt(1, Location::RegisterOrInt32Constant(invoke->InputAt(1)));
1837 static void GenPoke(LocationSummary* locations, Primitive::Type size, X86_64Assembler* assembler) {
1838 CpuRegister address = locations->InAt(0).AsRegister<CpuRegister>();
1839 Location value = locations->InAt(1);
1916 LocationSummary* locations = new (arena_) LocationSummary(invoke,
1919 locations->SetOut(Location::RequiresRegister());
1933 LocationSummary* locations = invoke->GetLocations();
1934 Location base_loc = locations->InAt(1);
1936 Location offset_loc = locations->InAt(2);
1938 Location output_loc = locations->Out();
1949 Location temp = locations->GetTemp(0);
1980 LocationSummary* locations = new (arena) LocationSummary(invoke,
1985 locations->SetInAt(0, Location::NoLocation()); // Unused receiver.
1986 locations->SetInAt(1, Location::RequiresRegister());
1987 locations->SetInAt(2, Location::RequiresRegister());
1988 locations->SetOut(Location::RequiresRegister());
1992 locations->AddTemp(Location::RequiresRegister());
2039 LocationSummary* locations = new (arena) LocationSummary(invoke,
2042 locations->SetInAt(0, Location::NoLocation()); // Unused receiver.
2043 locations->SetInAt(1, Location::RequiresRegister());
2044 locations->SetInAt(2, Location::RequiresRegister());
2045 locations->SetInAt(3, Location::RequiresRegister());
2048 locations->AddTemp(Location::RequiresRegister()); // Possibly used for reference poisoning too.
2049 locations->AddTemp(Location::RequiresRegister());
2083 static void GenUnsafePut(LocationSummary* locations, Primitive::Type type, bool is_volatile,
2086 CpuRegister base = locations->InAt(1).AsRegister<CpuRegister>();
2087 CpuRegister offset = locations->InAt(2).AsRegister<CpuRegister>();
2088 CpuRegister value = locations->InAt(3).AsRegister<CpuRegister>();
2093 CpuRegister temp = locations->GetTemp(0).AsRegister<CpuRegister>();
2107 codegen->MarkGCCard(locations->GetTemp(0).AsRegister<CpuRegister>(),
2108 locations->GetTemp(1).AsRegister<CpuRegister>(),
2145 LocationSummary* locations = new (arena) LocationSummary(invoke,
2148 locations->SetInAt(0, Location::NoLocation()); // Unused receiver.
2149 locations->SetInAt(1, Location::RequiresRegister());
2150 locations->SetInAt(2, Location::RequiresRegister());
2152 locations->SetInAt(3, Location::RegisterLocation(RAX));
2153 locations->SetInAt(4, Location::RequiresRegister());
2155 locations->SetOut(Location::RequiresRegister());
2158 locations->AddTemp(Location::RequiresRegister()); // Possibly used for reference poisoning too.
2159 locations->AddTemp(Location::RequiresRegister());
2188 LocationSummary* locations = invoke->GetLocations();
2190 CpuRegister base = locations->InAt(1).AsRegister<CpuRegister>();
2191 CpuRegister offset = locations->InAt(2).AsRegister<CpuRegister>();
2192 CpuRegister expected = locations->InAt(3).AsRegister<CpuRegister>();
2195 CpuRegister value = locations->InAt(4).AsRegister<CpuRegister>();
2196 CpuRegister out = locations->Out().AsRegister<CpuRegister>();
2201 codegen->MarkGCCard(locations->GetTemp(0).AsRegister<CpuRegister>(),
2202 locations->GetTemp(1).AsRegister<CpuRegister>(),
2214 value_reg = locations->GetTemp(0).AsRegister<CpuRegister>().AsRegister();
2297 LocationSummary* locations = new (arena_) LocationSummary(invoke,
2300 locations->SetInAt(0, Location::RequiresRegister());
2301 locations->SetOut(Location::SameAsFirstInput());
2302 locations->AddTemp(Location::RequiresRegister());
2319 LocationSummary* locations = invoke->GetLocations();
2321 CpuRegister reg = locations->InAt(0).AsRegister<CpuRegister>();
2322 CpuRegister temp = locations->GetTemp(0).AsRegister<CpuRegister>();
2340 LocationSummary* locations = new (arena_) LocationSummary(invoke,
2343 locations->SetInAt(0, Location::RequiresRegister());
2344 locations->SetOut(Location::SameAsFirstInput());
2345 locations->AddTemp(Location::RequiresRegister());
2346 locations->AddTemp(Location::RequiresRegister());
2363 LocationSummary* locations = invoke->GetLocations();
2365 CpuRegister reg = locations->InAt(0).AsRegister<CpuRegister>();
2366 CpuRegister temp1 = locations->GetTemp(0).AsRegister<CpuRegister>();
2367 CpuRegister temp2 = locations->GetTemp(1).AsRegister<CpuRegister>();
2391 LocationSummary* locations = new (arena) LocationSummary(invoke,
2394 locations->SetInAt(0, Location::Any());
2395 locations->SetOut(Location::RequiresRegister());
2402 LocationSummary* locations = invoke->GetLocations();
2403 Location src = locations->InAt(0);
2404 CpuRegister out = locations->Out().AsRegister<CpuRegister>();
2448 LocationSummary* locations = new (arena) LocationSummary(invoke,
2451 locations->SetInAt(0, Location::Any());
2452 locations->SetOut(Location::RequiresRegister());
2453 locations->AddTemp(is_high ? Location::RegisterLocation(RCX) // needs CL
2461 LocationSummary* locations = invoke->GetLocations();
2462 Location src = locations->InAt(0);
2463 CpuRegister out = locations->Out().AsRegister<CpuRegister>();
2489 CpuRegister tmp = locations->GetTemp(0).AsRegister<CpuRegister>();
2579 LocationSummary* locations = new (arena) LocationSummary(invoke,
2582 locations->SetInAt(0, Location::Any());
2583 locations->SetOut(Location::RequiresRegister());
2589 LocationSummary* locations = invoke->GetLocations();
2590 Location src = locations->InAt(0);
2591 CpuRegister out = locations->Out().AsRegister<CpuRegister>();
2653 LocationSummary* locations = new (arena) LocationSummary(invoke,
2656 locations->SetInAt(0, Location::Any());
2657 locations->SetOut(Location::RequiresRegister());
2663 LocationSummary* locations = invoke->GetLocations();
2664 Location src = locations->InAt(0);
2665 CpuRegister out = locations->Out().AsRegister<CpuRegister>();