| 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/codegen.h" | 7 #include "src/codegen.h" |
| 8 #include "src/ic/ic.h" | 8 #include "src/ic/ic.h" |
| 9 #include "src/ic/ic-compiler.h" | 9 #include "src/ic/ic-compiler.h" |
| 10 #include "src/ic/stub-cache.h" | 10 #include "src/ic/stub-cache.h" |
| (...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 GenerateKeyedLoadWithNameKey(masm, key, receiver, x4, x5, x6, x7, x3, &slow); | 438 GenerateKeyedLoadWithNameKey(masm, key, receiver, x4, x5, x6, x7, x3, &slow); |
| 439 | 439 |
| 440 __ Bind(&index_name); | 440 __ Bind(&index_name); |
| 441 __ IndexFromHash(x3, key); | 441 __ IndexFromHash(x3, key); |
| 442 // Now jump to the place where smi keys are handled. | 442 // Now jump to the place where smi keys are handled. |
| 443 __ B(&index_smi); | 443 __ B(&index_smi); |
| 444 } | 444 } |
| 445 | 445 |
| 446 | 446 |
| 447 static void StoreIC_PushArgs(MacroAssembler* masm) { | 447 static void StoreIC_PushArgs(MacroAssembler* masm) { |
| 448 __ Push(StoreDescriptor::ReceiverRegister(), StoreDescriptor::NameRegister(), | 448 __ Push(StoreWithVectorDescriptor::ValueRegister(), |
| 449 StoreDescriptor::ValueRegister(), | |
| 450 StoreWithVectorDescriptor::SlotRegister(), | 449 StoreWithVectorDescriptor::SlotRegister(), |
| 451 StoreWithVectorDescriptor::VectorRegister()); | 450 StoreWithVectorDescriptor::VectorRegister(), |
| 451 StoreWithVectorDescriptor::ReceiverRegister(), |
| 452 StoreWithVectorDescriptor::NameRegister()); |
| 452 } | 453 } |
| 453 | 454 |
| 454 | 455 |
| 455 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { | 456 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { |
| 456 ASM_LOCATION("KeyedStoreIC::GenerateMiss"); | 457 ASM_LOCATION("KeyedStoreIC::GenerateMiss"); |
| 457 StoreIC_PushArgs(masm); | 458 StoreIC_PushArgs(masm); |
| 458 __ TailCallRuntime(Runtime::kKeyedStoreIC_Miss); | 459 __ TailCallRuntime(Runtime::kKeyedStoreIC_Miss); |
| 459 } | 460 } |
| 460 | 461 |
| 461 void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) { | 462 void KeyedStoreIC::GenerateSlow(MacroAssembler* masm) { |
| (...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 843 } else { | 844 } else { |
| 844 DCHECK(to_patch->Mask(TestBranchMask) == TBNZ); | 845 DCHECK(to_patch->Mask(TestBranchMask) == TBNZ); |
| 845 // This is JumpIfSmi(smi_reg, branch_imm). | 846 // This is JumpIfSmi(smi_reg, branch_imm). |
| 846 patcher.tbz(smi_reg, 0, branch_imm); | 847 patcher.tbz(smi_reg, 0, branch_imm); |
| 847 } | 848 } |
| 848 } | 849 } |
| 849 } // namespace internal | 850 } // namespace internal |
| 850 } // namespace v8 | 851 } // namespace v8 |
| 851 | 852 |
| 852 #endif // V8_TARGET_ARCH_ARM64 | 853 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |