| 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_X87 | 5 #if V8_TARGET_ARCH_X87 |
| 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 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 CallInterfaceDescriptorData* data) { | 403 CallInterfaceDescriptorData* data) { |
| 404 Register registers[] = { | 404 Register registers[] = { |
| 405 edi, // callee | 405 edi, // callee |
| 406 ebx, // call_data | 406 ebx, // call_data |
| 407 ecx, // holder | 407 ecx, // holder |
| 408 edx, // api_function_address | 408 edx, // api_function_address |
| 409 }; | 409 }; |
| 410 data->InitializePlatformSpecific(arraysize(registers), registers); | 410 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 411 } | 411 } |
| 412 | 412 |
| 413 void InterpreterDispatchDescriptor::InitializePlatformSpecific( |
| 414 CallInterfaceDescriptorData* data) { |
| 415 Register registers[] = { |
| 416 kInterpreterAccumulatorRegister, kInterpreterRegisterFileRegister, |
| 417 kInterpreterBytecodeOffsetRegister, kInterpreterBytecodeArrayRegister, |
| 418 kInterpreterDispatchTableRegister}; |
| 419 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 420 } |
| 413 | 421 |
| 414 void InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific( | 422 void InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific( |
| 415 CallInterfaceDescriptorData* data) { | 423 CallInterfaceDescriptorData* data) { |
| 416 Register registers[] = { | 424 Register registers[] = { |
| 417 eax, // argument count (not including receiver) | 425 eax, // argument count (not including receiver) |
| 418 ebx, // address of first argument | 426 ebx, // address of first argument |
| 419 edi // the target callable to be call | 427 edi // the target callable to be call |
| 420 }; | 428 }; |
| 421 data->InitializePlatformSpecific(arraysize(registers), registers); | 429 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 422 } | 430 } |
| 423 | 431 |
| 424 | |
| 425 void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific( | 432 void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific( |
| 426 CallInterfaceDescriptorData* data) { | 433 CallInterfaceDescriptorData* data) { |
| 427 Register registers[] = { | 434 Register registers[] = { |
| 428 eax, // argument count (not including receiver) | 435 eax, // argument count (not including receiver) |
| 429 edx, // new target | 436 edx, // new target |
| 430 edi, // constructor | 437 edi, // constructor |
| 431 ebx, // address of first argument | 438 ebx, // address of first argument |
| 432 }; | 439 }; |
| 433 data->InitializePlatformSpecific(arraysize(registers), registers); | 440 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 434 } | 441 } |
| 435 | 442 |
| 436 | |
| 437 void InterpreterCEntryDescriptor::InitializePlatformSpecific( | 443 void InterpreterCEntryDescriptor::InitializePlatformSpecific( |
| 438 CallInterfaceDescriptorData* data) { | 444 CallInterfaceDescriptorData* data) { |
| 439 Register registers[] = { | 445 Register registers[] = { |
| 440 eax, // argument count (argc) | 446 eax, // argument count (argc) |
| 441 ecx, // address of first argument (argv) | 447 ecx, // address of first argument (argv) |
| 442 ebx // the runtime function to call | 448 ebx // the runtime function to call |
| 443 }; | 449 }; |
| 444 data->InitializePlatformSpecific(arraysize(registers), registers); | 450 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 445 } | 451 } |
| 446 | 452 |
| 447 } // namespace internal | 453 } // namespace internal |
| 448 } // namespace v8 | 454 } // namespace v8 |
| 449 | 455 |
| 450 #endif // V8_TARGET_ARCH_X87 | 456 #endif // V8_TARGET_ARCH_X87 |
| OLD | NEW |