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 |