| 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 427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 virtual void ComputeCallerState(State* state) const; | 438 virtual void ComputeCallerState(State* state) const; |
| 439 | 439 |
| 440 // Accessors. | 440 // Accessors. |
| 441 inline Address caller_fp() const; | 441 inline Address caller_fp() const; |
| 442 inline Address caller_pc() const; | 442 inline Address caller_pc() const; |
| 443 | 443 |
| 444 // Computes the address of the PC field in the standard frame given | 444 // Computes the address of the PC field in the standard frame given |
| 445 // by the provided frame pointer. | 445 // by the provided frame pointer. |
| 446 static inline Address ComputePCAddress(Address fp); | 446 static inline Address ComputePCAddress(Address fp); |
| 447 | 447 |
| 448 // Computes the address of the constant pool field in the standard | 448 // Computes the address of the constant pool field in the standard |
| 449 // frame given by the provided frame pointer. | 449 // frame given by the provided frame pointer. |
| 450 static inline Address ComputeConstantPoolAddress(Address fp); | 450 static inline Address ComputeConstantPoolAddress(Address fp); |
| 451 | 451 |
| 452 // Iterate over expression stack including stack handlers, locals, | 452 // Iterate over expression stack including stack handlers, locals, |
| 453 // and parts of the fixed part including context and code fields. | 453 // and parts of the fixed part including context and code fields. |
| 454 void IterateExpressions(ObjectVisitor* v) const; | 454 void IterateExpressions(ObjectVisitor* v) const; |
| 455 | 455 |
| 456 // Returns the address of the n'th expression stack element. | 456 // Returns the address of the n'th expression stack element. |
| 457 Address GetExpressionAddress(int n) const; | 457 Address GetExpressionAddress(int n) const; |
| 458 static Address GetExpressionAddress(Address fp, int n); | 458 static Address GetExpressionAddress(Address fp, int n); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 505 | 505 |
| 506 | 506 |
| 507 class JavaScriptFrame: public StandardFrame { | 507 class JavaScriptFrame: public StandardFrame { |
| 508 public: | 508 public: |
| 509 virtual Type type() const { return JAVA_SCRIPT; } | 509 virtual Type type() const { return JAVA_SCRIPT; } |
| 510 | 510 |
| 511 // Accessors. | 511 // Accessors. |
| 512 inline JSFunction* function() const; | 512 inline JSFunction* function() const; |
| 513 inline Object* receiver() const; | 513 inline Object* receiver() const; |
| 514 inline void set_receiver(Object* value); | 514 inline void set_receiver(Object* value); |
| 515 inline Object* NewTarget() const; |
| 515 | 516 |
| 516 // Access the parameters. | 517 // Access the parameters. |
| 517 inline Address GetParameterSlot(int index) const; | 518 inline Address GetParameterSlot(int index) const; |
| 518 inline Object* GetParameter(int index) const; | 519 inline Object* GetParameter(int index) const; |
| 519 inline int ComputeParametersCount() const { | 520 inline int ComputeParametersCount() const { |
| 520 return GetNumberOfIncomingArguments(); | 521 return GetNumberOfIncomingArguments(); |
| 521 } | 522 } |
| 522 | 523 |
| 523 // Access the operand stack. | 524 // Access the operand stack. |
| 524 inline Address GetOperandSlot(int index) const; | 525 inline Address GetOperandSlot(int index) const; |
| (...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 897 }; | 898 }; |
| 898 | 899 |
| 899 | 900 |
| 900 // Reads all frames on the current stack and copies them into the current | 901 // Reads all frames on the current stack and copies them into the current |
| 901 // zone memory. | 902 // zone memory. |
| 902 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); | 903 Vector<StackFrame*> CreateStackMap(Isolate* isolate, Zone* zone); |
| 903 | 904 |
| 904 } } // namespace v8::internal | 905 } } // namespace v8::internal |
| 905 | 906 |
| 906 #endif // V8_FRAMES_H_ | 907 #endif // V8_FRAMES_H_ |
| OLD | NEW |