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 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
401 CallInterfaceDescriptorData* data) { | 401 CallInterfaceDescriptorData* data) { |
402 Register registers[] = { | 402 Register registers[] = { |
403 eax, // argument count (not including receiver) | 403 eax, // argument count (not including receiver) |
404 ebx, // address of first argument | 404 ebx, // address of first argument |
405 edi // the target callable to be call | 405 edi // the target callable to be call |
406 }; | 406 }; |
407 data->InitializePlatformSpecific(arraysize(registers), registers); | 407 data->InitializePlatformSpecific(arraysize(registers), registers); |
408 } | 408 } |
409 | 409 |
410 | 410 |
| 411 void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific( |
| 412 CallInterfaceDescriptorData* data) { |
| 413 Register registers[] = { |
| 414 eax, // argument count (not including receiver) |
| 415 edx, // original constructor |
| 416 edi, // constructor |
| 417 ebx, // address of first argument |
| 418 }; |
| 419 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 420 } |
| 421 |
| 422 |
411 void InterpreterCEntryDescriptor::InitializePlatformSpecific( | 423 void InterpreterCEntryDescriptor::InitializePlatformSpecific( |
412 CallInterfaceDescriptorData* data) { | 424 CallInterfaceDescriptorData* data) { |
413 Register registers[] = { | 425 Register registers[] = { |
414 eax, // argument count (argc) | 426 eax, // argument count (argc) |
415 ecx, // address of first argument (argv) | 427 ecx, // address of first argument (argv) |
416 ebx // the runtime function to call | 428 ebx // the runtime function to call |
417 }; | 429 }; |
418 data->InitializePlatformSpecific(arraysize(registers), registers); | 430 data->InitializePlatformSpecific(arraysize(registers), registers); |
419 } | 431 } |
420 | 432 |
421 } // namespace internal | 433 } // namespace internal |
422 } // namespace v8 | 434 } // namespace v8 |
423 | 435 |
424 #endif // V8_TARGET_ARCH_X87 | 436 #endif // V8_TARGET_ARCH_X87 |
OLD | NEW |