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 1183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1194 // -- x3 : new target (preserved for callee) | 1194 // -- x3 : new target (preserved for callee) |
1195 // -- x1 : target function (preserved for callee) | 1195 // -- x1 : target function (preserved for callee) |
1196 // ----------------------------------- | 1196 // ----------------------------------- |
1197 // First lookup code, maybe we don't need to compile! | 1197 // First lookup code, maybe we don't need to compile! |
1198 Label gotta_call_runtime; | 1198 Label gotta_call_runtime; |
1199 Label maybe_call_runtime; | 1199 Label maybe_call_runtime; |
1200 Label try_shared; | 1200 Label try_shared; |
1201 Label loop_top, loop_bottom; | 1201 Label loop_top, loop_bottom; |
1202 | 1202 |
1203 Register closure = x1; | 1203 Register closure = x1; |
1204 Register new_target = x3; | |
1205 Register map = x13; | 1204 Register map = x13; |
1206 Register index = x2; | 1205 Register index = x2; |
1207 __ Ldr(map, FieldMemOperand(closure, JSFunction::kSharedFunctionInfoOffset)); | 1206 __ Ldr(map, FieldMemOperand(closure, JSFunction::kSharedFunctionInfoOffset)); |
1208 __ Ldr(map, | 1207 __ Ldr(map, |
1209 FieldMemOperand(map, SharedFunctionInfo::kOptimizedCodeMapOffset)); | 1208 FieldMemOperand(map, SharedFunctionInfo::kOptimizedCodeMapOffset)); |
1210 __ Ldrsw(index, UntagSmiFieldMemOperand(map, FixedArray::kLengthOffset)); | 1209 __ Ldrsw(index, UntagSmiFieldMemOperand(map, FixedArray::kLengthOffset)); |
1211 __ Cmp(index, Operand(2)); | 1210 __ Cmp(index, Operand(2)); |
1212 __ B(lt, &gotta_call_runtime); | 1211 __ B(lt, &gotta_call_runtime); |
1213 | 1212 |
1214 // Find literals. | 1213 // Find literals. |
(...skipping 1690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2905 } | 2904 } |
2906 } | 2905 } |
2907 | 2906 |
2908 | 2907 |
2909 #undef __ | 2908 #undef __ |
2910 | 2909 |
2911 } // namespace internal | 2910 } // namespace internal |
2912 } // namespace v8 | 2911 } // namespace v8 |
2913 | 2912 |
2914 #endif // V8_TARGET_ARCH_ARM | 2913 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |