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 |