OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/arm/interface-descriptors-arm.h" | 5 #include "src/arm/interface-descriptors-arm.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM | 7 #if V8_TARGET_ARCH_ARM |
8 | 8 |
9 #include "src/interface-descriptors.h" | 9 #include "src/interface-descriptors.h" |
10 | 10 |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 data->InitializePlatformSpecific(arraysize(registers), registers); | 135 data->InitializePlatformSpecific(arraysize(registers), registers); |
136 } | 136 } |
137 | 137 |
138 | 138 |
139 void CallFunctionDescriptor::InitializePlatformSpecific( | 139 void CallFunctionDescriptor::InitializePlatformSpecific( |
140 CallInterfaceDescriptorData* data) { | 140 CallInterfaceDescriptorData* data) { |
141 Register registers[] = {r1}; | 141 Register registers[] = {r1}; |
142 data->InitializePlatformSpecific(arraysize(registers), registers); | 142 data->InitializePlatformSpecific(arraysize(registers), registers); |
143 } | 143 } |
144 | 144 |
145 | 145 void CallICTrampolineDescriptor::InitializePlatformSpecific( |
146 void CallFunctionWithFeedbackDescriptor::InitializePlatformSpecific( | |
147 CallInterfaceDescriptorData* data) { | 146 CallInterfaceDescriptorData* data) { |
148 Register registers[] = {r1, r0, r3}; | 147 Register registers[] = {r1, r0, r3}; |
149 data->InitializePlatformSpecific(arraysize(registers), registers); | 148 data->InitializePlatformSpecific(arraysize(registers), registers); |
150 } | 149 } |
151 | 150 |
152 | 151 void CallICDescriptor::InitializePlatformSpecific( |
153 void CallFunctionWithFeedbackAndVectorDescriptor::InitializePlatformSpecific( | |
154 CallInterfaceDescriptorData* data) { | 152 CallInterfaceDescriptorData* data) { |
155 Register registers[] = {r1, r0, r3, r2}; | 153 Register registers[] = {r1, r0, r3, r2}; |
156 data->InitializePlatformSpecific(arraysize(registers), registers); | 154 data->InitializePlatformSpecific(arraysize(registers), registers); |
157 } | 155 } |
158 | 156 |
159 | 157 |
160 void CallConstructDescriptor::InitializePlatformSpecific( | 158 void CallConstructDescriptor::InitializePlatformSpecific( |
161 CallInterfaceDescriptorData* data) { | 159 CallInterfaceDescriptorData* data) { |
162 // r0 : number of arguments | 160 // r0 : number of arguments |
163 // r1 : the function to call | 161 // r1 : the function to call |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 } | 219 } |
222 | 220 |
223 #define SIMD128_ALLOC_DESC(TYPE, Type, type, lane_count, lane_type) \ | 221 #define SIMD128_ALLOC_DESC(TYPE, Type, type, lane_count, lane_type) \ |
224 void Allocate##Type##Descriptor::InitializePlatformSpecific( \ | 222 void Allocate##Type##Descriptor::InitializePlatformSpecific( \ |
225 CallInterfaceDescriptorData* data) { \ | 223 CallInterfaceDescriptorData* data) { \ |
226 data->InitializePlatformSpecific(0, nullptr, nullptr); \ | 224 data->InitializePlatformSpecific(0, nullptr, nullptr); \ |
227 } | 225 } |
228 SIMD128_TYPES(SIMD128_ALLOC_DESC) | 226 SIMD128_TYPES(SIMD128_ALLOC_DESC) |
229 #undef SIMD128_ALLOC_DESC | 227 #undef SIMD128_ALLOC_DESC |
230 | 228 |
| 229 void ArrayConstructorDescriptor::InitializePlatformSpecific( |
| 230 CallInterfaceDescriptorData* data) { |
| 231 // kTarget, kNewTarget, kActualArgumentsCount, kAllocationSite |
| 232 Register registers[] = {r1, r3, r0, r2}; |
| 233 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
| 234 } |
| 235 |
231 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific( | 236 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific( |
232 CallInterfaceDescriptorData* data) { | 237 CallInterfaceDescriptorData* data) { |
233 // register state | 238 // register state |
234 // r0 -- number of arguments | 239 // r0 -- number of arguments |
235 // r1 -- function | 240 // r1 -- function |
236 // r2 -- allocation site with elements kind | 241 // r2 -- allocation site with elements kind |
237 Register registers[] = {r1, r2, r0}; | 242 Register registers[] = {r1, r2, r0}; |
238 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); | 243 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
239 } | 244 } |
240 | 245 |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
442 Register registers[] = { | 447 Register registers[] = { |
443 r1, // loaded new FP | 448 r1, // loaded new FP |
444 }; | 449 }; |
445 data->InitializePlatformSpecific(arraysize(registers), registers); | 450 data->InitializePlatformSpecific(arraysize(registers), registers); |
446 } | 451 } |
447 | 452 |
448 } // namespace internal | 453 } // namespace internal |
449 } // namespace v8 | 454 } // namespace v8 |
450 | 455 |
451 #endif // V8_TARGET_ARCH_ARM | 456 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |