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 505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
516 void IterateCompiledFrame(ObjectVisitor* v) const; | 516 void IterateCompiledFrame(ObjectVisitor* v) const; |
517 | 517 |
518 private: | 518 private: |
519 friend class StackFrame; | 519 friend class StackFrame; |
520 friend class SafeStackFrameIterator; | 520 friend class SafeStackFrameIterator; |
521 }; | 521 }; |
522 | 522 |
523 | 523 |
524 class FrameSummary BASE_EMBEDDED { | 524 class FrameSummary BASE_EMBEDDED { |
525 public: | 525 public: |
526 FrameSummary(Object* receiver, | 526 FrameSummary(Object* receiver, JSFunction* function, Code* code, int offset, |
527 JSFunction* function, | 527 bool is_constructor); |
528 Code* code, | 528 |
529 int offset, | |
530 bool is_constructor) | |
531 : receiver_(receiver, function->GetIsolate()), | |
532 function_(function), | |
533 code_(code), | |
534 offset_(offset), | |
535 is_constructor_(is_constructor) { } | |
536 Handle<Object> receiver() { return receiver_; } | 529 Handle<Object> receiver() { return receiver_; } |
537 Handle<JSFunction> function() { return function_; } | 530 Handle<JSFunction> function() { return function_; } |
538 Handle<Code> code() { return code_; } | 531 Handle<Code> code() { return code_; } |
539 Address pc() { return code_->address() + offset_; } | 532 Address pc() { return code_->address() + offset_; } |
540 int offset() { return offset_; } | 533 int offset() { return offset_; } |
541 bool is_constructor() { return is_constructor_; } | 534 bool is_constructor() { return is_constructor_; } |
542 | 535 |
543 void Print(); | 536 void Print(); |
544 | 537 |
545 private: | 538 private: |
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
947 }; | 940 }; |
948 | 941 |
949 | 942 |
950 // Reads all frames on the current stack and copies them into the current | 943 // Reads all frames on the current stack and copies them into the current |
951 // zone memory. | 944 // zone memory. |
952 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); | 945 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); |
953 | 946 |
954 } } // namespace v8::internal | 947 } } // namespace v8::internal |
955 | 948 |
956 #endif // V8_FRAMES_H_ | 949 #endif // V8_FRAMES_H_ |
OLD | NEW |