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 "v8.h" | 5 #include "v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_X64 | 7 #if V8_TARGET_ARCH_X64 |
8 | 8 |
9 #include "bootstrapper.h" | 9 #include "bootstrapper.h" |
10 #include "code-stubs.h" | 10 #include "code-stubs.h" |
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
298 void ElementsTransitionAndStoreStub::InitializeInterfaceDescriptor( | 298 void ElementsTransitionAndStoreStub::InitializeInterfaceDescriptor( |
299 CodeStubInterfaceDescriptor* descriptor) { | 299 CodeStubInterfaceDescriptor* descriptor) { |
300 static Register registers[] = { rax, rbx, rcx, rdx }; | 300 static Register registers[] = { rax, rbx, rcx, rdx }; |
301 descriptor->register_param_count_ = 4; | 301 descriptor->register_param_count_ = 4; |
302 descriptor->register_params_ = registers; | 302 descriptor->register_params_ = registers; |
303 descriptor->deoptimization_handler_ = | 303 descriptor->deoptimization_handler_ = |
304 FUNCTION_ADDR(ElementsTransitionAndStoreIC_Miss); | 304 FUNCTION_ADDR(ElementsTransitionAndStoreIC_Miss); |
305 } | 305 } |
306 | 306 |
307 | 307 |
| 308 void ArrayShiftStub::InitializeInterfaceDescriptor( |
| 309 CodeStubInterfaceDescriptor* descriptor) { |
| 310 static Register registers[] = { rax }; |
| 311 descriptor->register_param_count_ = 1; |
| 312 descriptor->register_params_ = registers; |
| 313 descriptor->deoptimization_handler_ = |
| 314 Builtins::c_function_address(Builtins::c_ArrayShift); |
| 315 } |
| 316 |
| 317 |
308 void BinaryOpICStub::InitializeInterfaceDescriptor( | 318 void BinaryOpICStub::InitializeInterfaceDescriptor( |
309 CodeStubInterfaceDescriptor* descriptor) { | 319 CodeStubInterfaceDescriptor* descriptor) { |
310 static Register registers[] = { rdx, rax }; | 320 static Register registers[] = { rdx, rax }; |
311 descriptor->register_param_count_ = 2; | 321 descriptor->register_param_count_ = 2; |
312 descriptor->register_params_ = registers; | 322 descriptor->register_params_ = registers; |
313 descriptor->deoptimization_handler_ = FUNCTION_ADDR(BinaryOpIC_Miss); | 323 descriptor->deoptimization_handler_ = FUNCTION_ADDR(BinaryOpIC_Miss); |
314 descriptor->SetMissHandler( | 324 descriptor->SetMissHandler( |
315 ExternalReference(IC_Utility(IC::kBinaryOpIC_Miss), isolate())); | 325 ExternalReference(IC_Utility(IC::kBinaryOpIC_Miss), isolate())); |
316 } | 326 } |
317 | 327 |
(...skipping 4699 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5017 return_value_operand, | 5027 return_value_operand, |
5018 NULL); | 5028 NULL); |
5019 } | 5029 } |
5020 | 5030 |
5021 | 5031 |
5022 #undef __ | 5032 #undef __ |
5023 | 5033 |
5024 } } // namespace v8::internal | 5034 } } // namespace v8::internal |
5025 | 5035 |
5026 #endif // V8_TARGET_ARCH_X64 | 5036 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |