Home
last modified time | relevance | path

Searched refs:Location (Results 1 – 25 of 45) sorted by relevance

12

/art/compiler/optimizing/
Dlocations.h31 class Location; variable
33 std::ostream& operator<<(std::ostream& os, const Location& location);
39 class Location : public ValueObject {
81 Location() : ValueObject(), value_(kInvalid) { in Location() function
97 Location(const Location& other) = default;
99 Location& operator=(const Location& other) = default;
105 static Location ConstantLocation(HConstant* constant) { in ConstantLocation()
107 return Location(kConstant | reinterpret_cast<uintptr_t>(constant)); in ConstantLocation()
124 static Location NoLocation() { in NoLocation()
125 return Location(); in NoLocation()
[all …]
Dlocations.cc27 static_assert(std::is_trivially_copyable<Location>::value, "Location should be trivially copyable");
38 output_overlaps_(Location::kOutputOverlap), in LocationSummary()
58 Location Location::RegisterOrConstant(HInstruction* instruction) { in RegisterOrConstant()
60 ? Location::ConstantLocation(instruction->AsConstant()) in RegisterOrConstant()
61 : Location::RequiresRegister(); in RegisterOrConstant()
64 Location Location::RegisterOrInt32Constant(HInstruction* instruction) { in RegisterOrInt32Constant()
69 return Location::ConstantLocation(constant); in RegisterOrInt32Constant()
72 return Location::RequiresRegister(); in RegisterOrInt32Constant()
75 Location Location::FpuRegisterOrInt32Constant(HInstruction* instruction) { in FpuRegisterOrInt32Constant()
80 return Location::ConstantLocation(constant); in FpuRegisterOrInt32Constant()
[all …]
Dparallel_move_test.cc37 static void DumpLocationForTest(std::ostream& os, Location location) { in DumpLocationForTest()
108 Location AllocateScratchLocationFor(Location::Kind kind) override { in AllocateScratchLocationFor()
109 if (kind == Location::kStackSlot || kind == Location::kFpuRegister || in AllocateScratchLocationFor()
110 kind == Location::kRegister) { in AllocateScratchLocationFor()
111 kind = Location::kRegister; in AllocateScratchLocationFor()
114 kind = Location::kRegisterPair; in AllocateScratchLocationFor()
116 Location scratch = GetScratchLocation(kind); in AllocateScratchLocationFor()
117 if (scratch.Equals(Location::NoLocation())) { in AllocateScratchLocationFor()
118 AddScratchLocation(Location::RegisterLocation(scratch_index_)); in AllocateScratchLocationFor()
119 AddScratchLocation(Location::RegisterLocation(scratch_index_ + 1)); in AllocateScratchLocationFor()
[all …]
Dregister_allocation_resolver.h32 class Location; variable
69 Location source,
70 Location destination) const;
73 Location source,
74 Location destination) const;
75 void InsertMoveAfter(HInstruction* instruction, Location source, Location destination) const;
78 Location source,
79 Location destination) const;
82 Location source,
83 Location destination) const;
[all …]
Dparallel_move_resolver.cc80 Location LowOf(Location location) { in LowOf()
82 return Location::RegisterLocation(location.low()); in LowOf()
84 return Location::FpuRegisterLocation(location.low()); in LowOf()
86 return Location::StackSlot(location.GetStackIndex()); in LowOf()
88 return Location::NoLocation(); in LowOf()
92 Location HighOf(Location location) { in HighOf()
94 return Location::RegisterLocation(location.high()); in HighOf()
96 return Location::FpuRegisterLocation(location.high()); in HighOf()
98 return Location::StackSlot(location.GetHighStackIndex(4)); in HighOf()
100 return Location::NoLocation(); in HighOf()
[all …]
Dcode_generator_x86.h86 Location GetNextLocation(DataType::Type type) override;
87 Location GetReturnLocation(DataType::Type type) const override;
88 Location GetMethodLocation() const override;
103 Location GetNextLocation(DataType::Type type) override;
104 Location GetReturnLocation(DataType::Type type) const override;
105 Location GetMethodLocation() const override;
123 Location GetObjectLocation() const override { in GetObjectLocation()
124 return Location::RegisterLocation(ECX); in GetObjectLocation()
126 Location GetFieldIndexLocation() const override { in GetFieldIndexLocation()
127 return Location::RegisterLocation(EAX); in GetFieldIndexLocation()
[all …]
Dparallel_move_resolver.h82 bool IsScratchLocation(Location loc);
150 virtual Location AllocateScratchLocationFor(Location::Kind kind) = 0;
154 virtual void FreeScratchLocation(Location loc) = 0;
161 Location GetScratchLocation(Location::Kind kind);
165 void AddScratchLocation(Location loc);
168 void RemoveScratchLocation(Location loc);
171 ArenaVector<Location> scratches_;
178 void UpdateMoveSource(Location from, Location to);
180 void AddPendingMove(Location source, Location destination, DataType::Type type);
185 MoveOperands* GetUnblockedPendingMove(Location loc);
[all …]
Dcode_generator_x86_64.h89 Location GetNextLocation(DataType::Type type) override;
90 Location GetReturnLocation(DataType::Type type) const override;
91 Location GetMethodLocation() const override;
111 Location GetObjectLocation() const override { in GetObjectLocation()
112 return Location::RegisterLocation(RSI); in GetObjectLocation()
114 Location GetFieldIndexLocation() const override { in GetFieldIndexLocation()
115 return Location::RegisterLocation(RDI); in GetFieldIndexLocation()
117 Location GetReturnLocation(DataType::Type type ATTRIBUTE_UNUSED) const override { in GetReturnLocation()
118 return Location::RegisterLocation(RAX); in GetReturnLocation()
120 Location GetSetValueLocation(DataType::Type type ATTRIBUTE_UNUSED, bool is_instance) in GetSetValueLocation()
[all …]
Dcode_generator_arm64.h102 inline Location FixedTempLocation() { in FixedTempLocation()
103 return Location::RegisterLocation(vixl::aarch64::x15.GetCode()); in FixedTempLocation()
119 Location ARM64ReturnLocation(DataType::Type return_type);
190 Location GetReturnLocation(DataType::Type return_type);
206 Location GetReturnLocation(DataType::Type return_type) const { in GetReturnLocation()
220 Location GetNextLocation(DataType::Type type) override;
221 Location GetReturnLocation(DataType::Type return_type) const override { in GetReturnLocation()
224 Location GetMethodLocation() const override;
239 Location GetNextLocation(DataType::Type type) override;
240 Location GetReturnLocation(DataType::Type type) const override;
[all …]
Dcommon_arm.h40 inline vixl::aarch32::Register HighRegisterFrom(Location location) { in HighRegisterFrom()
45 inline vixl::aarch32::DRegister HighDRegisterFrom(Location location) { in HighDRegisterFrom()
50 inline vixl::aarch32::Register LowRegisterFrom(Location location) { in LowRegisterFrom()
55 inline vixl::aarch32::SRegister LowSRegisterFrom(Location location) { in LowSRegisterFrom()
60 inline vixl::aarch32::SRegister HighSRegisterFrom(Location location) { in HighSRegisterFrom()
65 inline vixl::aarch32::Register RegisterFrom(Location location) { in RegisterFrom()
70 inline vixl::aarch32::Register RegisterFrom(Location location, DataType::Type type) { in RegisterFrom()
75 inline vixl::aarch32::DRegister DRegisterFrom(Location location) { in DRegisterFrom()
82 inline vixl::aarch32::SRegister SRegisterFrom(Location location) { in SRegisterFrom()
169 inline int32_t Int32ConstantFrom(Location location) { in Int32ConstantFrom()
[all …]
Dcode_generator_arm_vixl.h180 Location GetNextLocation(DataType::Type type) override;
181 Location GetReturnLocation(DataType::Type type) const override;
182 Location GetMethodLocation() const override;
198 Location GetNextLocation(DataType::Type type) override;
199 Location GetReturnLocation(DataType::Type type) const override;
200 Location GetMethodLocation() const override;
219 Location GetObjectLocation() const override { in GetObjectLocation()
222 Location GetFieldIndexLocation() const override { in GetFieldIndexLocation()
225 Location GetReturnLocation(DataType::Type type) const override { in GetReturnLocation()
230 Location GetSetValueLocation(DataType::Type type, bool is_instance) const override { in GetSetValueLocation()
[all …]
Dcode_generator_x86_64.cc67 caller_saves.Add(Location::RegisterLocation(RAX)); in OneRegInReferenceOutSaveEverythingCallerSaves()
207 Location length_loc = locations->InAt(1); in EmitNativeCode()
213 Location array_loc = array_length->GetLocations()->InAt(0); in EmitNativeCode()
215 length_loc = Location::RegisterLocation(calling_convention.GetRegisterAt(1)); in EmitNativeCode()
219 length_loc = Location::RegisterLocation(calling_convention.GetRegisterAt(2)); in EmitNativeCode()
231 Location::RegisterLocation(calling_convention.GetRegisterAt(0)), in EmitNativeCode()
234 Location::RegisterLocation(calling_convention.GetRegisterAt(1)), in EmitNativeCode()
262 Location out = locations->Out(); in EmitNativeCode()
286 Location source = instruction_->IsLoadClass() ? out : locations->InAt(0); in EmitNativeCode()
287 x86_64_codegen->Move(Location::RegisterLocation(RAX), source); in EmitNativeCode()
[all …]
Dregister_allocation_resolver.cc62 Location location = locations->Out(); in Resolve()
66 location = Location::StackSlot(location.GetStackIndex() + codegen_->GetFrameSize()); in Resolve()
70 location = Location::DoubleStackSlot(location.GetStackIndex() + codegen_->GetFrameSize()); in Resolve()
129 Location source = current->ToLocation(); in Resolve()
132 if (location.GetPolicy() == Location::kSameAsFirstInput) { in Resolve()
192 Location source = input->GetLiveInterval()->GetLocationAt( in Resolve()
194 Location destination = phi->GetLiveInterval()->ToLocation(); in Resolve()
212 locations->SetTempAt(temp_index, Location::RegisterLocation(temp->GetRegister())); in Resolve()
217 Location location = Location::FpuRegisterPairLocation( in Resolve()
221 locations->SetTempAt(temp_index, Location::FpuRegisterLocation(temp->GetRegister())); in Resolve()
[all …]
Dcommon_arm64.h66 inline vixl::aarch64::Register XRegisterFrom(Location location) { in XRegisterFrom()
71 inline vixl::aarch64::Register WRegisterFrom(Location location) { in WRegisterFrom()
76 inline vixl::aarch64::Register RegisterFrom(Location location, DataType::Type type) { in RegisterFrom()
90 inline vixl::aarch64::VRegister DRegisterFrom(Location location) { in DRegisterFrom()
95 inline vixl::aarch64::VRegister QRegisterFrom(Location location) { in QRegisterFrom()
100 inline vixl::aarch64::VRegister VRegisterFrom(Location location) { in VRegisterFrom()
105 inline vixl::aarch64::ZRegister ZRegisterFrom(Location location) { in ZRegisterFrom()
110 inline vixl::aarch64::VRegister SRegisterFrom(Location location) { in SRegisterFrom()
115 inline vixl::aarch64::VRegister HRegisterFrom(Location location) { in HRegisterFrom()
120 inline vixl::aarch64::VRegister FPRegisterFrom(Location location, DataType::Type type) { in FPRegisterFrom()
[all …]
Dcode_generator_x86.cc66 caller_saves.Add(Location::RegisterLocation(calling_convention.GetRegisterAt(0))); in OneRegInReferenceOutSaveEverythingCallerSaves()
161 Location length_loc = locations->InAt(1); in EmitNativeCode()
167 Location array_loc = array_length->GetLocations()->InAt(0); in EmitNativeCode()
169 length_loc = Location::RegisterLocation(calling_convention.GetRegisterAt(1)); in EmitNativeCode()
173 length_loc = Location::RegisterLocation(calling_convention.GetRegisterAt(2)); in EmitNativeCode()
182 Location::RegisterLocation(calling_convention.GetRegisterAt(0)), in EmitNativeCode()
185 Location::RegisterLocation(calling_convention.GetRegisterAt(1)), in EmitNativeCode()
258 x86_codegen->Move32(locations->Out(), Location::RegisterLocation(EAX)); in EmitNativeCode()
280 Location out = locations->Out(); in EmitNativeCode()
304 Location source = instruction_->IsLoadClass() ? out : locations->InAt(0); in EmitNativeCode()
[all …]
Dintrinsics_x86.cc96 Location src_pos = locations->InAt(1); in EmitNativeCode()
98 Location dest_pos = locations->InAt(3); in EmitNativeCode()
99 Location length = locations->InAt(4); in EmitNativeCode()
100 Location temp1_loc = locations->GetTemp(0); in EmitNativeCode()
173 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations()
174 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations()
176 locations->AddTemp(Location::RequiresFpuRegister()); in CreateFPToIntLocations()
183 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToFPLocations()
184 locations->SetOut(Location::RequiresFpuRegister()); in CreateIntToFPLocations()
186 locations->AddTemp(Location::RequiresFpuRegister()); in CreateIntToFPLocations()
[all …]
Dcode_generator_arm_vixl.cc82 static bool ExpectedPairLayout(Location location) { in ExpectedPairLayout()
521 Location out = locations->Out(); in EmitNativeCode()
545 Location source = instruction_->IsLoadClass() ? out : locations->InAt(0); in EmitNativeCode()
732 Location out, in ReadBarrierForHeapReferenceSlowPathARMVIXL()
733 Location ref, in ReadBarrierForHeapReferenceSlowPathARMVIXL()
734 Location obj, in ReadBarrierForHeapReferenceSlowPathARMVIXL()
736 Location index) in ReadBarrierForHeapReferenceSlowPathARMVIXL()
784 Location index = index_; in EmitNativeCode()
914 const Location out_;
915 const Location ref_;
[all …]
Dintrinsics_x86_64.cc129 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations()
130 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations()
136 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToFPLocations()
137 locations->SetOut(Location::RequiresFpuRegister()); in CreateIntToFPLocations()
141 Location input = locations->InAt(0); in MoveFPToInt()
142 Location output = locations->Out(); in MoveFPToInt()
147 Location input = locations->InAt(0); in MoveIntToFP()
148 Location output = locations->Out(); in MoveIntToFP()
183 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToIntLocations()
184 locations->SetOut(Location::SameAsFirstInput()); in CreateIntToIntLocations()
[all …]
Dcode_generator_arm64.cc137 Location ARM64ReturnLocation(DataType::Type return_type) { in ARM64ReturnLocation()
148 return Location::NoLocation(); in ARM64ReturnLocation()
154 Location InvokeRuntimeCallingConvention::GetReturnLocation(DataType::Type return_type) { in GetReturnLocation()
161 caller_saves.Add(Location::RegisterLocation(calling_convention.GetRegisterAt(0).GetCode())); in OneRegInReferenceOutSaveEverythingCallerSaves()
273 Location out = locations->Out(); in EmitNativeCode()
297 Location source = instruction_->IsLoadClass() ? out : locations->InAt(0); in EmitNativeCode()
457 Location ret_loc = calling_convention.GetReturnLocation(ret_type); in EmitNativeCode()
571 Location out, in ReadBarrierForHeapReferenceSlowPathARM64()
572 Location ref, in ReadBarrierForHeapReferenceSlowPathARM64()
573 Location obj, in ReadBarrierForHeapReferenceSlowPathARM64()
[all …]
Dcode_generator_vector_arm64_sve.cc67 inline Location SVEEncodableConstantOrRegister(HInstruction* constant, HInstruction* instr) { in SVEEncodableConstantOrRegister()
70 return Location::ConstantLocation(constant->AsConstant()); in SVEEncodableConstantOrRegister()
73 return Location::RequiresRegister(); in SVEEncodableConstantOrRegister()
93 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar()
99 locations->SetInAt(0, Location::ConstantLocation(input->AsConstant())); in VisitVecReplicateScalar()
100 locations->SetOut(Location::RequiresFpuRegister()); in VisitVecReplicateScalar()
102 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitVecReplicateScalar()
103 locations->SetOut(Location::RequiresFpuRegister(), Location::kNoOutputOverlap); in VisitVecReplicateScalar()
115 Location src_loc = locations->InAt(0); in VisitVecReplicateScalar()
180 locations->SetInAt(0, Location::RequiresFpuRegister()); in VisitVecExtractScalar()
[all …]
Dssa_liveness_analysis.cc335 static int RegisterOrLowRegister(Location location) { in RegisterOrLowRegister()
389 Location phi_location = user->GetLiveInterval()->ToLocation(); in FindFirstRegisterHint()
405 Location location = inputs[i]->GetLiveInterval()->GetLocationAt( in FindFirstRegisterHint()
418 Location expected = locations->InAt(use.GetInputIndex()); in FindFirstRegisterHint()
447 Location input_location = input_interval->ToLocation(); in FindHintAtDefinition()
456 Location out = locations->Out(); in FindHintAtDefinition()
457 if (out.IsUnallocated() && out.GetPolicy() == Location::kSameAsFirstInput) { in FindHintAtDefinition()
464 Location location = input_interval->ToLocation(); in FindHintAtDefinition()
475 bool LiveInterval::SameRegisterKind(Location other) const { in SameRegisterKind()
505 Location LiveInterval::ToLocation() const { in ToLocation()
[all …]
Dintrinsics_arm_vixl.cc78 const Location& pos, in GenSystemArrayCopyBaseAddress()
100 const Location& copy_length, in GenSystemArrayCopyEndAddress()
142 Location dest_pos = locations->InAt(3); in EmitNativeCode()
213 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations()
214 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations()
220 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToFPLocations()
221 locations->SetOut(Location::RequiresFpuRegister()); in CreateIntToFPLocations()
225 Location input = locations->InAt(0); in MoveFPToInt()
226 Location output = locations->Out(); in MoveFPToInt()
235 Location input = locations->InAt(0); in MoveIntToFP()
[all …]
Dcode_generator.h151 virtual Location GetNextLocation(DataType::Type type) = 0;
152 virtual Location GetReturnLocation(DataType::Type type) const = 0;
153 virtual Location GetMethodLocation() const = 0;
172 virtual Location GetObjectLocation() const = 0;
173 virtual Location GetFieldIndexLocation() const = 0;
174 virtual Location GetReturnLocation(DataType::Type type) const = 0;
175 virtual Location GetSetValueLocation(DataType::Type type, bool is_instance) const = 0;
176 virtual Location GetFpuLocation(DataType::Type type) const = 0;
219 virtual void MoveConstant(Location destination, int32_t value) = 0;
220 virtual void MoveLocation(Location dst, Location src, DataType::Type dst_type) = 0;
[all …]
Dintrinsics_arm64.cc70 ALWAYS_INLINE inline MemOperand AbsoluteHeapOperandFrom(Location location, size_t offset = 0) { in AbsoluteHeapOperandFrom()
93 ReadBarrierSystemArrayCopySlowPathARM64(HInstruction* instruction, Location tmp) in ReadBarrierSystemArrayCopySlowPathARM64()
155 Location tmp_;
175 locations->SetInAt(0, Location::RequiresFpuRegister()); in CreateFPToIntLocations()
176 locations->SetOut(Location::RequiresRegister()); in CreateFPToIntLocations()
182 locations->SetInAt(0, Location::RequiresRegister()); in CreateIntToFPLocations()
183 locations->SetOut(Location::RequiresFpuRegister()); in CreateIntToFPLocations()
187 Location input = locations->InAt(0); in MoveFPToInt()
188 Location output = locations->Out(); in MoveFPToInt()
194 Location input = locations->InAt(0); in MoveIntToFP()
[all …]
/art/test/910-methods/
Dexpected-stdout.txt6 Location start: 0
7 Location end: 36
16 Location start: JVMTI_ERROR_NATIVE_METHOD
17 Location end: JVMTI_ERROR_NATIVE_METHOD
26 Location start: JVMTI_ERROR_NATIVE_METHOD
27 Location end: JVMTI_ERROR_NATIVE_METHOD
36 Location start: -1
37 Location end: -1
46 Location start: -1
47 Location end: -1
[all …]

12