Lines Matching refs:Location
84 Location ARM64ReturnLocation(Primitive::Type return_type) { in ARM64ReturnLocation()
100 Location InvokeRuntimeCallingConvention::GetReturnLocation(Primitive::Type return_type) { in GetReturnLocation()
110 Location index_location, in BoundsCheckSlowPathARM64()
111 Location length_location) in BoundsCheckSlowPathARM64()
133 const Location index_location_;
134 const Location length_location_;
185 Location out = locations->Out(); in EmitNativeCode()
305 Location class_to_check, in TypeCheckSlowPathARM64()
306 Location object_class, in TypeCheckSlowPathARM64()
333 Location ret_loc = calling_convention.GetReturnLocation(ret_type); in EmitNativeCode()
349 const Location class_to_check_;
350 const Location object_class_;
378 Location InvokeDexCallingConventionVisitorARM64::GetNextLocation(Primitive::Type type) { in GetNextLocation()
379 Location next_location; in GetNextLocation()
392 next_location = Primitive::Is64BitType(type) ? Location::DoubleStackSlot(stack_offset) in GetNextLocation()
393 : Location::StackSlot(stack_offset); in GetNextLocation()
448 Location ParallelMoveResolverARM64::AllocateScratchLocationFor(Location::Kind kind) { in AllocateScratchLocationFor()
449 DCHECK(kind == Location::kRegister || kind == Location::kFpuRegister || in AllocateScratchLocationFor()
450 kind == Location::kStackSlot || kind == Location::kDoubleStackSlot); in AllocateScratchLocationFor()
451 kind = (kind == Location::kFpuRegister) ? Location::kFpuRegister : Location::kRegister; in AllocateScratchLocationFor()
452 Location scratch = GetScratchLocation(kind); in AllocateScratchLocationFor()
453 if (!scratch.Equals(Location::NoLocation())) { in AllocateScratchLocationFor()
457 if (kind == Location::kRegister) { in AllocateScratchLocationFor()
460 DCHECK(kind == Location::kFpuRegister); in AllocateScratchLocationFor()
467 void ParallelMoveResolverARM64::FreeScratchLocation(Location loc) { in FreeScratchLocation()
536 Location location, in Move()
565 Location temp_location = GetTemporaryLocation(instruction->AsTemporary()); in Move()
570 MoveLocation(location, Location::DoubleStackSlot(stack_slot), type); in Move()
572 MoveLocation(location, Location::StackSlot(stack_slot), type); in Move()
581 Location CodeGeneratorARM64::GetStackLocation(HLoadLocal* load) const { in GetStackLocation()
588 return Location::StackSlot(GetStackSlot(load->GetLocal())); in GetStackLocation()
592 return Location::DoubleStackSlot(GetStackSlot(load->GetLocal())); in GetStackLocation()
603 return Location::NoLocation(); in GetStackLocation()
652 Location CodeGeneratorARM64::AllocateFreeRegister(Primitive::Type type) const { in AllocateFreeRegister()
660 return Location::FpuRegisterLocation(reg); in AllocateFreeRegister()
664 return Location::RegisterLocation(reg); in AllocateFreeRegister()
716 static bool CoherentConstantAndType(Location constant, Primitive::Type type) { in CoherentConstantAndType()
727 void CodeGeneratorARM64::MoveLocation(Location destination, Location source, Primitive::Type type) { in MoveLocation()
1093 locations->SetOut(Location::Any()); \
1108 locations->SetInAt(0, Location::RequiresRegister()); in FOR_EACH_UNIMPLEMENTED_INSTRUCTION()
1110 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in FOR_EACH_UNIMPLEMENTED_INSTRUCTION()
1115 locations->SetInAt(0, Location::RequiresFpuRegister()); in FOR_EACH_UNIMPLEMENTED_INSTRUCTION()
1116 locations->SetInAt(1, Location::RequiresFpuRegister()); in FOR_EACH_UNIMPLEMENTED_INSTRUCTION()
1117 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in FOR_EACH_UNIMPLEMENTED_INSTRUCTION()
1128 locations->SetInAt(0, Location::RequiresRegister()); in HandleFieldGet()
1130 locations->SetOut(Location::RequiresFpuRegister()); in HandleFieldGet()
1132 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in HandleFieldGet()
1163 locations->SetInAt(0, Location::RequiresRegister()); in HandleFieldSet()
1165 locations->SetInAt(1, Location::RequiresFpuRegister()); in HandleFieldSet()
1167 locations->SetInAt(1, Location::RequiresRegister()); in HandleFieldSet()
1252 locations->SetInAt(0, Location::RequiresRegister()); in HandleShift()
1253 locations->SetInAt(1, Location::RegisterOrConstant(instr->InputAt(1))); in HandleShift()
1254 locations->SetOut(Location::RequiresRegister()); in HandleShift()
1320 locations->SetInAt(0, Location::RequiresRegister()); in VisitArrayGet()
1321 locations->SetInAt(1, Location::RegisterOrConstant(instruction->InputAt(1))); in VisitArrayGet()
1323 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitArrayGet()
1325 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitArrayGet()
1333 Location index = locations->InAt(1); in VisitArrayGet()
1356 locations->SetInAt(0, Location::RequiresRegister()); in VisitArrayLength()
1357 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitArrayLength()
1378 locations->SetInAt(0, Location::RequiresRegister()); in VisitArraySet()
1379 locations->SetInAt(1, Location::RegisterOrConstant(instruction->InputAt(1))); in VisitArraySet()
1381 locations->SetInAt(2, Location::RequiresFpuRegister()); in VisitArraySet()
1383 locations->SetInAt(2, Location::RequiresRegister()); in VisitArraySet()
1400 Location index = locations->InAt(1); in VisitArraySet()
1432 locations->SetInAt(0, Location::RequiresRegister()); in VisitBoundsCheck()
1435 locations->SetOut(Location::SameAsFirstInput()); in VisitBoundsCheck()
1452 locations->SetInAt(0, Location::RequiresRegister()); in VisitCheckCast()
1453 locations->SetInAt(1, Location::RequiresRegister()); in VisitCheckCast()
1454 locations->AddTemp(Location::RequiresRegister()); in VisitCheckCast()
1481 locations->SetInAt(0, Location::RequiresRegister()); in VisitClinitCheck()
1483 locations->SetOut(Location::SameAsFirstInput()); in VisitClinitCheck()
1501 locations->SetInAt(0, Location::RequiresRegister()); in VisitCompare()
1503 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitCompare()
1508 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitCompare()
1512 locations->SetInAt(1, Location::ConstantLocation(right->AsConstant())); in VisitCompare()
1514 locations->SetInAt(1, Location::RequiresFpuRegister()); in VisitCompare()
1516 locations->SetOut(Location::RequiresRegister()); in VisitCompare()
1571 locations->SetInAt(0, Location::RequiresRegister()); in VisitCondition()
1574 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitCondition()
1613 locations->SetInAt(0, Location::RequiresRegister()); in FOR_EACH_CONDITION_INSTRUCTION()
1614 locations->SetInAt(1, Location::RequiresRegister()); in FOR_EACH_CONDITION_INSTRUCTION()
1615 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in FOR_EACH_CONDITION_INSTRUCTION()
1620 locations->SetInAt(0, Location::RequiresFpuRegister()); in FOR_EACH_CONDITION_INSTRUCTION()
1621 locations->SetInAt(1, Location::RequiresFpuRegister()); in FOR_EACH_CONDITION_INSTRUCTION()
1622 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in FOR_EACH_CONDITION_INSTRUCTION()
1651 locations->SetInAt(0, Location::RegisterOrConstant(instruction->InputAt(0))); in VisitDivZeroCheck()
1653 locations->SetOut(Location::SameAsFirstInput()); in VisitDivZeroCheck()
1661 Location value = instruction->GetLocations()->InAt(0); in VisitDivZeroCheck()
1686 locations->SetOut(Location::ConstantLocation(constant)); in VisitDoubleConstant()
1705 locations->SetOut(Location::ConstantLocation(constant)); in VisitFloatConstant()
1756 Location cond_val = instruction->GetLocations()->InAt(0); in GenerateTestAndBranch()
1800 locations->SetInAt(0, Location::RequiresRegister()); in VisitIf()
1825 locations->SetInAt(0, Location::RequiresRegister()); in VisitDeoptimize()
1857 locations->SetInAt(0, Location::RequiresRegister()); in VisitInstanceOf()
1858 locations->SetInAt(1, Location::RequiresRegister()); in VisitInstanceOf()
1860 locations->SetOut(Location::RequiresRegister(), Location::kOutputOverlap); in VisitInstanceOf()
1901 locations->SetOut(Location::ConstantLocation(constant)); in VisitIntConstant()
1911 locations->SetOut(Location::ConstantLocation(constant)); in VisitNullConstant()
1945 Location receiver = invoke->GetLocations()->InAt(0); in VisitInvokeInterface()
2069 Location receiver = locations->InAt(0); in VisitInvokeVirtual()
2101 locations->SetOut(Location::RequiresRegister()); in VisitLoadClass()
2132 locations->SetOut(Location::RequiresRegister()); in VisitLoadException()
2153 locations->SetOut(Location::RequiresRegister()); in VisitLoadString()
2179 locations->SetOut(Location::ConstantLocation(constant)); in VisitLongConstant()
2209 locations->SetInAt(0, Location::RequiresRegister()); in VisitMul()
2210 locations->SetInAt(1, Location::RequiresRegister()); in VisitMul()
2211 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitMul()
2216 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitMul()
2217 locations->SetInAt(1, Location::RequiresFpuRegister()); in VisitMul()
2218 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitMul()
2250 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitNeg()
2255 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitNeg()
2256 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitNeg()
2338 locations->SetInAt(0, Location::RequiresRegister()); in VisitNot()
2339 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitNot()
2356 locations->SetInAt(0, Location::RequiresRegister()); in VisitBooleanNot()
2357 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitBooleanNot()
2367 locations->SetInAt(0, Location::RequiresRegister()); in VisitNullCheck()
2369 locations->SetOut(Location::SameAsFirstInput()); in VisitNullCheck()
2379 Location obj = instruction->GetLocations()->InAt(0); in GenerateImplicitNullCheck()
2389 Location obj = locations->InAt(0); in GenerateExplicitNullCheck()
2420 Location location = parameter_visitor_.GetNextLocation(instruction->GetType()); in VisitParameterValue()
2422 location = Location::StackSlot(location.GetStackIndex() + codegen_->GetFrameSize()); in VisitParameterValue()
2424 location = Location::DoubleStackSlot(location.GetStackIndex() + codegen_->GetFrameSize()); in VisitParameterValue()
2437 locations->SetInAt(i, Location::Any()); in VisitPhi()
2439 locations->SetOut(Location::Any()); in VisitPhi()
2456 locations->SetInAt(0, Location::RequiresRegister()); in VisitRem()
2457 locations->SetInAt(1, Location::RequiresRegister()); in VisitRem()
2458 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitRem()
2561 locations->SetInAt(1, Location::StackSlot(codegen_->GetStackSlot(store->GetLocal()))); in VisitStoreLocal()
2566 locations->SetInAt(1, Location::DoubleStackSlot(codegen_->GetStackSlot(store->GetLocal()))); in VisitStoreLocal()
2654 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitTypeConversion()
2656 locations->SetInAt(0, Location::RequiresRegister()); in VisitTypeConversion()
2660 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitTypeConversion()
2662 locations->SetOut(Location::RequiresRegister(), Location::kNoOutputOverlap); in VisitTypeConversion()