Index: runtime/vm/stack_frame_mips.h |
diff --git a/runtime/vm/stack_frame_mips.h b/runtime/vm/stack_frame_mips.h |
index 75869af3ca7a2255a281a6735c4e91cf6df9a94d..142ed613c6720e0c812ec53a48878ec20b48c75b 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,17 +28,17 @@ Caller frame | last parameter | <- SP of caller frame |
*/ |
static const int kDartFrameFixedSize = 4; // PP, FP, RA, PC marker. |
-static const int kSavedPcSlotFromSp = -1; |
+static const int kSavedPcSlotFromSp = -2; |
static const int kFirstObjectSlotFromFp = -1; // Used by GC to traverse stack. |
-static const int kFirstLocalSlotFromFp = -3; |
-static const int kSavedCallerPpSlotFromFp = -2; |
-static const int kPcMarkerSlotFromFp = -1; |
+static const int kFirstLocalSlotFromFp = -2; |
+static const int kSavedCallerPpSlotFromFp = -1; |
static const int kSavedCallerFpSlotFromFp = 0; |
static const int kSavedCallerPcSlotFromFp = 1; |
-static const int kParamEndSlotFromFp = 1; // One slot past last parameter. |
-static const int kCallerSpSlotFromFp = 2; |
+static const int kPcMarkerSlotFromFp = 2; |
+static const int kParamEndSlotFromFp = 2; // One slot past last parameter. |
+static const int kCallerSpSlotFromFp = 3; |
// Entry and exit frame layout. |
static const int kExitLinkSlotFromEntryFp = -23; |