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 930 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
941 __ Lsr(x11, x11, kPointerSizeLog2); | 941 __ Lsr(x11, x11, kPointerSizeLog2); |
942 __ PushMultipleTimes(x10, x11); | 942 __ PushMultipleTimes(x10, x11); |
943 __ Bind(&loop_header); | 943 __ Bind(&loop_header); |
944 } | 944 } |
945 | 945 |
946 // TODO(rmcilroy): List of things not currently dealt with here but done in | 946 // TODO(rmcilroy): List of things not currently dealt with here but done in |
947 // fullcodegen's prologue: | 947 // fullcodegen's prologue: |
948 // - Support profiler (specifically profiling_counter). | 948 // - Support profiler (specifically profiling_counter). |
949 // - Call ProfileEntryHookStub when isolate has a function_entry_hook. | 949 // - Call ProfileEntryHookStub when isolate has a function_entry_hook. |
950 // - Allow simulator stop operations if FLAG_stop_at is set. | 950 // - Allow simulator stop operations if FLAG_stop_at is set. |
951 // - Deal with sloppy mode functions which need to replace the | |
952 // receiver with the global proxy when called as functions (without an | |
953 // explicit receiver object). | |
954 // - Code aging of the BytecodeArray object. | 951 // - Code aging of the BytecodeArray object. |
955 | 952 |
956 // Perform stack guard check. | 953 // Perform stack guard check. |
957 { | 954 { |
958 Label ok; | 955 Label ok; |
959 __ CompareRoot(jssp, Heap::kStackLimitRootIndex); | 956 __ CompareRoot(jssp, Heap::kStackLimitRootIndex); |
960 __ B(hs, &ok); | 957 __ B(hs, &ok); |
961 __ Push(kInterpreterBytecodeArrayRegister); | 958 __ Push(kInterpreterBytecodeArrayRegister); |
962 __ CallRuntime(Runtime::kStackGuard, 0); | 959 __ CallRuntime(Runtime::kStackGuard, 0); |
963 __ Pop(kInterpreterBytecodeArrayRegister); | 960 __ Pop(kInterpreterBytecodeArrayRegister); |
(...skipping 1056 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2020 } | 2017 } |
2021 } | 2018 } |
2022 | 2019 |
2023 | 2020 |
2024 #undef __ | 2021 #undef __ |
2025 | 2022 |
2026 } // namespace internal | 2023 } // namespace internal |
2027 } // namespace v8 | 2024 } // namespace v8 |
2028 | 2025 |
2029 #endif // V8_TARGET_ARCH_ARM | 2026 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |