| 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 "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
| 8 | 8 |
| 9 #include "src/arm64/assembler-arm64.h" | 9 #include "src/arm64/assembler-arm64.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 797 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 808 // are not enabled for this object. | 808 // are not enabled for this object. |
| 809 __ Ldrb(scratch2, FieldMemOperand(map, Map::kBitFieldOffset)); | 809 __ Ldrb(scratch2, FieldMemOperand(map, Map::kBitFieldOffset)); |
| 810 ASSERT(kSlowCaseBitFieldMask == | 810 ASSERT(kSlowCaseBitFieldMask == |
| 811 ((1 << Map::kIsAccessCheckNeeded) | (1 << Map::kHasIndexedInterceptor))); | 811 ((1 << Map::kIsAccessCheckNeeded) | (1 << Map::kHasIndexedInterceptor))); |
| 812 __ Tbnz(scratch2, Map::kIsAccessCheckNeeded, &slow); | 812 __ Tbnz(scratch2, Map::kIsAccessCheckNeeded, &slow); |
| 813 __ Tbz(scratch2, Map::kHasIndexedInterceptor, &slow); | 813 __ Tbz(scratch2, Map::kHasIndexedInterceptor, &slow); |
| 814 | 814 |
| 815 // Everything is fine, call runtime. | 815 // Everything is fine, call runtime. |
| 816 __ Push(receiver, key); | 816 __ Push(receiver, key); |
| 817 __ TailCallExternalReference( | 817 __ TailCallExternalReference( |
| 818 ExternalReference(IC_Utility(kKeyedLoadPropertyWithInterceptor), | 818 ExternalReference(IC_Utility(kLoadElementWithInterceptor), |
| 819 masm->isolate()), | 819 masm->isolate()), |
| 820 2, | 820 2, 1); |
| 821 1); | |
| 822 | 821 |
| 823 __ Bind(&slow); | 822 __ Bind(&slow); |
| 824 GenerateMiss(masm); | 823 GenerateMiss(masm); |
| 825 } | 824 } |
| 826 | 825 |
| 827 | 826 |
| 828 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { | 827 void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { |
| 829 ASM_LOCATION("KeyedStoreIC::GenerateMiss"); | 828 ASM_LOCATION("KeyedStoreIC::GenerateMiss"); |
| 830 | 829 |
| 831 // Push receiver, key and value for runtime call. | 830 // Push receiver, key and value for runtime call. |
| (...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1294 ASSERT(to_patch->Mask(TestBranchMask) == TBNZ); | 1293 ASSERT(to_patch->Mask(TestBranchMask) == TBNZ); |
| 1295 // This is JumpIfSmi(smi_reg, branch_imm). | 1294 // This is JumpIfSmi(smi_reg, branch_imm). |
| 1296 patcher.tbz(smi_reg, 0, branch_imm); | 1295 patcher.tbz(smi_reg, 0, branch_imm); |
| 1297 } | 1296 } |
| 1298 } | 1297 } |
| 1299 | 1298 |
| 1300 | 1299 |
| 1301 } } // namespace v8::internal | 1300 } } // namespace v8::internal |
| 1302 | 1301 |
| 1303 #endif // V8_TARGET_ARCH_ARM64 | 1302 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |