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 #include "v8.h" | 5 #include "v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_IA32 | 7 #if V8_TARGET_ARCH_IA32 |
8 | 8 |
9 #include "bootstrapper.h" | 9 #include "bootstrapper.h" |
10 #include "code-stubs.h" | 10 #include "code-stubs.h" |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 void ElementsTransitionAndStoreStub::InitializeInterfaceDescriptor( | 302 void ElementsTransitionAndStoreStub::InitializeInterfaceDescriptor( |
303 CodeStubInterfaceDescriptor* descriptor) { | 303 CodeStubInterfaceDescriptor* descriptor) { |
304 static Register registers[] = { eax, ebx, ecx, edx }; | 304 static Register registers[] = { eax, ebx, ecx, edx }; |
305 descriptor->register_param_count_ = 4; | 305 descriptor->register_param_count_ = 4; |
306 descriptor->register_params_ = registers; | 306 descriptor->register_params_ = registers; |
307 descriptor->deoptimization_handler_ = | 307 descriptor->deoptimization_handler_ = |
308 FUNCTION_ADDR(ElementsTransitionAndStoreIC_Miss); | 308 FUNCTION_ADDR(ElementsTransitionAndStoreIC_Miss); |
309 } | 309 } |
310 | 310 |
311 | 311 |
| 312 void ArrayShiftStub::InitializeInterfaceDescriptor( |
| 313 CodeStubInterfaceDescriptor* descriptor) { |
| 314 static Register registers[] = { eax }; |
| 315 descriptor->register_param_count_ = 1; |
| 316 descriptor->register_params_ = registers; |
| 317 descriptor->deoptimization_handler_ = |
| 318 Builtins::c_function_address(Builtins::c_ArrayShift); |
| 319 } |
| 320 |
| 321 |
312 void BinaryOpICStub::InitializeInterfaceDescriptor( | 322 void BinaryOpICStub::InitializeInterfaceDescriptor( |
313 CodeStubInterfaceDescriptor* descriptor) { | 323 CodeStubInterfaceDescriptor* descriptor) { |
314 static Register registers[] = { edx, eax }; | 324 static Register registers[] = { edx, eax }; |
315 descriptor->register_param_count_ = 2; | 325 descriptor->register_param_count_ = 2; |
316 descriptor->register_params_ = registers; | 326 descriptor->register_params_ = registers; |
317 descriptor->deoptimization_handler_ = FUNCTION_ADDR(BinaryOpIC_Miss); | 327 descriptor->deoptimization_handler_ = FUNCTION_ADDR(BinaryOpIC_Miss); |
318 descriptor->SetMissHandler( | 328 descriptor->SetMissHandler( |
319 ExternalReference(IC_Utility(IC::kBinaryOpIC_Miss), isolate())); | 329 ExternalReference(IC_Utility(IC::kBinaryOpIC_Miss), isolate())); |
320 } | 330 } |
321 | 331 |
(...skipping 4812 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5134 Operand(ebp, 7 * kPointerSize), | 5144 Operand(ebp, 7 * kPointerSize), |
5135 NULL); | 5145 NULL); |
5136 } | 5146 } |
5137 | 5147 |
5138 | 5148 |
5139 #undef __ | 5149 #undef __ |
5140 | 5150 |
5141 } } // namespace v8::internal | 5151 } } // namespace v8::internal |
5142 | 5152 |
5143 #endif // V8_TARGET_ARCH_IA32 | 5153 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |