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 #include "vm/stack_frame.h" | 5 #include "vm/stack_frame.h" |
6 | 6 |
7 #include "vm/code_index_table.h" | 7 #include "vm/code_index_table.h" |
8 #include "vm/isolate.h" | 8 #include "vm/isolate.h" |
9 #include "vm/object.h" | 9 #include "vm/object.h" |
10 #include "vm/object_store.h" | 10 #include "vm/object_store.h" |
| 11 #include "vm/os.h" |
11 #include "vm/raw_object.h" | 12 #include "vm/raw_object.h" |
12 #include "vm/stub_code.h" | 13 #include "vm/stub_code.h" |
13 #include "vm/visitor.h" | 14 #include "vm/visitor.h" |
14 | 15 |
15 namespace dart { | 16 namespace dart { |
16 | 17 |
17 void StackFrame::Print() const { | 18 void StackFrame::Print() const { |
18 UNIMPLEMENTED(); | 19 OS::Print("[%-8s : sp(%p) ]\n", GetName(), sp()); |
19 } | 20 } |
20 | 21 |
21 | 22 |
22 void ExitFrame::VisitObjectPointers(ObjectPointerVisitor* visitor) { | 23 void ExitFrame::VisitObjectPointers(ObjectPointerVisitor* visitor) { |
23 // There are no objects to visit in this frame. | 24 // There are no objects to visit in this frame. |
24 } | 25 } |
25 | 26 |
26 | 27 |
27 void EntryFrame::VisitObjectPointers(ObjectPointerVisitor* visitor) { | 28 void EntryFrame::VisitObjectPointers(ObjectPointerVisitor* visitor) { |
28 // Visit objects between SP and (FP - callee_save_area). | 29 // Visit objects between SP and (FP - callee_save_area). |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 EntryFrame* StackFrameIterator::NextEntryFrame() { | 180 EntryFrame* StackFrameIterator::NextEntryFrame() { |
180 ASSERT(!frames_.HasNext()); | 181 ASSERT(!frames_.HasNext()); |
181 entry_.sp_ = frames_.sp_; | 182 entry_.sp_ = frames_.sp_; |
182 entry_.fp_ = frames_.fp_; | 183 entry_.fp_ = frames_.fp_; |
183 SetupNextExitFrameData(); // Setup data for next exit frame in chain. | 184 SetupNextExitFrameData(); // Setup data for next exit frame in chain. |
184 ASSERT(entry_.IsValid()); | 185 ASSERT(entry_.IsValid()); |
185 return &entry_; | 186 return &entry_; |
186 } | 187 } |
187 | 188 |
188 } // namespace dart | 189 } // namespace dart |
OLD | NEW |