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_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
8 | 8 |
9 #include "bootstrapper.h" | 9 #include "bootstrapper.h" |
10 #include "code-stubs.h" | 10 #include "code-stubs.h" |
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
349 // x1: key | 349 // x1: key |
350 // x2: receiver | 350 // x2: receiver |
351 static Register registers[] = { x0, x3, x1, x2 }; | 351 static Register registers[] = { x0, x3, x1, x2 }; |
352 descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]); | 352 descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]); |
353 descriptor->register_params_ = registers; | 353 descriptor->register_params_ = registers; |
354 descriptor->deoptimization_handler_ = | 354 descriptor->deoptimization_handler_ = |
355 FUNCTION_ADDR(ElementsTransitionAndStoreIC_Miss); | 355 FUNCTION_ADDR(ElementsTransitionAndStoreIC_Miss); |
356 } | 356 } |
357 | 357 |
358 | 358 |
359 void ArrayShiftStub::InitializeInterfaceDescriptor( | |
360 CodeStubInterfaceDescriptor* descriptor) { | |
361 // x0: receiver | |
362 static Register registers[] = { x0 }; | |
363 descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]); | |
364 descriptor->register_params_ = registers; | |
365 descriptor->deoptimization_handler_ = | |
366 Builtins::c_function_address(Builtins::c_ArrayShift); | |
367 } | |
368 | |
369 | |
370 void BinaryOpICStub::InitializeInterfaceDescriptor( | 359 void BinaryOpICStub::InitializeInterfaceDescriptor( |
371 CodeStubInterfaceDescriptor* descriptor) { | 360 CodeStubInterfaceDescriptor* descriptor) { |
372 // x1: left operand | 361 // x1: left operand |
373 // x0: right operand | 362 // x0: right operand |
374 static Register registers[] = { x1, x0 }; | 363 static Register registers[] = { x1, x0 }; |
375 descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]); | 364 descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]); |
376 descriptor->register_params_ = registers; | 365 descriptor->register_params_ = registers; |
377 descriptor->deoptimization_handler_ = FUNCTION_ADDR(BinaryOpIC_Miss); | 366 descriptor->deoptimization_handler_ = FUNCTION_ADDR(BinaryOpIC_Miss); |
378 descriptor->SetMissHandler( | 367 descriptor->SetMissHandler( |
379 ExternalReference(IC_Utility(IC::kBinaryOpIC_Miss), isolate())); | 368 ExternalReference(IC_Utility(IC::kBinaryOpIC_Miss), isolate())); |
(...skipping 5167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5547 MemOperand(fp, 6 * kPointerSize), | 5536 MemOperand(fp, 6 * kPointerSize), |
5548 NULL); | 5537 NULL); |
5549 } | 5538 } |
5550 | 5539 |
5551 | 5540 |
5552 #undef __ | 5541 #undef __ |
5553 | 5542 |
5554 } } // namespace v8::internal | 5543 } } // namespace v8::internal |
5555 | 5544 |
5556 #endif // V8_TARGET_ARCH_ARM64 | 5545 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |