OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_FRAMES_H_ | 5 #ifndef V8_FRAMES_H_ |
6 #define V8_FRAMES_H_ | 6 #define V8_FRAMES_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/handles.h" | 9 #include "src/handles.h" |
10 #include "src/safepoint-table.h" | 10 #include "src/safepoint-table.h" |
(...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
543 virtual void Iterate(ObjectVisitor* v) const; | 543 virtual void Iterate(ObjectVisitor* v) const; |
544 | 544 |
545 // Printing support. | 545 // Printing support. |
546 virtual void Print(StringStream* accumulator, | 546 virtual void Print(StringStream* accumulator, |
547 PrintMode mode, | 547 PrintMode mode, |
548 int index) const; | 548 int index) const; |
549 | 549 |
550 // Determine the code for the frame. | 550 // Determine the code for the frame. |
551 virtual Code* unchecked_code() const; | 551 virtual Code* unchecked_code() const; |
552 | 552 |
553 // Returns the levels of inlining for this frame. | |
554 virtual int GetInlineCount() { return 1; } | |
555 | |
556 // Return a list with JSFunctions of this frame. | 553 // Return a list with JSFunctions of this frame. |
557 virtual void GetFunctions(List<JSFunction*>* functions); | 554 virtual void GetFunctions(List<JSFunction*>* functions); |
558 | 555 |
559 // Build a list with summaries for this frame including all inlined frames. | 556 // Build a list with summaries for this frame including all inlined frames. |
560 virtual void Summarize(List<FrameSummary>* frames); | 557 virtual void Summarize(List<FrameSummary>* frames); |
561 | 558 |
562 // Lookup exception handler for current {pc}, returns -1 if none found. Also | 559 // Lookup exception handler for current {pc}, returns -1 if none found. Also |
563 // returns the expected number of stack slots at the handler site. | 560 // returns the expected number of stack slots at the handler site. |
564 virtual int LookupExceptionHandlerInTable( | 561 virtual int LookupExceptionHandlerInTable( |
565 int* stack_slots, HandlerTable::CatchPrediction* prediction); | 562 int* stack_slots, HandlerTable::CatchPrediction* prediction); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
620 }; | 617 }; |
621 | 618 |
622 | 619 |
623 class OptimizedFrame : public JavaScriptFrame { | 620 class OptimizedFrame : public JavaScriptFrame { |
624 public: | 621 public: |
625 virtual Type type() const { return OPTIMIZED; } | 622 virtual Type type() const { return OPTIMIZED; } |
626 | 623 |
627 // GC support. | 624 // GC support. |
628 virtual void Iterate(ObjectVisitor* v) const; | 625 virtual void Iterate(ObjectVisitor* v) const; |
629 | 626 |
630 virtual int GetInlineCount(); | |
631 | |
632 // Return a list with JSFunctions of this frame. | 627 // Return a list with JSFunctions of this frame. |
633 // The functions are ordered bottom-to-top (i.e. functions.last() | 628 // The functions are ordered bottom-to-top (i.e. functions.last() |
634 // is the top-most activation) | 629 // is the top-most activation) |
635 virtual void GetFunctions(List<JSFunction*>* functions); | 630 virtual void GetFunctions(List<JSFunction*>* functions); |
636 | 631 |
637 virtual void Summarize(List<FrameSummary>* frames); | 632 virtual void Summarize(List<FrameSummary>* frames); |
638 | 633 |
639 // Lookup exception handler for current {pc}, returns -1 if none found. Also | 634 // Lookup exception handler for current {pc}, returns -1 if none found. Also |
640 // returns the expected number of stack slots at the handler site. | 635 // returns the expected number of stack slots at the handler site. |
641 virtual int LookupExceptionHandlerInTable( | 636 virtual int LookupExceptionHandlerInTable( |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
897 }; | 892 }; |
898 | 893 |
899 | 894 |
900 // Reads all frames on the current stack and copies them into the current | 895 // Reads all frames on the current stack and copies them into the current |
901 // zone memory. | 896 // zone memory. |
902 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); | 897 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); |
903 | 898 |
904 } } // namespace v8::internal | 899 } } // namespace v8::internal |
905 | 900 |
906 #endif // V8_FRAMES_H_ | 901 #endif // V8_FRAMES_H_ |
OLD | NEW |