Searched refs:Location (Results 1 - 25 of 37) sorted by relevance

12

/art/compiler/optimizing/
H A Dlocations.cc30 output_overlaps_(Location::kOutputOverlap),
45 Location Location::RegisterOrConstant(HInstruction* instruction) {
47 ? Location::ConstantLocation(instruction->AsConstant())
48 : Location::RequiresRegister();
51 Location Location::RegisterOrInt32Constant(HInstruction* instruction) {
56 return Location::ConstantLocation(constant);
59 return Location::RequiresRegister();
62 Location Locatio
[all...]
H A Dlocations.h30 class Location;
32 std::ostream& operator<<(std::ostream& os, const Location& location);
35 * A Location is an abstraction over the potential location
38 class Location : public ValueObject { class in namespace:art
72 Location() : ValueObject(), value_(kInvalid) { function in class:art::Location
87 Location(const Location& other) : value_(other.value_) {} function in class:art::Location
89 Location& operator=(const Location& other) {
98 static Location ConstantLocatio
[all...]
H A Dparallel_move_test.cc36 static void DumpLocationForTest(std::ostream& os, Location location) {
107 Location AllocateScratchLocationFor(Location::Kind kind) OVERRIDE {
108 if (kind == Location::kStackSlot || kind == Location::kFpuRegister ||
109 kind == Location::kRegister) {
110 kind = Location::kRegister;
113 kind = Location::kRegisterPair;
115 Location scratch = GetScratchLocation(kind);
116 if (scratch.Equals(Location
[all...]
H A Dparallel_move_resolver.h82 bool IsScratchLocation(Location loc);
150 virtual Location AllocateScratchLocationFor(Location::Kind kind) = 0;
154 virtual void FreeScratchLocation(Location loc) = 0;
160 // Return Location::NoLocation() if no matching scratch location can be found.
161 Location GetScratchLocation(Location::Kind kind);
165 void AddScratchLocation(Location loc);
168 void RemoveScratchLocation(Location loc);
171 ArenaVector<Location> scratches
[all...]
H A Dparallel_move_resolver.cc80 Location LowOf(Location location) {
82 return Location::RegisterLocation(location.low());
84 return Location::FpuRegisterLocation(location.low());
86 return Location::StackSlot(location.GetStackIndex());
88 return Location::NoLocation();
92 Location HighOf(Location location) {
94 return Location::RegisterLocation(location.high());
96 return Location
[all...]
H A Dcode_generator_x86.h85 Location GetNextLocation(Primitive::Type type) OVERRIDE;
86 Location GetReturnLocation(Primitive::Type type) const OVERRIDE;
87 Location GetMethodLocation() const OVERRIDE;
99 Location GetObjectLocation() const OVERRIDE {
100 return Location::RegisterLocation(ECX);
102 Location GetFieldIndexLocation() const OVERRIDE {
103 return Location::RegisterLocation(EAX);
105 Location GetReturnLocation(Primitive::Type type) const OVERRIDE {
107 ? Location::RegisterPairLocation(EAX, EDX)
108 : Location
[all...]
H A Dregister_allocator.h34 class Location;
103 void BlockRegister(Location location, size_t start, size_t end);
124 Location source,
125 Location destination) const;
128 Location source,
129 Location destination) const;
130 void InsertMoveAfter(HInstruction* instruction, Location source, Location destination) const;
133 Location source,
134 Location destinatio
[all...]
H A Dcode_generator_arm.h89 Location GetNextLocation(Primitive::Type type) OVERRIDE;
90 Location GetReturnLocation(Primitive::Type type) const OVERRIDE;
91 Location GetMethodLocation() const OVERRIDE;
104 Location GetObjectLocation() const OVERRIDE {
105 return Location::RegisterLocation(R1);
107 Location GetFieldIndexLocation() const OVERRIDE {
108 return Location::RegisterLocation(R0);
110 Location GetReturnLocation(Primitive::Type type) const OVERRIDE {
112 ? Location::RegisterPairLocation(R0, R1)
113 : Location
[all...]
H A Dcode_generator_x86_64.h87 Location GetObjectLocation() const OVERRIDE {
88 return Location::RegisterLocation(RSI);
90 Location GetFieldIndexLocation() const OVERRIDE {
91 return Location::RegisterLocation(RDI);
93 Location GetReturnLocation(Primitive::Type type ATTRIBUTE_UNUSED) const OVERRIDE {
94 return Location::RegisterLocation(RAX);
96 Location GetSetValueLocation(Primitive::Type type, bool is_instance) const OVERRIDE {
98 ? Location::RegisterLocation(RDX)
100 ? Location::RegisterLocation(RDX)
101 : Location
[all...]
H A Dcode_generator_arm64.h66 Location ARM64ReturnLocation(Primitive::Type return_type);
122 Location GetReturnLocation(Primitive::Type return_type);
137 Location GetReturnLocation(Primitive::Type return_type) const {
151 Location GetNextLocation(Primitive::Type type) OVERRIDE;
152 Location GetReturnLocation(Primitive::Type return_type) const OVERRIDE {
155 Location GetMethodLocation() const OVERRIDE;
167 Location GetObjectLocation() const OVERRIDE {
170 Location GetFieldIndexLocation() const OVERRIDE {
173 Location GetReturnLocation(Primitive::Type type ATTRIBUTE_UNUSED) const OVERRIDE {
176 Location GetSetValueLocatio
[all...]
H A Dcode_generator_mips.h80 Location GetNextLocation(Primitive::Type type) OVERRIDE;
81 Location GetReturnLocation(Primitive::Type type) const OVERRIDE;
82 Location GetMethodLocation() const OVERRIDE;
99 Location GetReturnLocation(Primitive::Type return_type);
109 Location GetObjectLocation() const OVERRIDE {
110 return Location::RegisterLocation(A1);
112 Location GetFieldIndexLocation() const OVERRIDE {
113 return Location::RegisterLocation(A0);
115 Location GetReturnLocation(Primitive::Type type) const OVERRIDE {
117 ? Location
[all...]
H A Dcode_generator_mips64.h80 Location GetNextLocation(Primitive::Type type) OVERRIDE;
81 Location GetReturnLocation(Primitive::Type type) const OVERRIDE;
82 Location GetMethodLocation() const OVERRIDE;
99 Location GetReturnLocation(Primitive::Type return_type);
109 Location GetObjectLocation() const OVERRIDE {
110 return Location::RegisterLocation(A1);
112 Location GetFieldIndexLocation() const OVERRIDE {
113 return Location::RegisterLocation(A0);
115 Location GetReturnLocation(Primitive::Type type ATTRIBUTE_UNUSED) const OVERRIDE {
116 return Location
[all...]
H A Dintrinsics_arm.cc72 locations->SetInAt(0, Location::RequiresFpuRegister());
73 locations->SetOut(Location::RequiresRegister());
80 locations->SetInAt(0, Location::RequiresRegister());
81 locations->SetOut(Location::RequiresFpuRegister());
85 Location input = locations->InAt(0);
86 Location output = locations->Out();
97 Location input = locations->InAt(0);
98 Location output = locations->Out();
140 locations->SetInAt(0, Location::RequiresRegister());
141 locations->SetOut(Location
[all...]
H A Dintrinsics_mips64.cc48 static void MoveFromReturnRegister(Location trg,
104 Location::RegisterLocation(A0));
106 codegen->GenerateVirtualCall(invoke_->AsInvokeVirtual(), Location::RegisterLocation(A0));
111 Location out = invoke_->GetLocations()->Out();
145 locations->SetInAt(0, Location::RequiresFpuRegister());
146 locations->SetOut(Location::RequiresRegister());
182 locations->SetInAt(0, Location::RequiresRegister());
183 locations->SetOut(Location::RequiresFpuRegister());
219 locations->SetInAt(0, Location::RequiresRegister());
220 locations->SetOut(Location
689 CreateFPToFP(ArenaAllocator* arena, HInvoke* invoke, Location::OutputOverlap overlaps = Location::kOutputOverlap) argument
[all...]
H A Dintrinsics_utils.h44 Location MoveArguments(CodeGenerator* codegen) {
56 Location method_loc = MoveArguments(codegen);
66 Location out = invoke_->GetLocations()->Out();
H A Dcode_generator_arm.cc42 static bool ExpectedPairLayout(Location location) {
173 Location::RegisterLocation(calling_convention.GetRegisterAt(0)),
176 Location::RegisterLocation(calling_convention.GetRegisterAt(1)),
221 Location out = locations->Out();
224 arm_codegen->Move32(locations->Out(), Location::RegisterLocation(R0));
267 arm_codegen->Move32(locations->Out(), Location::RegisterLocation(R0));
286 Location object_class = instruction_->IsCheckCast() ? locations->GetTemp(0)
303 Location::RegisterLocation(calling_convention.GetRegisterAt(0)),
306 Location::RegisterLocation(calling_convention.GetRegisterAt(1)),
316 arm_codegen->Move32(locations->Out(), Location
[all...]
H A Dcode_generator_x86.cc145 Location::RegisterLocation(calling_convention.GetRegisterAt(0)),
148 Location::RegisterLocation(calling_convention.GetRegisterAt(1)),
225 x86_codegen->Move32(locations->Out(), Location::RegisterLocation(EAX));
265 Location out = locations->Out();
268 x86_codegen->Move32(out, Location::RegisterLocation(EAX));
301 Location object_class = instruction_->IsCheckCast() ? locations->GetTemp(0)
318 Location::RegisterLocation(calling_convention.GetRegisterAt(0)),
321 Location::RegisterLocation(calling_convention.GetRegisterAt(1)),
342 x86_codegen->Move32(locations->Out(), Location::RegisterLocation(EAX));
394 Location
[all...]
H A Dintrinsics_x86.cc92 locations->SetInAt(0, Location::RequiresFpuRegister());
93 locations->SetOut(Location::RequiresRegister());
95 locations->AddTemp(Location::RequiresFpuRegister());
103 locations->SetInAt(0, Location::RequiresRegister());
104 locations->SetOut(Location::RequiresFpuRegister());
106 locations->AddTemp(Location::RequiresFpuRegister());
107 locations->AddTemp(Location::RequiresFpuRegister());
112 Location input = locations->InAt(0);
113 Location output = locations->Out();
127 Location inpu
[all...]
H A Dintrinsics_arm64.cc53 ALWAYS_INLINE inline MemOperand AbsoluteHeapOperandFrom(Location location, size_t offset = 0) {
69 static void MoveFromReturnRegister(Location trg,
123 Location out = invoke_->GetLocations()->Out();
173 locations->SetInAt(0, Location::RequiresFpuRegister());
174 locations->SetOut(Location::RequiresRegister());
181 locations->SetInAt(0, Location::RequiresRegister());
182 locations->SetOut(Location::RequiresFpuRegister());
186 Location input = locations->InAt(0);
187 Location output = locations->Out();
193 Location inpu
[all...]
H A Dcommon_arm64.h55 static inline vixl::Register XRegisterFrom(Location location) {
60 static inline vixl::Register WRegisterFrom(Location location) {
65 static inline vixl::Register RegisterFrom(Location location, Primitive::Type type) {
79 static inline vixl::FPRegister DRegisterFrom(Location location) {
84 static inline vixl::FPRegister SRegisterFrom(Location location) {
89 static inline vixl::FPRegister FPRegisterFrom(Location location, Primitive::Type type) {
103 static inline vixl::CPURegister CPURegisterFrom(Location location, Primitive::Type type) {
120 static inline int64_t Int64ConstantFrom(Location location) {
132 static inline vixl::Operand OperandFrom(Location location, Primitive::Type type) {
145 static inline vixl::MemOperand StackOperandFrom(Location locatio
[all...]
H A Dintrinsics_x86_64.cc86 locations->SetInAt(0, Location::RequiresFpuRegister());
87 locations->SetOut(Location::RequiresRegister());
94 locations->SetInAt(0, Location::RequiresRegister());
95 locations->SetOut(Location::RequiresFpuRegister());
99 Location input = locations->InAt(0);
100 Location output = locations->Out();
105 Location input = locations->InAt(0);
106 Location output = locations->Out();
142 locations->SetInAt(0, Location::RequiresRegister());
143 locations->SetOut(Location
[all...]
H A Dcode_generator_mips64.cc40 Location Mips64ReturnLocation(Primitive::Type return_type) {
49 return Location::RegisterLocation(V0);
53 return Location::FpuRegisterLocation(F0);
56 return Location();
61 Location InvokeDexCallingConventionVisitorMIPS64::GetReturnLocation(Primitive::Type type) const {
65 Location InvokeDexCallingConventionVisitorMIPS64::GetMethodLocation() const {
66 return Location::RegisterLocation(kMethodRegisterArgument);
69 Location InvokeDexCallingConventionVisitorMIPS64::GetNextLocation(Primitive::Type type) {
70 Location next_location;
77 next_location = Location
[all...]
H A Dcode_generator_x86_64.cc201 Location::RegisterLocation(calling_convention.GetRegisterAt(0)),
204 Location::RegisterLocation(calling_convention.GetRegisterAt(1)),
252 Location out = locations->Out();
256 x86_64_codegen->Move(out, Location::RegisterLocation(RAX));
302 x86_64_codegen->Move(locations->Out(), Location::RegisterLocation(RAX));
320 Location object_class = instruction_->IsCheckCast() ? locations->GetTemp(0)
338 Location::RegisterLocation(calling_convention.GetRegisterAt(0)),
341 Location::RegisterLocation(calling_convention.GetRegisterAt(1)),
362 x86_64_codegen->Move(locations->Out(), Location::RegisterLocation(RAX));
415 Location
[all...]
H A Dcode_generator_arm64.cc114 Location ARM64ReturnLocation(Primitive::Type return_type) {
116 // same Location object, and so do `LocationFrom(d0)` and `LocationFrom(s0)`,
125 return Location::NoLocation();
131 Location InvokeRuntimeCallingConvention::GetReturnLocation(Primitive::Type return_type) {
305 Location out = locations->Out();
438 Location class_to_check = locations->InAt(1);
439 Location object_class = instruction_->IsCheckCast() ? locations->GetTemp(0)
465 Location ret_loc = calling_convention.GetReturnLocation(ret_type);
579 ReadBarrierMarkSlowPathARM64(HInstruction* instruction, Location out, Location ob
[all...]
H A Dcode_generator_mips.cc42 Location MipsReturnLocation(Primitive::Type return_type) {
50 return Location::RegisterLocation(V0);
53 return Location::RegisterPairLocation(V0, V1);
57 return Location::FpuRegisterLocation(F0);
60 return Location();
65 Location InvokeDexCallingConventionVisitorMIPS::GetReturnLocation(Primitive::Type type) const {
69 Location InvokeDexCallingConventionVisitorMIPS::GetMethodLocation() const {
70 return Location::RegisterLocation(kMethodRegisterArgument);
73 Location InvokeDexCallingConventionVisitorMIPS::GetNextLocation(Primitive::Type type) {
74 Location next_locatio
[all...]

Completed in 200 milliseconds

12