| 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 #if V8_TARGET_ARCH_ARM64 | 5 #if V8_TARGET_ARCH_ARM64 |
| 6 | 6 |
| 7 #include "src/code-stubs.h" | 7 #include "src/code-stubs.h" |
| 8 #include "src/api-arguments.h" | 8 #include "src/api-arguments.h" |
| 9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
| 10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
| (...skipping 1436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1447 Register receiver = LoadDescriptor::ReceiverRegister(); | 1447 Register receiver = LoadDescriptor::ReceiverRegister(); |
| 1448 // Ensure that the vector and slot registers won't be clobbered before | 1448 // Ensure that the vector and slot registers won't be clobbered before |
| 1449 // calling the miss handler. | 1449 // calling the miss handler. |
| 1450 DCHECK(!AreAliased(x10, x11, LoadWithVectorDescriptor::VectorRegister(), | 1450 DCHECK(!AreAliased(x10, x11, LoadWithVectorDescriptor::VectorRegister(), |
| 1451 LoadWithVectorDescriptor::SlotRegister())); | 1451 LoadWithVectorDescriptor::SlotRegister())); |
| 1452 | 1452 |
| 1453 NamedLoadHandlerCompiler::GenerateLoadFunctionPrototype(masm, receiver, x10, | 1453 NamedLoadHandlerCompiler::GenerateLoadFunctionPrototype(masm, receiver, x10, |
| 1454 x11, &miss); | 1454 x11, &miss); |
| 1455 | 1455 |
| 1456 __ Bind(&miss); | 1456 __ Bind(&miss); |
| 1457 PropertyAccessCompiler::TailCallBuiltin( | 1457 PropertyAccessCompiler::TailCallMissHandler(masm, Code::LOAD_IC); |
| 1458 masm, PropertyAccessCompiler::MissBuiltin(Code::LOAD_IC)); | |
| 1459 } | 1458 } |
| 1460 | 1459 |
| 1461 | 1460 |
| 1462 void LoadIndexedStringStub::Generate(MacroAssembler* masm) { | 1461 void LoadIndexedStringStub::Generate(MacroAssembler* masm) { |
| 1463 // Return address is in lr. | 1462 // Return address is in lr. |
| 1464 Label miss; | 1463 Label miss; |
| 1465 | 1464 |
| 1466 Register receiver = LoadDescriptor::ReceiverRegister(); | 1465 Register receiver = LoadDescriptor::ReceiverRegister(); |
| 1467 Register index = LoadDescriptor::NameRegister(); | 1466 Register index = LoadDescriptor::NameRegister(); |
| 1468 Register result = x0; | 1467 Register result = x0; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1479 &miss, // When not a number. | 1478 &miss, // When not a number. |
| 1480 &miss, // When index out of range. | 1479 &miss, // When index out of range. |
| 1481 RECEIVER_IS_STRING); | 1480 RECEIVER_IS_STRING); |
| 1482 char_at_generator.GenerateFast(masm); | 1481 char_at_generator.GenerateFast(masm); |
| 1483 __ Ret(); | 1482 __ Ret(); |
| 1484 | 1483 |
| 1485 StubRuntimeCallHelper call_helper; | 1484 StubRuntimeCallHelper call_helper; |
| 1486 char_at_generator.GenerateSlow(masm, PART_OF_IC_HANDLER, call_helper); | 1485 char_at_generator.GenerateSlow(masm, PART_OF_IC_HANDLER, call_helper); |
| 1487 | 1486 |
| 1488 __ Bind(&miss); | 1487 __ Bind(&miss); |
| 1489 PropertyAccessCompiler::TailCallBuiltin( | 1488 PropertyAccessCompiler::TailCallMissHandler(masm, Code::KEYED_LOAD_IC); |
| 1490 masm, PropertyAccessCompiler::MissBuiltin(Code::KEYED_LOAD_IC)); | |
| 1491 } | 1489 } |
| 1492 | 1490 |
| 1493 | 1491 |
| 1494 void RegExpExecStub::Generate(MacroAssembler* masm) { | 1492 void RegExpExecStub::Generate(MacroAssembler* masm) { |
| 1495 #ifdef V8_INTERPRETED_REGEXP | 1493 #ifdef V8_INTERPRETED_REGEXP |
| 1496 __ TailCallRuntime(Runtime::kRegExpExec); | 1494 __ TailCallRuntime(Runtime::kRegExpExec); |
| 1497 #else // V8_INTERPRETED_REGEXP | 1495 #else // V8_INTERPRETED_REGEXP |
| 1498 | 1496 |
| 1499 // Stack frame on entry. | 1497 // Stack frame on entry. |
| 1500 // jssp[0]: last_match_info (expected JSArray) | 1498 // jssp[0]: last_match_info (expected JSArray) |
| (...skipping 4333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5834 kStackUnwindSpace, NULL, spill_offset, | 5832 kStackUnwindSpace, NULL, spill_offset, |
| 5835 return_value_operand, NULL); | 5833 return_value_operand, NULL); |
| 5836 } | 5834 } |
| 5837 | 5835 |
| 5838 #undef __ | 5836 #undef __ |
| 5839 | 5837 |
| 5840 } // namespace internal | 5838 } // namespace internal |
| 5841 } // namespace v8 | 5839 } // namespace v8 |
| 5842 | 5840 |
| 5843 #endif // V8_TARGET_ARCH_ARM64 | 5841 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |