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 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 Register registers[] = { | 413 Register registers[] = { |
414 r0, // argument count (not including receiver) | 414 r0, // argument count (not including receiver) |
415 r3, // new target | 415 r3, // new target |
416 r1, // constructor to call | 416 r1, // constructor to call |
417 r2, // allocation site feedback if available, undefined otherwise | 417 r2, // allocation site feedback if available, undefined otherwise |
418 r4 // address of the first argument | 418 r4 // address of the first argument |
419 }; | 419 }; |
420 data->InitializePlatformSpecific(arraysize(registers), registers); | 420 data->InitializePlatformSpecific(arraysize(registers), registers); |
421 } | 421 } |
422 | 422 |
| 423 void InterpreterPushArgsAndConstructArrayDescriptor::InitializePlatformSpecific( |
| 424 CallInterfaceDescriptorData* data) { |
| 425 Register registers[] = { |
| 426 r0, // argument count (not including receiver) |
| 427 r1, // target to call checked to be Array function |
| 428 r2, // allocation site feedback if available, undefined otherwise |
| 429 r3 // address of the first argument |
| 430 }; |
| 431 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 432 } |
| 433 |
423 void InterpreterCEntryDescriptor::InitializePlatformSpecific( | 434 void InterpreterCEntryDescriptor::InitializePlatformSpecific( |
424 CallInterfaceDescriptorData* data) { | 435 CallInterfaceDescriptorData* data) { |
425 Register registers[] = { | 436 Register registers[] = { |
426 r0, // argument count (argc) | 437 r0, // argument count (argc) |
427 r2, // address of first argument (argv) | 438 r2, // address of first argument (argv) |
428 r1 // the runtime function to call | 439 r1 // the runtime function to call |
429 }; | 440 }; |
430 data->InitializePlatformSpecific(arraysize(registers), registers); | 441 data->InitializePlatformSpecific(arraysize(registers), registers); |
431 } | 442 } |
432 | 443 |
433 void ResumeGeneratorDescriptor::InitializePlatformSpecific( | 444 void ResumeGeneratorDescriptor::InitializePlatformSpecific( |
434 CallInterfaceDescriptorData* data) { | 445 CallInterfaceDescriptorData* data) { |
435 Register registers[] = { | 446 Register registers[] = { |
436 r0, // the value to pass to the generator | 447 r0, // the value to pass to the generator |
437 r1, // the JSGeneratorObject to resume | 448 r1, // the JSGeneratorObject to resume |
438 r2 // the resume mode (tagged) | 449 r2 // the resume mode (tagged) |
439 }; | 450 }; |
440 data->InitializePlatformSpecific(arraysize(registers), registers); | 451 data->InitializePlatformSpecific(arraysize(registers), registers); |
441 } | 452 } |
442 | 453 |
443 } // namespace internal | 454 } // namespace internal |
444 } // namespace v8 | 455 } // namespace v8 |
445 | 456 |
446 #endif // V8_TARGET_ARCH_ARM | 457 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |