OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_MIPS | 5 #if V8_TARGET_ARCH_MIPS |
6 | 6 |
7 #include "src/codegen.h" | 7 #include "src/codegen.h" |
8 #include "src/debug/debug.h" | 8 #include "src/debug/debug.h" |
9 #include "src/deoptimizer.h" | 9 #include "src/deoptimizer.h" |
10 #include "src/full-codegen/full-codegen.h" | 10 #include "src/full-codegen/full-codegen.h" |
(...skipping 2710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2721 | 2721 |
2722 // Check that we have the original ArrayPrototype. | 2722 // Check that we have the original ArrayPrototype. |
2723 __ lw(scratch, FieldMemOperand(spread_map, Map::kPrototypeOffset)); | 2723 __ lw(scratch, FieldMemOperand(spread_map, Map::kPrototypeOffset)); |
2724 __ lw(scratch2, ContextMemOperand(native_context, | 2724 __ lw(scratch2, ContextMemOperand(native_context, |
2725 Context::INITIAL_ARRAY_PROTOTYPE_INDEX)); | 2725 Context::INITIAL_ARRAY_PROTOTYPE_INDEX)); |
2726 __ Branch(&runtime_call, ne, scratch, Operand(scratch2)); | 2726 __ Branch(&runtime_call, ne, scratch, Operand(scratch2)); |
2727 | 2727 |
2728 // Check that the ArrayPrototype hasn't been modified in a way that would | 2728 // Check that the ArrayPrototype hasn't been modified in a way that would |
2729 // affect iteration. | 2729 // affect iteration. |
2730 __ LoadRoot(scratch, Heap::kArrayIteratorProtectorRootIndex); | 2730 __ LoadRoot(scratch, Heap::kArrayIteratorProtectorRootIndex); |
2731 __ lw(scratch, FieldMemOperand(scratch, Cell::kValueOffset)); | 2731 __ lw(scratch, FieldMemOperand(scratch, PropertyCell::kValueOffset)); |
2732 __ Branch(&runtime_call, ne, scratch, | 2732 __ Branch(&runtime_call, ne, scratch, |
2733 Operand(Smi::FromInt(Isolate::kProtectorValid))); | 2733 Operand(Smi::FromInt(Isolate::kProtectorValid))); |
2734 | 2734 |
2735 // Check that the map of the initial array iterator hasn't changed. | 2735 // Check that the map of the initial array iterator hasn't changed. |
2736 __ lw(scratch, | 2736 __ lw(scratch, |
2737 ContextMemOperand(native_context, | 2737 ContextMemOperand(native_context, |
2738 Context::INITIAL_ARRAY_ITERATOR_PROTOTYPE_INDEX)); | 2738 Context::INITIAL_ARRAY_ITERATOR_PROTOTYPE_INDEX)); |
2739 __ lw(scratch, FieldMemOperand(scratch, HeapObject::kMapOffset)); | 2739 __ lw(scratch, FieldMemOperand(scratch, HeapObject::kMapOffset)); |
2740 __ lw(scratch2, | 2740 __ lw(scratch2, |
2741 ContextMemOperand(native_context, | 2741 ContextMemOperand(native_context, |
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3195 __ break_(0xCC); | 3195 __ break_(0xCC); |
3196 } | 3196 } |
3197 } | 3197 } |
3198 | 3198 |
3199 #undef __ | 3199 #undef __ |
3200 | 3200 |
3201 } // namespace internal | 3201 } // namespace internal |
3202 } // namespace v8 | 3202 } // namespace v8 |
3203 | 3203 |
3204 #endif // V8_TARGET_ARCH_MIPS | 3204 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |