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/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 2920 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2931 __ Ldr(x5, FieldMemOperand(x2, AllocationSite::kMapOffset)); | 2931 __ Ldr(x5, FieldMemOperand(x2, AllocationSite::kMapOffset)); |
2932 __ JumpIfRoot(x5, Heap::kAllocationSiteMapRootIndex, | 2932 __ JumpIfRoot(x5, Heap::kAllocationSiteMapRootIndex, |
2933 &feedback_register_initialized); | 2933 &feedback_register_initialized); |
2934 __ LoadRoot(x2, Heap::kUndefinedValueRootIndex); | 2934 __ LoadRoot(x2, Heap::kUndefinedValueRootIndex); |
2935 __ bind(&feedback_register_initialized); | 2935 __ bind(&feedback_register_initialized); |
2936 } | 2936 } |
2937 | 2937 |
2938 __ AssertUndefinedOrAllocationSite(x2, x5); | 2938 __ AssertUndefinedOrAllocationSite(x2, x5); |
2939 } | 2939 } |
2940 | 2940 |
| 2941 __ Mov(x3, function); |
| 2942 |
2941 // Jump to the function-specific construct stub. | 2943 // Jump to the function-specific construct stub. |
2942 Register jump_reg = x4; | 2944 Register jump_reg = x4; |
2943 Register shared_func_info = jump_reg; | 2945 Register shared_func_info = jump_reg; |
2944 Register cons_stub = jump_reg; | 2946 Register cons_stub = jump_reg; |
2945 Register cons_stub_code = jump_reg; | 2947 Register cons_stub_code = jump_reg; |
2946 __ Ldr(shared_func_info, | 2948 __ Ldr(shared_func_info, |
2947 FieldMemOperand(function, JSFunction::kSharedFunctionInfoOffset)); | 2949 FieldMemOperand(function, JSFunction::kSharedFunctionInfoOffset)); |
2948 __ Ldr(cons_stub, | 2950 __ Ldr(cons_stub, |
2949 FieldMemOperand(shared_func_info, | 2951 FieldMemOperand(shared_func_info, |
2950 SharedFunctionInfo::kConstructStubOffset)); | 2952 SharedFunctionInfo::kConstructStubOffset)); |
(...skipping 2438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5389 kStackUnwindSpace, NULL, spill_offset, | 5391 kStackUnwindSpace, NULL, spill_offset, |
5390 MemOperand(fp, 6 * kPointerSize), NULL); | 5392 MemOperand(fp, 6 * kPointerSize), NULL); |
5391 } | 5393 } |
5392 | 5394 |
5393 | 5395 |
5394 #undef __ | 5396 #undef __ |
5395 | 5397 |
5396 } } // namespace v8::internal | 5398 } } // namespace v8::internal |
5397 | 5399 |
5398 #endif // V8_TARGET_ARCH_ARM64 | 5400 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |