Chromium Code Reviews| Index: src/debug.h |
| diff --git a/src/debug.h b/src/debug.h |
| index 7ec78015c6d2d65794b8f0f299444ccf570683b2..2ab3f2ae5d033328b984995fa3fb25902ec80dc0 100644 |
| --- a/src/debug.h |
| +++ b/src/debug.h |
| @@ -457,6 +457,49 @@ class Debug { |
| // Architecture-specific constant. |
| static const bool kFrameDropperSupported; |
| + /** |
| + * Defines layout of a stack frame that supports padding. This is a regular |
| + * internal frame that has a flexible stack structure. LiveEdit can shift |
| + * its lower part up the stack, taking up the 'padding' space when additional |
| + * stack memory is required. |
| + * Such frame is expected immediately above the topmost JavaScript frame. |
| + * |
| + * Stack Layout: |
| + * --- Top |
| + * LiveEdit routine frames |
| + * --- |
| + * C frames of debug handler |
| + * --- |
| + * ... |
| + * --- |
| + * An internal frame that has n padding words: |
| + * - any number of words as needed by code -- upper part of frame |
| + * - padding size: a Smi storing n -- current size of padding |
| + * - padding: n words filled with kPaddingValue in form of Smi |
| + * - 3 context/type words of a regular InternalFrame |
| + * - fp |
| + * --- |
| + * Topmost JavaScript frame |
| + * --- |
| + * ... |
| + * --- Bottom |
| + */ |
| + struct FramePaddingLayout : public AllStatic { |
|
Yang
2012/05/03 14:00:47
Even though not actually necessary, please make th
Peter Rybin
2012/05/03 17:07:11
Done.
|
| + // Architecture-specific constant. |
| + static const bool kIsSupported; |
| + |
| + // A size of frame base including fp. Padding words starts right above |
| + // the base. |
| + static const int kFrameBaseSize = 4; |
| + |
| + // A number of words that should be reserved on stack for the LiveEdit use. |
| + // Normally equals 1. Stored on stack in form of Smi. |
| + static const int kInitialSize; |
| + // A value that padding words are filled with (in form of Smi). Going |
| + // bottom-top, the first word not having this value is a counter word. |
| + static const int kPaddingValue; |
| + }; |
| + |
| private: |
| explicit Debug(Isolate* isolate); |
| ~Debug(); |