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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 virtual bool IsDartFrame(bool validate = true) const { | 70 virtual bool IsDartFrame(bool validate = true) const { |
71 ASSERT(!validate || IsValid()); | 71 ASSERT(!validate || IsValid()); |
72 return !(IsEntryFrame() || IsExitFrame() || IsStubFrame()); | 72 return !(IsEntryFrame() || IsExitFrame() || IsStubFrame()); |
73 } | 73 } |
74 virtual bool IsStubFrame() const; | 74 virtual bool IsStubFrame() const; |
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(Isolate* isolate, | 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 intptr_t GetTokenPos() const; |
86 | 86 |
87 protected: | 87 protected: |
88 explicit StackFrame(Isolate* isolate) | 88 explicit StackFrame(Isolate* isolate) |
89 : fp_(0), sp_(0), pc_(0), isolate_(isolate) { } | 89 : fp_(0), sp_(0), pc_(0), isolate_(isolate) { } |
90 | 90 |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 uword pc_; | 329 uword pc_; |
330 GrowableArray<DeoptInstr*> deopt_instructions_; | 330 GrowableArray<DeoptInstr*> deopt_instructions_; |
331 ObjectPool& object_table_; | 331 ObjectPool& object_table_; |
332 | 332 |
333 DISALLOW_COPY_AND_ASSIGN(InlinedFunctionsIterator); | 333 DISALLOW_COPY_AND_ASSIGN(InlinedFunctionsIterator); |
334 }; | 334 }; |
335 | 335 |
336 } // namespace dart | 336 } // namespace dart |
337 | 337 |
338 #endif // VM_STACK_FRAME_H_ | 338 #endif // VM_STACK_FRAME_H_ |
OLD | NEW |