| 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 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 | 254 |
| 255 DISALLOW_COPY_AND_ASSIGN(DartFrameIterator); | 255 DISALLOW_COPY_AND_ASSIGN(DartFrameIterator); |
| 256 }; | 256 }; |
| 257 | 257 |
| 258 | 258 |
| 259 // Iterator for iterating over all inlined dart functions in an optimized | 259 // Iterator for iterating over all inlined dart functions in an optimized |
| 260 // dart frame (the iteration includes the function that is inlining the | 260 // dart frame (the iteration includes the function that is inlining the |
| 261 // other functions). | 261 // other functions). |
| 262 class InlinedFunctionsIterator : public ValueObject { | 262 class InlinedFunctionsIterator : public ValueObject { |
| 263 public: | 263 public: |
| 264 explicit InlinedFunctionsIterator(StackFrame* frame); | 264 InlinedFunctionsIterator(const Code& code, uword pc); |
| 265 bool Done() const { return index_ == -1; } | 265 bool Done() const { return index_ == -1; } |
| 266 void Advance(); | 266 void Advance(); |
| 267 | 267 |
| 268 RawFunction* function() const { | 268 RawFunction* function() const { |
| 269 ASSERT(!Done()); | 269 ASSERT(!Done()); |
| 270 return function_.raw(); | 270 return function_.raw(); |
| 271 } | 271 } |
| 272 | 272 |
| 273 uword pc() const { | 273 uword pc() const { |
| 274 ASSERT(!Done()); | 274 ASSERT(!Done()); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 290 uword pc_; | 290 uword pc_; |
| 291 GrowableArray<DeoptInstr*> deopt_instructions_; | 291 GrowableArray<DeoptInstr*> deopt_instructions_; |
| 292 Array& object_table_; | 292 Array& object_table_; |
| 293 | 293 |
| 294 DISALLOW_COPY_AND_ASSIGN(InlinedFunctionsIterator); | 294 DISALLOW_COPY_AND_ASSIGN(InlinedFunctionsIterator); |
| 295 }; | 295 }; |
| 296 | 296 |
| 297 } // namespace dart | 297 } // namespace dart |
| 298 | 298 |
| 299 #endif // VM_STACK_FRAME_H_ | 299 #endif // VM_STACK_FRAME_H_ |
| OLD | NEW |