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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 | 52 |
53 | 53 |
54 const Register InstanceOfDescriptor::LeftRegister() { return edx; } | 54 const Register InstanceOfDescriptor::LeftRegister() { return edx; } |
55 const Register InstanceOfDescriptor::RightRegister() { return eax; } | 55 const Register InstanceOfDescriptor::RightRegister() { return eax; } |
56 | 56 |
57 | 57 |
58 const Register StringCompareDescriptor::LeftRegister() { return edx; } | 58 const Register StringCompareDescriptor::LeftRegister() { return edx; } |
59 const Register StringCompareDescriptor::RightRegister() { return eax; } | 59 const Register StringCompareDescriptor::RightRegister() { return eax; } |
60 | 60 |
61 | 61 |
62 const Register ArgumentsAccessNewDescriptor::function() { return edi; } | |
63 const Register ArgumentsAccessNewDescriptor::parameter_count() { return ecx; } | |
64 const Register ArgumentsAccessNewDescriptor::parameter_pointer() { return edx; } | |
65 | |
66 | |
67 const Register ApiGetterDescriptor::function_address() { return edx; } | 62 const Register ApiGetterDescriptor::function_address() { return edx; } |
68 | 63 |
69 | 64 |
70 const Register MathPowTaggedDescriptor::exponent() { return eax; } | 65 const Register MathPowTaggedDescriptor::exponent() { return eax; } |
71 | 66 |
72 | 67 |
73 const Register MathPowIntegerDescriptor::exponent() { | 68 const Register MathPowIntegerDescriptor::exponent() { |
74 return MathPowTaggedDescriptor::exponent(); | 69 return MathPowTaggedDescriptor::exponent(); |
75 } | 70 } |
76 | 71 |
(...skipping 14 matching lines...) Expand all Loading... |
91 Register registers[] = {edi}; | 86 Register registers[] = {edi}; |
92 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); | 87 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
93 } | 88 } |
94 | 89 |
95 void FastNewRestParameterDescriptor::InitializePlatformSpecific( | 90 void FastNewRestParameterDescriptor::InitializePlatformSpecific( |
96 CallInterfaceDescriptorData* data) { | 91 CallInterfaceDescriptorData* data) { |
97 Register registers[] = {edi}; | 92 Register registers[] = {edi}; |
98 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); | 93 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
99 } | 94 } |
100 | 95 |
| 96 void FastNewSloppyArgumentsDescriptor::InitializePlatformSpecific( |
| 97 CallInterfaceDescriptorData* data) { |
| 98 Register registers[] = {edi}; |
| 99 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
| 100 } |
| 101 |
101 void FastNewStrictArgumentsDescriptor::InitializePlatformSpecific( | 102 void FastNewStrictArgumentsDescriptor::InitializePlatformSpecific( |
102 CallInterfaceDescriptorData* data) { | 103 CallInterfaceDescriptorData* data) { |
103 Register registers[] = {edi}; | 104 Register registers[] = {edi}; |
104 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); | 105 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
105 } | 106 } |
106 | 107 |
107 void ToNumberDescriptor::InitializePlatformSpecific( | 108 void ToNumberDescriptor::InitializePlatformSpecific( |
108 CallInterfaceDescriptorData* data) { | 109 CallInterfaceDescriptorData* data) { |
109 // ToNumberStub invokes a function, and therefore needs a context. | 110 // ToNumberStub invokes a function, and therefore needs a context. |
110 Register registers[] = {eax}; | 111 Register registers[] = {eax}; |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
448 ecx, // address of first argument (argv) | 449 ecx, // address of first argument (argv) |
449 ebx // the runtime function to call | 450 ebx // the runtime function to call |
450 }; | 451 }; |
451 data->InitializePlatformSpecific(arraysize(registers), registers); | 452 data->InitializePlatformSpecific(arraysize(registers), registers); |
452 } | 453 } |
453 | 454 |
454 } // namespace internal | 455 } // namespace internal |
455 } // namespace v8 | 456 } // namespace v8 |
456 | 457 |
457 #endif // V8_TARGET_ARCH_X87 | 458 #endif // V8_TARGET_ARCH_X87 |
OLD | NEW |