Lines Matching refs:locations

171   LocationSummary* locations = new (arena) LocationSummary(invoke,  in CreateFPToIntLocations()  local
174 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations()
175 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations()
177 locations->AddTemp(Location::RequiresFpuRegister()); in CreateFPToIntLocations()
182 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateIntToFPLocations() local
185 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToFPLocations()
186 locations->SetOut(Location::RequiresFpuRegister()); in CreateIntToFPLocations()
188 locations->AddTemp(Location::RequiresFpuRegister()); in CreateIntToFPLocations()
189 locations->AddTemp(Location::RequiresFpuRegister()); in CreateIntToFPLocations()
193 static void MoveFPToInt(LocationSummary* locations, bool is64bit, X86Assembler* assembler) { in MoveFPToInt() argument
194 Location input = locations->InAt(0); in MoveFPToInt()
195 Location output = locations->Out(); in MoveFPToInt()
198 XmmRegister temp = locations->GetTemp(0).AsFpuRegister<XmmRegister>(); in MoveFPToInt()
208 static void MoveIntToFP(LocationSummary* locations, bool is64bit, X86Assembler* assembler) { in MoveIntToFP() argument
209 Location input = locations->InAt(0); in MoveIntToFP()
210 Location output = locations->Out(); in MoveIntToFP()
213 XmmRegister temp1 = locations->GetTemp(0).AsFpuRegister<XmmRegister>(); in MoveIntToFP()
214 XmmRegister temp2 = locations->GetTemp(1).AsFpuRegister<XmmRegister>(); in MoveIntToFP()
253 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateIntToIntLocations() local
256 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToIntLocations()
257 locations->SetOut(Location::SameAsFirstInput()); in CreateIntToIntLocations()
261 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateLongToIntLocations() local
264 locations->SetInAt(0, Location::RequiresRegister()); in CreateLongToIntLocations()
265 locations->SetOut(Location::RequiresRegister()); in CreateLongToIntLocations()
269 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateLongToLongLocations() local
272 locations->SetInAt(0, Location::RequiresRegister()); in CreateLongToLongLocations()
273 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in CreateLongToLongLocations()
276 static void GenReverseBytes(LocationSummary* locations, in GenReverseBytes() argument
279 Register out = locations->Out().AsRegister<Register>(); in GenReverseBytes()
309 LocationSummary* locations = invoke->GetLocations(); in VisitLongReverseBytes() local
310 Location input = locations->InAt(0); in VisitLongReverseBytes()
313 Location output = locations->Out(); in VisitLongReverseBytes()
339 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateFloatToFloat() local
342 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFloatToFloat()
345 locations->SetOut(Location::SameAsFirstInput()); in CreateFloatToFloat()
348 static void MathAbsFP(LocationSummary* locations, bool is64bit, X86Assembler* assembler) { in MathAbsFP() argument
349 Location output = locations->Out(); in MathAbsFP()
397 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateAbsIntLocation() local
400 locations->SetInAt(0, Location::RegisterLocation(EAX)); in CreateAbsIntLocation()
401 locations->SetOut(Location::SameAsFirstInput()); in CreateAbsIntLocation()
402 locations->AddTemp(Location::RegisterLocation(EDX)); in CreateAbsIntLocation()
405 static void GenAbsInteger(LocationSummary* locations, X86Assembler* assembler) { in GenAbsInteger() argument
406 Location output = locations->Out(); in GenAbsInteger()
409 Register temp = locations->GetTemp(0).AsRegister<Register>(); in GenAbsInteger()
425 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateAbsLongLocation() local
428 locations->SetInAt(0, Location::RequiresRegister()); in CreateAbsLongLocation()
429 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in CreateAbsLongLocation()
430 locations->AddTemp(Location::RequiresRegister()); in CreateAbsLongLocation()
433 static void GenAbsLong(LocationSummary* locations, X86Assembler* assembler) { in GenAbsLong() argument
434 Location input = locations->InAt(0); in GenAbsLong()
437 Location output = locations->Out(); in GenAbsLong()
440 Register temp = locations->GetTemp(0).AsRegister<Register>(); in GenAbsLong()
475 static void GenMinMaxFP(LocationSummary* locations, bool is_min, bool is_double, in GenMinMaxFP() argument
477 Location op1_loc = locations->InAt(0); in GenMinMaxFP()
478 Location op2_loc = locations->InAt(1); in GenMinMaxFP()
479 Location out_loc = locations->Out(); in GenMinMaxFP()
562 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateFPFPToFPLocations() local
565 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPFPToFPLocations()
566 locations->SetInAt(1, Location::RequiresFpuRegister()); in CreateFPFPToFPLocations()
569 locations->SetOut(Location::SameAsFirstInput()); in CreateFPFPToFPLocations()
604 static void GenMinMax(LocationSummary* locations, bool is_min, bool is_long, in GenMinMax() argument
606 Location op1_loc = locations->InAt(0); in GenMinMax()
607 Location op2_loc = locations->InAt(1); in GenMinMax()
614 DCHECK(locations->Out().Equals(op1_loc)); in GenMinMax()
621 Location output = locations->Out(); in GenMinMax()
629 Register temp = locations->GetTemp(0).AsRegister<Register>(); in GenMinMax()
644 Register out = locations->Out().AsRegister<Register>(); in GenMinMax()
660 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateIntIntToIntLocations() local
663 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntIntToIntLocations()
664 locations->SetInAt(1, Location::RequiresRegister()); in CreateIntIntToIntLocations()
665 locations->SetOut(Location::SameAsFirstInput()); in CreateIntIntToIntLocations()
669 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateLongLongToLongLocations() local
672 locations->SetInAt(0, Location::RequiresRegister()); in CreateLongLongToLongLocations()
673 locations->SetInAt(1, Location::RequiresRegister()); in CreateLongLongToLongLocations()
674 locations->SetOut(Location::SameAsFirstInput()); in CreateLongLongToLongLocations()
676 locations->AddTemp(Location::RequiresRegister()); in CreateLongLongToLongLocations()
712 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateFPToFPLocations() local
715 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToFPLocations()
716 locations->SetOut(Location::RequiresFpuRegister()); in CreateFPToFPLocations()
724 LocationSummary* locations = invoke->GetLocations(); in VisitMathSqrt() local
725 XmmRegister in = locations->InAt(0).AsFpuRegister<XmmRegister>(); in VisitMathSqrt()
726 XmmRegister out = locations->Out().AsFpuRegister<XmmRegister>(); in VisitMathSqrt()
756 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateSSE41FPToFPLocations() local
759 locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetFpuRegisterAt(0))); in CreateSSE41FPToFPLocations()
760 locations->SetOut(Location::FpuRegisterLocation(XMM0)); in CreateSSE41FPToFPLocations()
762 locations->AddTemp(Location::RegisterLocation(EAX)); in CreateSSE41FPToFPLocations()
769 LocationSummary* locations = invoke->GetLocations(); in GenSSE41FPToFPIntrinsic() local
770 if (locations->WillCall()) { in GenSSE41FPToFPIntrinsic()
773 XmmRegister in = locations->InAt(0).AsFpuRegister<XmmRegister>(); in GenSSE41FPToFPIntrinsic()
774 XmmRegister out = locations->Out().AsFpuRegister<XmmRegister>(); in GenSSE41FPToFPIntrinsic()
808 LocationSummary* locations = new (arena_) LocationSummary(invoke, in VisitMathRoundFloat() local
811 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitMathRoundFloat()
812 locations->SetOut(Location::RequiresRegister()); in VisitMathRoundFloat()
813 locations->AddTemp(Location::RequiresFpuRegister()); in VisitMathRoundFloat()
814 locations->AddTemp(Location::RequiresFpuRegister()); in VisitMathRoundFloat()
819 LocationSummary* locations = new (arena_) LocationSummary(invoke, in VisitMathRoundFloat() local
822 locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetFpuRegisterAt(0))); in VisitMathRoundFloat()
823 locations->SetOut(Location::RegisterLocation(EAX)); in VisitMathRoundFloat()
825 locations->AddTemp(Location::RegisterLocation(EAX)); in VisitMathRoundFloat()
829 LocationSummary* locations = invoke->GetLocations(); in VisitMathRoundFloat() local
830 if (locations->WillCall()) { in VisitMathRoundFloat()
836 XmmRegister in = locations->InAt(0).AsFpuRegister<XmmRegister>(); in VisitMathRoundFloat()
837 Register out = locations->Out().AsRegister<Register>(); in VisitMathRoundFloat()
838 XmmRegister maxInt = locations->GetTemp(0).AsFpuRegister<XmmRegister>(); in VisitMathRoundFloat()
839 XmmRegister inPlusPointFive = locations->GetTemp(1).AsFpuRegister<XmmRegister>(); in VisitMathRoundFloat()
876 LocationSummary* locations = new (arena_) LocationSummary(invoke, in VisitStringCharAt() local
879 locations->SetInAt(0, Location::RequiresRegister()); in VisitStringCharAt()
880 locations->SetInAt(1, Location::RequiresRegister()); in VisitStringCharAt()
881 locations->SetOut(Location::SameAsFirstInput()); in VisitStringCharAt()
885 LocationSummary* locations = invoke->GetLocations(); in VisitStringCharAt() local
892 Register obj = locations->InAt(0).AsRegister<Register>(); in VisitStringCharAt()
893 Register idx = locations->InAt(1).AsRegister<Register>(); in VisitStringCharAt()
894 Register out = locations->Out().AsRegister<Register>(); in VisitStringCharAt()
918 LocationSummary* locations = new (arena_) LocationSummary(invoke, in VisitStringCompareTo() local
922 locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetRegisterAt(0))); in VisitStringCompareTo()
923 locations->SetInAt(1, Location::RegisterLocation(calling_convention.GetRegisterAt(1))); in VisitStringCompareTo()
924 locations->SetOut(Location::RegisterLocation(EAX)); in VisitStringCompareTo()
929 LocationSummary* locations = invoke->GetLocations(); in VisitStringCompareTo() local
934 Register argument = locations->InAt(1).AsRegister<Register>(); in VisitStringCompareTo()
947 LocationSummary* locations = new (allocator) LocationSummary(invoke, in CreateStringIndexOfLocations() local
951 locations->SetInAt(0, Location::RegisterLocation(EDI)); in CreateStringIndexOfLocations()
956 locations->SetInAt(1, Location::RegisterLocation(EAX)); in CreateStringIndexOfLocations()
958 locations->SetInAt(2, Location::RequiresRegister()); // The starting index. in CreateStringIndexOfLocations()
961 locations->SetOut(Location::SameAsFirstInput()); in CreateStringIndexOfLocations()
964 locations->AddTemp(Location::RegisterLocation(ECX)); in CreateStringIndexOfLocations()
966 locations->AddTemp(Location::RequiresRegister()); in CreateStringIndexOfLocations()
974 LocationSummary* locations = invoke->GetLocations(); in GenerateStringIndexOf() local
979 Register string_obj = locations->InAt(0).AsRegister<Register>(); in GenerateStringIndexOf()
980 Register search_value = locations->InAt(1).AsRegister<Register>(); in GenerateStringIndexOf()
981 Register counter = locations->GetTemp(0).AsRegister<Register>(); in GenerateStringIndexOf()
982 Register string_length = locations->GetTemp(1).AsRegister<Register>(); in GenerateStringIndexOf()
983 Register out = locations->Out().AsRegister<Register>(); in GenerateStringIndexOf()
1034 Register start_index = locations->InAt(2).AsRegister<Register>(); in GenerateStringIndexOf()
1097 LocationSummary* locations = new (arena_) LocationSummary(invoke, in VisitStringNewStringFromBytes() local
1101 locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetRegisterAt(0))); in VisitStringNewStringFromBytes()
1102 locations->SetInAt(1, Location::RegisterLocation(calling_convention.GetRegisterAt(1))); in VisitStringNewStringFromBytes()
1103 locations->SetInAt(2, Location::RegisterLocation(calling_convention.GetRegisterAt(2))); in VisitStringNewStringFromBytes()
1104 locations->SetInAt(3, Location::RegisterLocation(calling_convention.GetRegisterAt(3))); in VisitStringNewStringFromBytes()
1105 locations->SetOut(Location::RegisterLocation(EAX)); in VisitStringNewStringFromBytes()
1110 LocationSummary* locations = invoke->GetLocations(); in VisitStringNewStringFromBytes() local
1112 Register byte_array = locations->InAt(0).AsRegister<Register>(); in VisitStringNewStringFromBytes()
1124 LocationSummary* locations = new (arena_) LocationSummary(invoke, in VisitStringNewStringFromChars() local
1128 locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetRegisterAt(0))); in VisitStringNewStringFromChars()
1129 locations->SetInAt(1, Location::RegisterLocation(calling_convention.GetRegisterAt(1))); in VisitStringNewStringFromChars()
1130 locations->SetInAt(2, Location::RegisterLocation(calling_convention.GetRegisterAt(2))); in VisitStringNewStringFromChars()
1131 locations->SetOut(Location::RegisterLocation(EAX)); in VisitStringNewStringFromChars()
1142 LocationSummary* locations = new (arena_) LocationSummary(invoke, in VisitStringNewStringFromString() local
1146 locations->SetInAt(0, Location::RegisterLocation(calling_convention.GetRegisterAt(0))); in VisitStringNewStringFromString()
1147 locations->SetOut(Location::RegisterLocation(EAX)); in VisitStringNewStringFromString()
1152 LocationSummary* locations = invoke->GetLocations(); in VisitStringNewStringFromString() local
1154 Register string_to_copy = locations->InAt(0).AsRegister<Register>(); in VisitStringNewStringFromString()
1165 static void GenPeek(LocationSummary* locations, Primitive::Type size, X86Assembler* assembler) { in GenPeek() argument
1166 Register address = locations->InAt(0).AsRegisterPairLow<Register>(); in GenPeek()
1167 Location out_loc = locations->Out(); in GenPeek()
1224 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateLongIntToVoidLocations() local
1227 locations->SetInAt(0, Location::RequiresRegister()); in CreateLongIntToVoidLocations()
1230 locations->SetInAt(1, Location::ByteRegisterOrConstant(EDX, value)); in CreateLongIntToVoidLocations()
1232 locations->SetInAt(1, Location::RegisterOrConstant(value)); in CreateLongIntToVoidLocations()
1236 static void GenPoke(LocationSummary* locations, Primitive::Type size, X86Assembler* assembler) { in GenPoke() argument
1237 Register address = locations->InAt(0).AsRegisterPairLow<Register>(); in GenPoke()
1238 Location value_loc = locations->InAt(1); in GenPoke()
1315 LocationSummary* locations = new (arena_) LocationSummary(invoke, in VisitThreadCurrentThread() local
1318 locations->SetOut(Location::RequiresRegister()); in VisitThreadCurrentThread()
1326 static void GenUnsafeGet(LocationSummary* locations, Primitive::Type type, in GenUnsafeGet() argument
1328 Register base = locations->InAt(1).AsRegister<Register>(); in GenUnsafeGet()
1329 Register offset = locations->InAt(2).AsRegisterPairLow<Register>(); in GenUnsafeGet()
1330 Location output = locations->Out(); in GenUnsafeGet()
1343 XmmRegister temp = locations->GetTemp(0).AsFpuRegister<XmmRegister>(); in GenUnsafeGet()
1363 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateIntIntIntToIntLocations() local
1366 locations->SetInAt(0, Location::NoLocation()); // Unused receiver. in CreateIntIntIntToIntLocations()
1367 locations->SetInAt(1, Location::RequiresRegister()); in CreateIntIntIntToIntLocations()
1368 locations->SetInAt(2, Location::RequiresRegister()); in CreateIntIntIntToIntLocations()
1372 locations->AddTemp(Location::RequiresFpuRegister()); in CreateIntIntIntToIntLocations()
1373 locations->SetOut(Location::RequiresRegister()); in CreateIntIntIntToIntLocations()
1375 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in CreateIntIntIntToIntLocations()
1378 locations->SetOut(Location::RequiresRegister()); in CreateIntIntIntToIntLocations()
1426 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateIntIntIntIntToVoidPlusTempsLocations() local
1429 locations->SetInAt(0, Location::NoLocation()); // Unused receiver. in CreateIntIntIntIntToVoidPlusTempsLocations()
1430 locations->SetInAt(1, Location::RequiresRegister()); in CreateIntIntIntIntToVoidPlusTempsLocations()
1431 locations->SetInAt(2, Location::RequiresRegister()); in CreateIntIntIntIntToVoidPlusTempsLocations()
1432 locations->SetInAt(3, Location::RequiresRegister()); in CreateIntIntIntIntToVoidPlusTempsLocations()
1435 locations->AddTemp(Location::RequiresRegister()); in CreateIntIntIntIntToVoidPlusTempsLocations()
1437 locations->AddTemp(Location::RegisterLocation(ECX)); in CreateIntIntIntIntToVoidPlusTempsLocations()
1439 locations->AddTemp(Location::RequiresFpuRegister()); in CreateIntIntIntIntToVoidPlusTempsLocations()
1440 locations->AddTemp(Location::RequiresFpuRegister()); in CreateIntIntIntIntToVoidPlusTempsLocations()
1474 static void GenUnsafePut(LocationSummary* locations, in GenUnsafePut() argument
1479 Register base = locations->InAt(1).AsRegister<Register>(); in GenUnsafePut()
1480 Register offset = locations->InAt(2).AsRegisterPairLow<Register>(); in GenUnsafePut()
1481 Location value_loc = locations->InAt(3); in GenUnsafePut()
1487 XmmRegister temp1 = locations->GetTemp(0).AsFpuRegister<XmmRegister>(); in GenUnsafePut()
1488 XmmRegister temp2 = locations->GetTemp(1).AsFpuRegister<XmmRegister>(); in GenUnsafePut()
1506 codegen->MarkGCCard(locations->GetTemp(0).AsRegister<Register>(), in GenUnsafePut()
1507 locations->GetTemp(1).AsRegister<Register>(), in GenUnsafePut()
1543 LocationSummary* locations = new (arena) LocationSummary(invoke, in CreateIntIntIntIntIntToInt() local
1546 locations->SetInAt(0, Location::NoLocation()); // Unused receiver. in CreateIntIntIntIntIntToInt()
1547 locations->SetInAt(1, Location::RequiresRegister()); in CreateIntIntIntIntIntToInt()
1550 locations->SetInAt(2, Location::RequiresRegister()); in CreateIntIntIntIntIntToInt()
1554 locations->SetInAt(3, Location::RegisterPairLocation(EAX, EDX)); in CreateIntIntIntIntIntToInt()
1555 locations->SetInAt(4, Location::RegisterPairLocation(EBX, ECX)); in CreateIntIntIntIntIntToInt()
1557 locations->SetInAt(3, Location::RegisterLocation(EAX)); in CreateIntIntIntIntIntToInt()
1558 locations->SetInAt(4, Location::RequiresRegister()); in CreateIntIntIntIntIntToInt()
1562 locations->SetOut(Location::RegisterLocation(EAX)); in CreateIntIntIntIntIntToInt()
1565 locations->AddTemp(Location::RequiresRegister()); in CreateIntIntIntIntIntToInt()
1567 locations->AddTemp(Location::RegisterLocation(ECX)); in CreateIntIntIntIntIntToInt()
1586 LocationSummary* locations = invoke->GetLocations(); in GenCAS() local
1588 Register base = locations->InAt(1).AsRegister<Register>(); in GenCAS()
1589 Register offset = locations->InAt(2).AsRegisterPairLow<Register>(); in GenCAS()
1590 Location out = locations->Out(); in GenCAS()
1594 DCHECK_EQ(locations->InAt(3).AsRegisterPairLow<Register>(), EAX); in GenCAS()
1595 DCHECK_EQ(locations->InAt(3).AsRegisterPairHigh<Register>(), EDX); in GenCAS()
1596 DCHECK_EQ(locations->InAt(4).AsRegisterPairLow<Register>(), EBX); in GenCAS()
1597 DCHECK_EQ(locations->InAt(4).AsRegisterPairHigh<Register>(), ECX); in GenCAS()
1601 DCHECK_EQ(locations->InAt(3).AsRegister<Register>(), EAX); in GenCAS()
1602 Register value = locations->InAt(4).AsRegister<Register>(); in GenCAS()
1605 codegen->MarkGCCard(locations->GetTemp(0).AsRegister<Register>(), in GenCAS()
1606 locations->GetTemp(1).AsRegister<Register>(), in GenCAS()
1635 LocationSummary* locations = new (arena_) LocationSummary(invoke, in VisitIntegerReverse() local
1638 locations->SetInAt(0, Location::RequiresRegister()); in VisitIntegerReverse()
1639 locations->SetOut(Location::SameAsFirstInput()); in VisitIntegerReverse()
1640 locations->AddTemp(Location::RequiresRegister()); in VisitIntegerReverse()
1658 LocationSummary* locations = invoke->GetLocations(); in VisitIntegerReverse() local
1660 Register reg = locations->InAt(0).AsRegister<Register>(); in VisitIntegerReverse()
1661 Register temp = locations->GetTemp(0).AsRegister<Register>(); in VisitIntegerReverse()
1679 LocationSummary* locations = new (arena_) LocationSummary(invoke, in VisitLongReverse() local
1682 locations->SetInAt(0, Location::RequiresRegister()); in VisitLongReverse()
1683 locations->SetOut(Location::SameAsFirstInput()); in VisitLongReverse()
1684 locations->AddTemp(Location::RequiresRegister()); in VisitLongReverse()
1690 LocationSummary* locations = invoke->GetLocations(); in VisitLongReverse() local
1692 Register reg_low = locations->InAt(0).AsRegisterPairLow<Register>(); in VisitLongReverse()
1693 Register reg_high = locations->InAt(0).AsRegisterPairHigh<Register>(); in VisitLongReverse()
1694 Register temp = locations->GetTemp(0).AsRegister<Register>(); in VisitLongReverse()