| 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_X64 | 5 #if V8_TARGET_ARCH_X64 |
| 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 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 385 InitializePlatformSpecific(CallInterfaceDescriptorData* data) { | 385 InitializePlatformSpecific(CallInterfaceDescriptorData* data) { |
| 386 Register registers[] = { | 386 Register registers[] = { |
| 387 rdi, // math rounding function | 387 rdi, // math rounding function |
| 388 rdx, // vector slot id | 388 rdx, // vector slot id |
| 389 rbx // type vector | 389 rbx // type vector |
| 390 }; | 390 }; |
| 391 data->InitializePlatformSpecific(arraysize(registers), registers); | 391 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 392 } | 392 } |
| 393 | 393 |
| 394 | 394 |
| 395 void PushArgsAndCallDescriptor::InitializePlatformSpecific( | 395 void InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific( |
| 396 CallInterfaceDescriptorData* data) { | 396 CallInterfaceDescriptorData* data) { |
| 397 Register registers[] = { | 397 Register registers[] = { |
| 398 rax, // argument count (including receiver) | 398 rax, // argument count (not including receiver) |
| 399 rbx, // address of first argument | 399 rbx, // address of first argument |
| 400 rdi // the target callable to be call | 400 rdi // the target callable to be call |
| 401 }; | 401 }; |
| 402 data->InitializePlatformSpecific(arraysize(registers), registers); | 402 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 403 } | 403 } |
| 404 | 404 |
| 405 |
| 406 void InterpreterCEntryDescriptor::InitializePlatformSpecific( |
| 407 CallInterfaceDescriptorData* data) { |
| 408 Register registers[] = { |
| 409 rax, // argument count (argc) |
| 410 r15, // address of first argument (argv) |
| 411 rbx // the runtime function to call |
| 412 }; |
| 413 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 414 } |
| 415 |
| 405 } // namespace internal | 416 } // namespace internal |
| 406 } // namespace v8 | 417 } // namespace v8 |
| 407 | 418 |
| 408 #endif // V8_TARGET_ARCH_X64 | 419 #endif // V8_TARGET_ARCH_X64 |
| OLD | NEW |