blob: 8a32a3818c9a09440e06ad59ecb74a551fd96a0d [file] [log] [blame]
// 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_