| 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/arm64/frames-arm64.h" | 7 #include "src/arm64/frames-arm64.h" |
| 8 #include "src/codegen.h" | 8 #include "src/codegen.h" |
| 9 #include "src/debug/debug.h" | 9 #include "src/debug/debug.h" |
| 10 #include "src/deoptimizer.h" | 10 #include "src/deoptimizer.h" |
| (...skipping 2779 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2790 __ Ldr(scratch, FieldMemOperand(spread_map, Map::kPrototypeOffset)); | 2790 __ Ldr(scratch, FieldMemOperand(spread_map, Map::kPrototypeOffset)); |
| 2791 __ Ldr(scratch2, NativeContextMemOperand()); | 2791 __ Ldr(scratch2, NativeContextMemOperand()); |
| 2792 __ Ldr(scratch2, | 2792 __ Ldr(scratch2, |
| 2793 ContextMemOperand(scratch2, Context::INITIAL_ARRAY_PROTOTYPE_INDEX)); | 2793 ContextMemOperand(scratch2, Context::INITIAL_ARRAY_PROTOTYPE_INDEX)); |
| 2794 __ Cmp(scratch, scratch2); | 2794 __ Cmp(scratch, scratch2); |
| 2795 __ B(ne, &runtime_call); | 2795 __ B(ne, &runtime_call); |
| 2796 | 2796 |
| 2797 // Check that the ArrayPrototype hasn't been modified in a way that would | 2797 // Check that the ArrayPrototype hasn't been modified in a way that would |
| 2798 // affect iteration. | 2798 // affect iteration. |
| 2799 __ LoadRoot(scratch, Heap::kArrayIteratorProtectorRootIndex); | 2799 __ LoadRoot(scratch, Heap::kArrayIteratorProtectorRootIndex); |
| 2800 __ Ldr(scratch, FieldMemOperand(scratch, Cell::kValueOffset)); | 2800 __ Ldr(scratch, FieldMemOperand(scratch, PropertyCell::kValueOffset)); |
| 2801 __ Cmp(scratch, Smi::FromInt(Isolate::kProtectorValid)); | 2801 __ Cmp(scratch, Smi::FromInt(Isolate::kProtectorValid)); |
| 2802 __ B(ne, &runtime_call); | 2802 __ B(ne, &runtime_call); |
| 2803 | 2803 |
| 2804 // Check that the map of the initial array iterator hasn't changed. | 2804 // Check that the map of the initial array iterator hasn't changed. |
| 2805 __ Ldr(scratch2, NativeContextMemOperand()); | 2805 __ Ldr(scratch2, NativeContextMemOperand()); |
| 2806 __ Ldr(scratch, | 2806 __ Ldr(scratch, |
| 2807 ContextMemOperand(scratch2, | 2807 ContextMemOperand(scratch2, |
| 2808 Context::INITIAL_ARRAY_ITERATOR_PROTOTYPE_INDEX)); | 2808 Context::INITIAL_ARRAY_ITERATOR_PROTOTYPE_INDEX)); |
| 2809 __ Ldr(scratch, FieldMemOperand(scratch, HeapObject::kMapOffset)); | 2809 __ Ldr(scratch, FieldMemOperand(scratch, HeapObject::kMapOffset)); |
| 2810 __ Ldr(scratch2, | 2810 __ Ldr(scratch2, |
| (...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3227 __ Unreachable(); | 3227 __ Unreachable(); |
| 3228 } | 3228 } |
| 3229 } | 3229 } |
| 3230 | 3230 |
| 3231 #undef __ | 3231 #undef __ |
| 3232 | 3232 |
| 3233 } // namespace internal | 3233 } // namespace internal |
| 3234 } // namespace v8 | 3234 } // namespace v8 |
| 3235 | 3235 |
| 3236 #endif // V8_TARGET_ARCH_ARM | 3236 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |