| Index: src/frames.h
|
| diff --git a/src/frames.h b/src/frames.h
|
| index 678191b950a0172a37f62a78fb9533f977502613..3c44f5e5b4586a323bbec112c41d87b55b063000 100644
|
| --- a/src/frames.h
|
| +++ b/src/frames.h
|
| @@ -93,6 +93,7 @@ class StackHandlerConstants : public AllStatic {
|
| static const int kFPOffset = 4 * kPointerSize;
|
|
|
| static const int kSize = kFPOffset + kPointerSize;
|
| + static const int kSlotCount = kSize >> kPointerSizeLog2;
|
| };
|
|
|
|
|
| @@ -131,9 +132,15 @@ class StackHandler BASE_EMBEDDED {
|
| inline bool is_catch() const;
|
| inline bool is_finally() const;
|
|
|
| + // Generator support to preserve stack handlers.
|
| + void Unwind(Isolate* isolate, FixedArray* array, int offset,
|
| + int previous_handler_offset) const;
|
| + int Rewind(Isolate* isolate, FixedArray* array, int offset, Address fp);
|
| +
|
| private:
|
| // Accessors.
|
| inline Kind kind() const;
|
| + inline unsigned index() const;
|
|
|
| inline Object** context_address() const;
|
| inline Object** code_address() const;
|
| @@ -541,6 +548,10 @@ class JavaScriptFrame: public StandardFrame {
|
| inline Object* GetOperand(int index) const;
|
| inline int ComputeOperandsCount() const;
|
|
|
| + // Generator support to preserve operand stack and stack handlers.
|
| + void SaveOperandStack(FixedArray* store, int* stack_handler_index) const;
|
| + void RestoreOperandStack(FixedArray* store, int stack_handler_index);
|
| +
|
| // Debugger access.
|
| void SetParameterValue(int index, Object* value) const;
|
|
|
|
|