Chromium Code Reviews| 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 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 225 DISALLOW_COPY_AND_ASSIGN(DartFrameIterator); | 225 DISALLOW_COPY_AND_ASSIGN(DartFrameIterator); |
| 226 }; | 226 }; |
| 227 | 227 |
| 228 | 228 |
| 229 // Iterator for iterating over all inlined dart functions in an optimized | 229 // Iterator for iterating over all inlined dart functions in an optimized |
| 230 // dart frame (the iteration includes the function that is inlining the | 230 // dart frame (the iteration includes the function that is inlining the |
| 231 // other functions). | 231 // other functions). |
| 232 class InlinedFunctionsInDartFrameIterator : public ValueObject { | 232 class InlinedFunctionsInDartFrameIterator : public ValueObject { |
| 233 public: | 233 public: |
| 234 explicit InlinedFunctionsInDartFrameIterator(StackFrame* frame); | 234 explicit InlinedFunctionsInDartFrameIterator(StackFrame* frame); |
| 235 RawFunction* GetNextFunction(uword* pc); | 235 RawFunction* GetNextFunction(uword* pc, Code* code); |
| 236 | 236 |
| 237 private: | 237 private: |
| 238 intptr_t index_; | 238 intptr_t index_; |
| 239 StackFrame* frame_; | 239 StackFrame* frame_; |
| 240 Function& func_; | 240 Function& func_; |
| 241 DeoptInfo& deopt_info_; | 241 DeoptInfo& deopt_info_; |
| 242 GrowableArray<DeoptInstr*> deopt_instructions_; | |
|
siva
2013/01/28 22:46:55
See comment about adding this array in stack_frame
Florian Schneider
2013/01/29 12:19:07
I simplified the code for the iterator a bit (see
| |
| 242 Array& object_table_; | 243 Array& object_table_; |
| 243 | 244 |
| 244 DISALLOW_COPY_AND_ASSIGN(InlinedFunctionsInDartFrameIterator); | 245 DISALLOW_COPY_AND_ASSIGN(InlinedFunctionsInDartFrameIterator); |
| 245 }; | 246 }; |
| 246 | 247 |
| 247 } // namespace dart | 248 } // namespace dart |
| 248 | 249 |
| 249 #endif // VM_STACK_FRAME_H_ | 250 #endif // VM_STACK_FRAME_H_ |
| OLD | NEW |