| 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/bootstrapper.h" | 7 #include "src/bootstrapper.h" |
| 8 #include "src/code-stubs.h" | 8 #include "src/code-stubs.h" |
| 9 #include "src/codegen.h" | 9 #include "src/codegen.h" |
| 10 #include "src/ic/handler-compiler.h" | 10 #include "src/ic/handler-compiler.h" |
| (...skipping 5175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5186 __ JumpIfObjectType(x10, x10, x11, MAP_TYPE, &map_ok); | 5186 __ JumpIfObjectType(x10, x10, x11, MAP_TYPE, &map_ok); |
| 5187 __ Bind(&unexpected_map); | 5187 __ Bind(&unexpected_map); |
| 5188 __ Abort(kUnexpectedInitialMapForArrayFunction); | 5188 __ Abort(kUnexpectedInitialMapForArrayFunction); |
| 5189 __ Bind(&map_ok); | 5189 __ Bind(&map_ok); |
| 5190 | 5190 |
| 5191 // We should either have undefined in the allocation_site register or a | 5191 // We should either have undefined in the allocation_site register or a |
| 5192 // valid AllocationSite. | 5192 // valid AllocationSite. |
| 5193 __ AssertUndefinedOrAllocationSite(allocation_site, x10); | 5193 __ AssertUndefinedOrAllocationSite(allocation_site, x10); |
| 5194 } | 5194 } |
| 5195 | 5195 |
| 5196 // Enter the context of the Array function. |
| 5197 __ Ldr(cp, FieldMemOperand(x1, JSFunction::kContextOffset)); |
| 5198 |
| 5196 Label subclassing; | 5199 Label subclassing; |
| 5197 __ Cmp(new_target, constructor); | 5200 __ Cmp(new_target, constructor); |
| 5198 __ B(ne, &subclassing); | 5201 __ B(ne, &subclassing); |
| 5199 | 5202 |
| 5200 Register kind = x3; | 5203 Register kind = x3; |
| 5201 Label no_info; | 5204 Label no_info; |
| 5202 // Get the elements kind and case on that. | 5205 // Get the elements kind and case on that. |
| 5203 __ JumpIfRoot(allocation_site, Heap::kUndefinedValueRootIndex, &no_info); | 5206 __ JumpIfRoot(allocation_site, Heap::kUndefinedValueRootIndex, &no_info); |
| 5204 | 5207 |
| 5205 __ Ldrsw(kind, | 5208 __ Ldrsw(kind, |
| (...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5813 MemOperand(fp, 6 * kPointerSize), NULL); | 5816 MemOperand(fp, 6 * kPointerSize), NULL); |
| 5814 } | 5817 } |
| 5815 | 5818 |
| 5816 | 5819 |
| 5817 #undef __ | 5820 #undef __ |
| 5818 | 5821 |
| 5819 } // namespace internal | 5822 } // namespace internal |
| 5820 } // namespace v8 | 5823 } // namespace v8 |
| 5821 | 5824 |
| 5822 #endif // V8_TARGET_ARCH_ARM64 | 5825 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |