Index: runtime/vm/stack_frame_mips.h |
=================================================================== |
--- runtime/vm/stack_frame_mips.h (revision 0) |
+++ runtime/vm/stack_frame_mips.h (revision 0) |
@@ -0,0 +1,35 @@ |
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+#ifndef VM_STACK_FRAME_MIPS_H_ |
+#define VM_STACK_FRAME_MIPS_H_ |
+ |
+namespace dart { |
+ |
+/* MIPS Dart Frame Layout |
+ |
+ | | <- TOS |
+Callee frame | ... | |
+ | current RA | (PC of current frame) |
+ | PC Marker | (callee's frame code entry) |
+ +-------------------+ |
+Current frame | ... | <- SP of current frame |
+ | first local | |
+ | caller's PP | |
+ | caller's FP | <- FP of current frame |
+ | caller's RA | (PC of caller frame) |
+ | PC Marker | (current frame's code entry) |
+ +-------------------+ |
+Caller frame | last parameter | |
+ | ... | |
+*/ |
+ |
+static const int kLastParamSlotIndex = 3; // From fp. |
+static const int kFirstLocalSlotIndex = -2; // From fp. |
+static const int kPcSlotIndexFromSp = -2; |
+ |
+} // namespace dart |
+ |
+#endif // VM_STACK_FRAME_MIPS_H_ |
+ |