OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_X64 | 7 #if V8_TARGET_ARCH_X64 |
8 | 8 |
9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 | 82 |
83 void RegExpConstructResultStub::InitializeInterfaceDescriptor( | 83 void RegExpConstructResultStub::InitializeInterfaceDescriptor( |
84 CodeStubInterfaceDescriptor* descriptor) { | 84 CodeStubInterfaceDescriptor* descriptor) { |
85 Register registers[] = { rcx, rbx, rax }; | 85 Register registers[] = { rcx, rbx, rax }; |
86 descriptor->Initialize( | 86 descriptor->Initialize( |
87 ARRAY_SIZE(registers), registers, | 87 ARRAY_SIZE(registers), registers, |
88 Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry); | 88 Runtime::FunctionForId(Runtime::kRegExpConstructResult)->entry); |
89 } | 89 } |
90 | 90 |
91 | 91 |
92 void KeyedStoreFastElementStub::InitializeInterfaceDescriptor( | |
93 CodeStubInterfaceDescriptor* descriptor) { | |
94 Register registers[] = { rdx, rcx, rax }; | |
95 descriptor->Initialize( | |
96 ARRAY_SIZE(registers), registers, | |
97 FUNCTION_ADDR(KeyedStoreIC_MissFromStubFailure)); | |
98 } | |
99 | |
100 | |
101 void TransitionElementsKindStub::InitializeInterfaceDescriptor( | 92 void TransitionElementsKindStub::InitializeInterfaceDescriptor( |
102 CodeStubInterfaceDescriptor* descriptor) { | 93 CodeStubInterfaceDescriptor* descriptor) { |
103 Register registers[] = { rax, rbx }; | 94 Register registers[] = { rax, rbx }; |
104 descriptor->Initialize( | 95 descriptor->Initialize( |
105 ARRAY_SIZE(registers), registers, | 96 ARRAY_SIZE(registers), registers, |
106 Runtime::FunctionForId(Runtime::kTransitionElementsKind)->entry); | 97 Runtime::FunctionForId(Runtime::kTransitionElementsKind)->entry); |
107 } | 98 } |
108 | 99 |
109 | 100 |
110 static void InitializeArrayConstructorDescriptor( | 101 static void InitializeArrayConstructorDescriptor( |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 void ToBooleanStub::InitializeInterfaceDescriptor( | 215 void ToBooleanStub::InitializeInterfaceDescriptor( |
225 CodeStubInterfaceDescriptor* descriptor) { | 216 CodeStubInterfaceDescriptor* descriptor) { |
226 Register registers[] = { rax }; | 217 Register registers[] = { rax }; |
227 descriptor->Initialize(ARRAY_SIZE(registers), registers, | 218 descriptor->Initialize(ARRAY_SIZE(registers), registers, |
228 FUNCTION_ADDR(ToBooleanIC_Miss)); | 219 FUNCTION_ADDR(ToBooleanIC_Miss)); |
229 descriptor->SetMissHandler( | 220 descriptor->SetMissHandler( |
230 ExternalReference(IC_Utility(IC::kToBooleanIC_Miss), isolate())); | 221 ExternalReference(IC_Utility(IC::kToBooleanIC_Miss), isolate())); |
231 } | 222 } |
232 | 223 |
233 | 224 |
234 void StoreGlobalStub::InitializeInterfaceDescriptor( | |
235 CodeStubInterfaceDescriptor* descriptor) { | |
236 Register registers[] = { rdx, rcx, rax }; | |
237 descriptor->Initialize(ARRAY_SIZE(registers), registers, | |
238 FUNCTION_ADDR(StoreIC_MissFromStubFailure)); | |
239 } | |
240 | |
241 | |
242 void ElementsTransitionAndStoreStub::InitializeInterfaceDescriptor( | 225 void ElementsTransitionAndStoreStub::InitializeInterfaceDescriptor( |
243 CodeStubInterfaceDescriptor* descriptor) { | 226 CodeStubInterfaceDescriptor* descriptor) { |
244 Register registers[] = { rax, rbx, rcx, rdx }; | 227 Register registers[] = { rax, rbx, rcx, rdx }; |
245 descriptor->Initialize(ARRAY_SIZE(registers), registers, | 228 descriptor->Initialize(ARRAY_SIZE(registers), registers, |
246 FUNCTION_ADDR(ElementsTransitionAndStoreIC_Miss)); | 229 FUNCTION_ADDR(ElementsTransitionAndStoreIC_Miss)); |
247 } | 230 } |
248 | 231 |
249 | 232 |
250 void BinaryOpICStub::InitializeInterfaceDescriptor( | 233 void BinaryOpICStub::InitializeInterfaceDescriptor( |
251 CodeStubInterfaceDescriptor* descriptor) { | 234 CodeStubInterfaceDescriptor* descriptor) { |
(...skipping 4687 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4939 return_value_operand, | 4922 return_value_operand, |
4940 NULL); | 4923 NULL); |
4941 } | 4924 } |
4942 | 4925 |
4943 | 4926 |
4944 #undef __ | 4927 #undef __ |
4945 | 4928 |
4946 } } // namespace v8::internal | 4929 } } // namespace v8::internal |
4947 | 4930 |
4948 #endif // V8_TARGET_ARCH_X64 | 4931 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |