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 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 virtual bool IsDartFrame() const { | 65 virtual bool IsDartFrame() const { |
66 ASSERT(IsValid()); | 66 ASSERT(IsValid()); |
67 return !(IsEntryFrame() || IsExitFrame() || IsStubFrame()); | 67 return !(IsEntryFrame() || IsExitFrame() || IsStubFrame()); |
68 } | 68 } |
69 virtual bool IsStubFrame() const; | 69 virtual bool IsStubFrame() const; |
70 virtual bool IsEntryFrame() const { return false; } | 70 virtual bool IsEntryFrame() const { return false; } |
71 virtual bool IsExitFrame() const { return false; } | 71 virtual bool IsExitFrame() const { return false; } |
72 | 72 |
73 RawFunction* LookupDartFunction() const; | 73 RawFunction* LookupDartFunction() const; |
74 RawCode* LookupDartCode() const; | 74 RawCode* LookupDartCode() const; |
75 bool FindExceptionHandler(uword* handler_pc, | 75 bool FindExceptionHandler(Isolate* isolate, |
| 76 uword* handler_pc, |
76 bool* needs_stacktrace, | 77 bool* needs_stacktrace, |
77 bool* is_catch_all) const; | 78 bool* is_catch_all) const; |
78 // Returns token_pos of the pc(), or -1 if none exists. | 79 // Returns token_pos of the pc(), or -1 if none exists. |
79 intptr_t GetTokenPos() const; | 80 intptr_t GetTokenPos() const; |
80 | 81 |
81 protected: | 82 protected: |
82 StackFrame() : fp_(0), sp_(0), pc_(0) { } | 83 StackFrame() : fp_(0), sp_(0), pc_(0) { } |
83 | 84 |
84 // Name of the frame, used for generic frame printing functionality. | 85 // Name of the frame, used for generic frame printing functionality. |
85 virtual const char* GetName() const { return IsStubFrame()? "stub" : "dart"; } | 86 virtual const char* GetName() const { return IsStubFrame()? "stub" : "dart"; } |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
296 uword pc_; | 297 uword pc_; |
297 GrowableArray<DeoptInstr*> deopt_instructions_; | 298 GrowableArray<DeoptInstr*> deopt_instructions_; |
298 Array& object_table_; | 299 Array& object_table_; |
299 | 300 |
300 DISALLOW_COPY_AND_ASSIGN(InlinedFunctionsIterator); | 301 DISALLOW_COPY_AND_ASSIGN(InlinedFunctionsIterator); |
301 }; | 302 }; |
302 | 303 |
303 } // namespace dart | 304 } // namespace dart |
304 | 305 |
305 #endif // VM_STACK_FRAME_H_ | 306 #endif // VM_STACK_FRAME_H_ |
OLD | NEW |