| 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 |