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 918 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
929 | 929 |
930 // TODO(rmcilroy): List of things not currently dealt with here but done in | 930 // TODO(rmcilroy): List of things not currently dealt with here but done in |
931 // fullcodegen's prologue: | 931 // fullcodegen's prologue: |
932 // - Support profiler (specifically profiling_counter). | 932 // - Support profiler (specifically profiling_counter). |
933 // - Call ProfileEntryHookStub when isolate has a function_entry_hook. | 933 // - Call ProfileEntryHookStub when isolate has a function_entry_hook. |
934 // - Allow simulator stop operations if FLAG_stop_at is set. | 934 // - Allow simulator stop operations if FLAG_stop_at is set. |
935 // - Deal with sloppy mode functions which need to replace the | 935 // - Deal with sloppy mode functions which need to replace the |
936 // receiver with the global proxy when called as functions (without an | 936 // receiver with the global proxy when called as functions (without an |
937 // explicit receiver object). | 937 // explicit receiver object). |
938 // - Code aging of the BytecodeArray object. | 938 // - Code aging of the BytecodeArray object. |
939 // - Supporting FLAG_trace. | |
940 // | |
941 // The following items are also not done here, and will probably be done using | |
942 // explicit bytecodes instead: | |
943 // - Allocating a new local context if applicable. | |
944 // - Setting up a local binding to the this function, which is used in | |
945 // derived constructors with super calls. | |
946 // - Setting new.target if required. | |
947 // - Dealing with REST parameters (only if | |
948 // https://codereview.chromium.org/1235153006 doesn't land by then). | |
949 // - Dealing with argument objects. | |
950 | 939 |
951 // Perform stack guard check. | 940 // Perform stack guard check. |
952 { | 941 { |
953 Label ok; | 942 Label ok; |
954 __ CompareRoot(jssp, Heap::kStackLimitRootIndex); | 943 __ CompareRoot(jssp, Heap::kStackLimitRootIndex); |
955 __ B(hs, &ok); | 944 __ B(hs, &ok); |
956 __ CallRuntime(Runtime::kStackGuard, 0); | 945 __ CallRuntime(Runtime::kStackGuard, 0); |
957 __ Bind(&ok); | 946 __ Bind(&ok); |
958 } | 947 } |
959 | 948 |
(...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1998 } | 1987 } |
1999 } | 1988 } |
2000 | 1989 |
2001 | 1990 |
2002 #undef __ | 1991 #undef __ |
2003 | 1992 |
2004 } // namespace internal | 1993 } // namespace internal |
2005 } // namespace v8 | 1994 } // namespace v8 |
2006 | 1995 |
2007 #endif // V8_TARGET_ARCH_ARM | 1996 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |