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 515 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
526 // Generator support to preserve operand stack. | 526 // Generator support to preserve operand stack. |
527 void SaveOperandStack(FixedArray* store) const; | 527 void SaveOperandStack(FixedArray* store) const; |
528 void RestoreOperandStack(FixedArray* store); | 528 void RestoreOperandStack(FixedArray* store); |
529 | 529 |
530 // Debugger access. | 530 // Debugger access. |
531 void SetParameterValue(int index, Object* value) const; | 531 void SetParameterValue(int index, Object* value) const; |
532 | 532 |
533 // Check if this frame is a constructor frame invoked through 'new'. | 533 // Check if this frame is a constructor frame invoked through 'new'. |
534 bool IsConstructor() const; | 534 bool IsConstructor() const; |
535 | 535 |
| 536 // Returns the original constructor function that was used in the constructor |
| 537 // call to this frame. Note that this is only valid on constructor frames. |
| 538 Object* GetOriginalConstructor() const; |
| 539 |
536 // Check if this frame has "adapted" arguments in the sense that the | 540 // Check if this frame has "adapted" arguments in the sense that the |
537 // actual passed arguments are available in an arguments adaptor | 541 // actual passed arguments are available in an arguments adaptor |
538 // frame below it on the stack. | 542 // frame below it on the stack. |
539 inline bool has_adapted_arguments() const; | 543 inline bool has_adapted_arguments() const; |
540 int GetArgumentsLength() const; | 544 int GetArgumentsLength() const; |
541 | 545 |
542 // Garbage collection support. | 546 // Garbage collection support. |
543 virtual void Iterate(ObjectVisitor* v) const; | 547 virtual void Iterate(ObjectVisitor* v) const; |
544 | 548 |
545 // Printing support. | 549 // Printing support. |
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
892 }; | 896 }; |
893 | 897 |
894 | 898 |
895 // Reads all frames on the current stack and copies them into the current | 899 // Reads all frames on the current stack and copies them into the current |
896 // zone memory. | 900 // zone memory. |
897 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); | 901 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); |
898 | 902 |
899 } } // namespace v8::internal | 903 } } // namespace v8::internal |
900 | 904 |
901 #endif // V8_FRAMES_H_ | 905 #endif // V8_FRAMES_H_ |
OLD | NEW |