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 #if V8_TARGET_ARCH_MIPS64 | 5 #if V8_TARGET_ARCH_MIPS64 |
6 | 6 |
7 #include "src/interface-descriptors.h" | 7 #include "src/interface-descriptors.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 void InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific( | 428 void InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific( |
429 CallInterfaceDescriptorData* data) { | 429 CallInterfaceDescriptorData* data) { |
430 Register registers[] = { | 430 Register registers[] = { |
431 a0, // argument count (not including receiver) | 431 a0, // argument count (not including receiver) |
432 a2, // address of first argument | 432 a2, // address of first argument |
433 a1 // the target callable to be call | 433 a1 // the target callable to be call |
434 }; | 434 }; |
435 data->InitializePlatformSpecific(arraysize(registers), registers); | 435 data->InitializePlatformSpecific(arraysize(registers), registers); |
436 } | 436 } |
437 | 437 |
| 438 void InterpreterPushArgsAndCallICDescriptor::InitializePlatformSpecific( |
| 439 CallInterfaceDescriptorData* data) { |
| 440 Register registers[] = { |
| 441 a0, // argument count (not including receiver) |
| 442 a4, // address of first argument |
| 443 a1, // the target callable to be call |
| 444 a3, // feedback vector slot id |
| 445 a2 // type feedback vector |
| 446 }; |
| 447 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 448 } |
| 449 |
438 void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific( | 450 void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific( |
439 CallInterfaceDescriptorData* data) { | 451 CallInterfaceDescriptorData* data) { |
440 Register registers[] = { | 452 Register registers[] = { |
441 a0, // argument count (not including receiver) | 453 a0, // argument count (not including receiver) |
442 a3, // new target | 454 a3, // new target |
443 a1, // constructor to call | 455 a1, // constructor to call |
444 a2 // address of the first argument | 456 a2 // address of the first argument |
445 }; | 457 }; |
446 data->InitializePlatformSpecific(arraysize(registers), registers); | 458 data->InitializePlatformSpecific(arraysize(registers), registers); |
447 } | 459 } |
448 | 460 |
449 void InterpreterCEntryDescriptor::InitializePlatformSpecific( | 461 void InterpreterCEntryDescriptor::InitializePlatformSpecific( |
450 CallInterfaceDescriptorData* data) { | 462 CallInterfaceDescriptorData* data) { |
451 Register registers[] = { | 463 Register registers[] = { |
452 a0, // argument count (argc) | 464 a0, // argument count (argc) |
453 a2, // address of first argument (argv) | 465 a2, // address of first argument (argv) |
454 a1 // the runtime function to call | 466 a1 // the runtime function to call |
455 }; | 467 }; |
456 data->InitializePlatformSpecific(arraysize(registers), registers); | 468 data->InitializePlatformSpecific(arraysize(registers), registers); |
457 } | 469 } |
458 | 470 |
459 } // namespace internal | 471 } // namespace internal |
460 } // namespace v8 | 472 } // namespace v8 |
461 | 473 |
462 #endif // V8_TARGET_ARCH_MIPS64 | 474 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |