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 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific( | 248 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific( |
249 CallInterfaceDescriptorData* data) { | 249 CallInterfaceDescriptorData* data) { |
250 // register state | 250 // register state |
251 // r0 -- number of arguments | 251 // r0 -- number of arguments |
252 // r1 -- function | 252 // r1 -- function |
253 // r2 -- allocation site with elements kind | 253 // r2 -- allocation site with elements kind |
254 Register registers[] = {r1, r2, r0}; | 254 Register registers[] = {r1, r2, r0}; |
255 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); | 255 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
256 } | 256 } |
257 | 257 |
258 void ArrayConstructorConstantArgCountDescriptor::InitializePlatformSpecific( | 258 void ArraySingleArgumentConstructorDescriptor::InitializePlatformSpecific( |
259 CallInterfaceDescriptorData* data) { | 259 CallInterfaceDescriptorData* data) { |
260 // register state | 260 // register state |
261 // r0 -- number of arguments | 261 // r0 -- number of arguments |
262 // r1 -- function | 262 // r1 -- function |
263 // r2 -- allocation site with elements kind | 263 // r2 -- allocation site with elements kind |
264 Register registers[] = {r1, r2}; | 264 Register registers[] = {r1, r2, r0}; |
265 data->InitializePlatformSpecific(arraysize(registers), registers); | 265 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
266 } | 266 } |
267 | 267 |
268 | |
269 void ArrayConstructorDescriptor::InitializePlatformSpecific( | 268 void ArrayConstructorDescriptor::InitializePlatformSpecific( |
270 CallInterfaceDescriptorData* data) { | 269 CallInterfaceDescriptorData* data) { |
271 // stack param count needs (constructor pointer, and single argument) | 270 // stack param count needs (constructor pointer, and single argument) |
272 Register registers[] = {r1, r2, r0}; | 271 Register registers[] = {r1, r2, r0}; |
273 data->InitializePlatformSpecific(arraysize(registers), registers); | 272 data->InitializePlatformSpecific(arraysize(registers), registers); |
274 } | 273 } |
275 | 274 |
276 | 275 |
277 void InternalArrayConstructorConstantArgCountDescriptor:: | |
278 InitializePlatformSpecific(CallInterfaceDescriptorData* data) { | |
279 // register state | |
280 // r0 -- number of arguments | |
281 // r1 -- constructor function | |
282 Register registers[] = {r1}; | |
283 data->InitializePlatformSpecific(arraysize(registers), registers); | |
284 } | |
285 | |
286 | |
287 void InternalArrayConstructorDescriptor::InitializePlatformSpecific( | 276 void InternalArrayConstructorDescriptor::InitializePlatformSpecific( |
288 CallInterfaceDescriptorData* data) { | 277 CallInterfaceDescriptorData* data) { |
289 // stack param count needs (constructor pointer, and single argument) | 278 // stack param count needs (constructor pointer, and single argument) |
290 Register registers[] = {r1, r0}; | 279 Register registers[] = {r1, r0}; |
291 data->InitializePlatformSpecific(arraysize(registers), registers); | 280 data->InitializePlatformSpecific(arraysize(registers), registers); |
292 } | 281 } |
293 | 282 |
294 void FastArrayPushDescriptor::InitializePlatformSpecific( | 283 void FastArrayPushDescriptor::InitializePlatformSpecific( |
295 CallInterfaceDescriptorData* data) { | 284 CallInterfaceDescriptorData* data) { |
296 // stack param count needs (arg count) | 285 // stack param count needs (arg count) |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 r1, // the JSGeneratorObject to resume | 435 r1, // the JSGeneratorObject to resume |
447 r2 // the resume mode (tagged) | 436 r2 // the resume mode (tagged) |
448 }; | 437 }; |
449 data->InitializePlatformSpecific(arraysize(registers), registers); | 438 data->InitializePlatformSpecific(arraysize(registers), registers); |
450 } | 439 } |
451 | 440 |
452 } // namespace internal | 441 } // namespace internal |
453 } // namespace v8 | 442 } // namespace v8 |
454 | 443 |
455 #endif // V8_TARGET_ARCH_ARM | 444 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |