OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #ifndef V8_FRAMES_H_ | 5 #ifndef V8_FRAMES_H_ |
6 #define V8_FRAMES_H_ | 6 #define V8_FRAMES_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/handles.h" | 9 #include "src/handles.h" |
10 #include "src/safepoint-table.h" | 10 #include "src/safepoint-table.h" |
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 public: | 148 public: |
149 // FP-relative. | 149 // FP-relative. |
150 static const int kCodeOffset = StandardFrameConstants::kExpressionsOffset; | 150 static const int kCodeOffset = StandardFrameConstants::kExpressionsOffset; |
151 }; | 151 }; |
152 | 152 |
153 | 153 |
154 class ConstructFrameConstants : public AllStatic { | 154 class ConstructFrameConstants : public AllStatic { |
155 public: | 155 public: |
156 // FP-relative. | 156 // FP-relative. |
157 static const int kImplicitReceiverOffset = | 157 static const int kImplicitReceiverOffset = |
| 158 StandardFrameConstants::kExpressionsOffset - 4 * kPointerSize; |
| 159 static const int kOriginalConstructorOffset = |
158 StandardFrameConstants::kExpressionsOffset - 3 * kPointerSize; | 160 StandardFrameConstants::kExpressionsOffset - 3 * kPointerSize; |
159 static const int kOriginalConstructorOffset = | 161 static const int kLengthOffset = |
160 StandardFrameConstants::kExpressionsOffset - 2 * kPointerSize; | 162 StandardFrameConstants::kExpressionsOffset - 2 * kPointerSize; |
161 static const int kLengthOffset = | 163 static const int kAllocationSiteOffset = |
162 StandardFrameConstants::kExpressionsOffset - 1 * kPointerSize; | 164 StandardFrameConstants::kExpressionsOffset - 1 * kPointerSize; |
163 static const int kCodeOffset = | 165 static const int kCodeOffset = |
164 StandardFrameConstants::kExpressionsOffset - 0 * kPointerSize; | 166 StandardFrameConstants::kExpressionsOffset - 0 * kPointerSize; |
165 | 167 |
166 static const int kFrameSize = | 168 static const int kFrameSize = |
167 StandardFrameConstants::kFixedFrameSize + 4 * kPointerSize; | 169 StandardFrameConstants::kFixedFrameSize + 5 * kPointerSize; |
168 }; | 170 }; |
169 | 171 |
170 | 172 |
171 // Abstract base class for all stack frames. | 173 // Abstract base class for all stack frames. |
172 class StackFrame BASE_EMBEDDED { | 174 class StackFrame BASE_EMBEDDED { |
173 public: | 175 public: |
174 #define DECLARE_TYPE(type, ignore) type, | 176 #define DECLARE_TYPE(type, ignore) type, |
175 enum Type { | 177 enum Type { |
176 NONE = 0, | 178 NONE = 0, |
177 STACK_FRAME_TYPE_LIST(DECLARE_TYPE) | 179 STACK_FRAME_TYPE_LIST(DECLARE_TYPE) |
(...skipping 752 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
930 }; | 932 }; |
931 | 933 |
932 | 934 |
933 // Reads all frames on the current stack and copies them into the current | 935 // Reads all frames on the current stack and copies them into the current |
934 // zone memory. | 936 // zone memory. |
935 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); | 937 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); |
936 | 938 |
937 } } // namespace v8::internal | 939 } } // namespace v8::internal |
938 | 940 |
939 #endif // V8_FRAMES_H_ | 941 #endif // V8_FRAMES_H_ |
OLD | NEW |