Index: runtime/vm/stack_frame_mips.h |
diff --git a/runtime/vm/stack_frame_mips.h b/runtime/vm/stack_frame_mips.h |
index 142ed613c6720e0c812ec53a48878ec20b48c75b..3f7c7e5b384bc2c3fbd062613f2f6f9980bdb695 100644 |
--- a/runtime/vm/stack_frame_mips.h |
+++ b/runtime/vm/stack_frame_mips.h |
@@ -17,9 +17,9 @@ Callee frame | ... | |
Current frame | ... T| <- SP of current frame |
| first local T| |
| caller's PP T| |
+ | CODE_REG T| (current frame's code object) |
| caller's FP | <- FP of current frame |
| caller's RA | (PC of caller frame) |
- | PC marker | (current frame's code entry + offset) |
+--------------------+ |
Caller frame | last parameter | <- SP of caller frame |
| ... | |
@@ -28,20 +28,20 @@ Caller frame | last parameter | <- SP of caller frame |
*/ |
static const int kDartFrameFixedSize = 4; // PP, FP, RA, PC marker. |
-static const int kSavedPcSlotFromSp = -2; |
+static const int kSavedPcSlotFromSp = -1; |
static const int kFirstObjectSlotFromFp = -1; // Used by GC to traverse stack. |
-static const int kFirstLocalSlotFromFp = -2; |
-static const int kSavedCallerPpSlotFromFp = -1; |
+static const int kFirstLocalSlotFromFp = -3; |
+static const int kSavedCallerPpSlotFromFp = -2; |
+static const int kPcMarkerSlotFromFp = -1; |
static const int kSavedCallerFpSlotFromFp = 0; |
static const int kSavedCallerPcSlotFromFp = 1; |
-static const int kPcMarkerSlotFromFp = 2; |
-static const int kParamEndSlotFromFp = 2; // One slot past last parameter. |
-static const int kCallerSpSlotFromFp = 3; |
+static const int kParamEndSlotFromFp = 1; // One slot past last parameter. |
+static const int kCallerSpSlotFromFp = 2; |
// Entry and exit frame layout. |
-static const int kExitLinkSlotFromEntryFp = -23; |
+static const int kExitLinkSlotFromEntryFp = -24; |
} // namespace dart |