| OLD | NEW | 
|---|
| 1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a | 
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef VM_STACK_FRAME_MIPS_H_ | 5 #ifndef VM_STACK_FRAME_MIPS_H_ | 
| 6 #define VM_STACK_FRAME_MIPS_H_ | 6 #define VM_STACK_FRAME_MIPS_H_ | 
| 7 | 7 | 
| 8 namespace dart { | 8 namespace dart { | 
| 9 | 9 | 
| 10 /* MIPS Dart Frame Layout | 10 /* MIPS Dart Frame Layout | 
| 11 | 11 | 
| 12                |                   | <- TOS | 12                |                    | <- TOS | 
| 13 Callee frame   | ...               | | 13 Callee frame   | ...                | | 
| 14                | current RA        |    (PC of current frame) | 14                | current RA         |    (PC of current frame) | 
| 15                | PC Marker         |    (callee's frame code entry) | 15                | callee's PC marker | | 
| 16                +-------------------+ | 16                +--------------------+ | 
| 17 Current frame  | ...               | <- SP of current frame | 17 Current frame  | ...                | <- SP of current frame | 
| 18                | first local       | | 18                | first local        | | 
| 19                | caller's PP       | | 19                | caller's PP        | | 
| 20                | caller's FP       | <- FP of current frame | 20                | caller's FP        | <- FP of current frame | 
| 21                | caller's RA       |    (PC of caller frame) | 21                | caller's RA        |    (PC of caller frame) | 
| 22                | PC Marker         |    (current frame's code entry) | 22                | PC marker          |    (current frame's code entry + offset) | 
| 23                +-------------------+ | 23                +--------------------+ | 
| 24 Caller frame   | last parameter    | | 24 Caller frame   | last parameter     | <- SP of caller frame | 
| 25                |  ...              | | 25                |  ...               | | 
| 26 */ | 26 */ | 
| 27 | 27 | 
| 28 static const int kLastParamSlotIndex = 3;  // From fp. | 28 static const int kSavedPcSlotFromSp = -2; | 
| 29 static const int kFirstLocalSlotIndex = -2;  // From fp. | 29 static const int kFirstLocalSlotFromFp = -2; | 
| 30 static const int kPcSlotIndexFromSp = -2; | 30 static const int kSavedCallerFpSlotFromFp = 0; | 
|  | 31 static const int kPcMarkerSlotFromFp = 2; | 
|  | 32 static const int kParamEndSlotFromFp = 2;  // Same slot as current pc marker. | 
|  | 33 static const int kCallerSpSlotFromFp = 3; | 
|  | 34 | 
|  | 35 // Entry and exit frame layout. | 
|  | 36 static const int kSavedContextSlotFromEntryFp = -11; | 
|  | 37 static const int kExitLinkSlotFromEntryFp = -10; | 
| 31 | 38 | 
| 32 }  // namespace dart | 39 }  // namespace dart | 
| 33 | 40 | 
| 34 #endif  // VM_STACK_FRAME_MIPS_H_ | 41 #endif  // VM_STACK_FRAME_MIPS_H_ | 
| 35 | 42 | 
| OLD | NEW | 
|---|