OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_STACK_FRAME_H_ | 5 #ifndef VM_STACK_FRAME_H_ |
6 #define VM_STACK_FRAME_H_ | 6 #define VM_STACK_FRAME_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/object.h" | 9 #include "vm/object.h" |
10 #include "vm/stub_code.h" | 10 #include "vm/stub_code.h" |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 // dart code. | 143 // dart code. |
144 class EntryFrame : public StackFrame { | 144 class EntryFrame : public StackFrame { |
145 public: | 145 public: |
146 bool IsValid() const { | 146 bool IsValid() const { |
147 return StubCode::InInvocationStubForIsolate(isolate(), pc()); | 147 return StubCode::InInvocationStubForIsolate(isolate(), pc()); |
148 } | 148 } |
149 bool IsDartFrame(bool validate = true) const { return false; } | 149 bool IsDartFrame(bool validate = true) const { return false; } |
150 bool IsStubFrame() const { return false; } | 150 bool IsStubFrame() const { return false; } |
151 bool IsEntryFrame() const { return true; } | 151 bool IsEntryFrame() const { return true; } |
152 | 152 |
153 RawContext* SavedContext() const; | |
154 | |
155 // Visit objects in the frame. | 153 // Visit objects in the frame. |
156 virtual void VisitObjectPointers(ObjectPointerVisitor* visitor); | 154 virtual void VisitObjectPointers(ObjectPointerVisitor* visitor); |
157 | 155 |
158 protected: | 156 protected: |
159 virtual const char* GetName() const { return "entry"; } | 157 virtual const char* GetName() const { return "entry"; } |
160 | 158 |
161 private: | 159 private: |
162 explicit EntryFrame(Isolate* isolate) : StackFrame(isolate) { } | 160 explicit EntryFrame(Isolate* isolate) : StackFrame(isolate) { } |
163 | 161 |
164 friend class StackFrameIterator; | 162 friend class StackFrameIterator; |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 uword pc_; | 324 uword pc_; |
327 GrowableArray<DeoptInstr*> deopt_instructions_; | 325 GrowableArray<DeoptInstr*> deopt_instructions_; |
328 Array& object_table_; | 326 Array& object_table_; |
329 | 327 |
330 DISALLOW_COPY_AND_ASSIGN(InlinedFunctionsIterator); | 328 DISALLOW_COPY_AND_ASSIGN(InlinedFunctionsIterator); |
331 }; | 329 }; |
332 | 330 |
333 } // namespace dart | 331 } // namespace dart |
334 | 332 |
335 #endif // VM_STACK_FRAME_H_ | 333 #endif // VM_STACK_FRAME_H_ |
OLD | NEW |