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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 virtual bool IsEntryFrame() const { return false; } | 75 virtual bool IsEntryFrame() const { return false; } |
76 virtual bool IsExitFrame() const { return false; } | 76 virtual bool IsExitFrame() const { return false; } |
77 | 77 |
78 RawFunction* LookupDartFunction() const; | 78 RawFunction* LookupDartFunction() const; |
79 RawCode* LookupDartCode() const; | 79 RawCode* LookupDartCode() const; |
80 bool FindExceptionHandler(Thread* thread, | 80 bool FindExceptionHandler(Thread* thread, |
81 uword* handler_pc, | 81 uword* handler_pc, |
82 bool* needs_stacktrace, | 82 bool* needs_stacktrace, |
83 bool* is_catch_all) const; | 83 bool* is_catch_all) const; |
84 // Returns token_pos of the pc(), or -1 if none exists. | 84 // Returns token_pos of the pc(), or -1 if none exists. |
85 intptr_t GetTokenPos() const; | 85 TokenPosition GetTokenPos() const; |
86 | 86 |
87 protected: | 87 protected: |
88 explicit StackFrame(Thread* thread) | 88 explicit StackFrame(Thread* thread) |
89 : fp_(0), sp_(0), pc_(0), thread_(thread) { } | 89 : fp_(0), sp_(0), pc_(0), thread_(thread) { } |
90 | 90 |
91 // Name of the frame, used for generic frame printing functionality. | 91 // Name of the frame, used for generic frame printing functionality. |
92 virtual const char* GetName() const { return IsStubFrame()? "stub" : "dart"; } | 92 virtual const char* GetName() const { return IsStubFrame()? "stub" : "dart"; } |
93 | 93 |
94 Isolate* isolate() const { return thread_->isolate(); } | 94 Isolate* isolate() const { return thread_->isolate(); } |
95 | 95 |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 uword pc_; | 332 uword pc_; |
333 GrowableArray<DeoptInstr*> deopt_instructions_; | 333 GrowableArray<DeoptInstr*> deopt_instructions_; |
334 ObjectPool& object_table_; | 334 ObjectPool& object_table_; |
335 | 335 |
336 DISALLOW_COPY_AND_ASSIGN(InlinedFunctionsIterator); | 336 DISALLOW_COPY_AND_ASSIGN(InlinedFunctionsIterator); |
337 }; | 337 }; |
338 | 338 |
339 } // namespace dart | 339 } // namespace dart |
340 | 340 |
341 #endif // VM_STACK_FRAME_H_ | 341 #endif // VM_STACK_FRAME_H_ |
OLD | NEW |