Index: src/mips/frames-mips.h |
diff --git a/src/mips/frames-mips.h b/src/mips/frames-mips.h |
index 788bd4eef5815bd647cb7b96e8ce195d0727ff62..fd93e8b28002aa3a2454dd865c5d4fcf7432e1c1 100644 |
--- a/src/mips/frames-mips.h |
+++ b/src/mips/frames-mips.h |
@@ -101,22 +101,24 @@ class EntryFrameConstants : public AllStatic { |
class ExitFrameConstants : public AllStatic { |
public: |
- static const int kDebugMarkOffset = -1 * kPointerSize; |
- // Must be the same as kDebugMarkOffset. Alias introduced when upgrading. |
- static const int kCodeOffset = -1 * kPointerSize; |
- static const int kSPOffset = -1 * kPointerSize; |
+ // See some explanation in MacroAssembler::EnterExitFrame. |
+ // This marks the top of the extra allocated stack space. |
+ static const int kStackSpaceOffset = -3 * kPointerSize; |
+ |
+ static const int kCodeOffset = -2 * kPointerSize; |
- // TODO(mips): Use a patched sp value on the stack instead. |
- // A marker of 0 indicates that double registers are saved. |
- static const int kMarkerOffset = -2 * kPointerSize; |
+ static const int kSPOffset = -1 * kPointerSize; |
// The caller fields are below the frame pointer on the stack. |
static const int kCallerFPOffset = +0 * kPointerSize; |
// The calling JS function is between FP and PC. |
static const int kCallerPCOffset = +1 * kPointerSize; |
+ // MIPS-specific: a pointer to the old sp to avoid unnecessary calculations. |
+ static const int kCallerSPOffset = +2 * kPointerSize; |
+ |
// FP-relative displacement of the caller's SP. |
- static const int kCallerSPDisplacement = +3 * kPointerSize; |
+ static const int kCallerSPDisplacement = +2 * kPointerSize; |
}; |