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_CONSTANTS_MIPS_H_ | 5 #ifndef VM_CONSTANTS_MIPS_H_ |
6 #define VM_CONSTANTS_MIPS_H_ | 6 #define VM_CONSTANTS_MIPS_H_ |
7 | 7 |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 | 9 |
10 namespace dart { | 10 namespace dart { |
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 // Register aliases. | 178 // Register aliases. |
179 const Register TMP = AT; // Used as scratch register by assembler. | 179 const Register TMP = AT; // Used as scratch register by assembler. |
180 const Register TMP2 = kNoRegister; // No second assembler scratch register. | 180 const Register TMP2 = kNoRegister; // No second assembler scratch register. |
181 const Register CTX = S6; // Location of current context at method entry. | 181 const Register CTX = S6; // Location of current context at method entry. |
182 const Register PP = S7; // Caches object pool pointer in generated code. | 182 const Register PP = S7; // Caches object pool pointer in generated code. |
183 const Register SPREG = SP; // Stack pointer register. | 183 const Register SPREG = SP; // Stack pointer register. |
184 const Register FPREG = FP; // Frame pointer register. | 184 const Register FPREG = FP; // Frame pointer register. |
185 const Register LRREG = RA; // Link register. | 185 const Register LRREG = RA; // Link register. |
186 const Register ICREG = S5; // IC data register. | 186 const Register ICREG = S5; // IC data register. |
187 const Register ARGS_DESC_REG = S4; | 187 const Register ARGS_DESC_REG = S4; |
| 188 const Register THR = S3; // Caches current thread in generated code. |
188 | 189 |
189 // The code that generates a comparison can be far away from the code that | 190 // The code that generates a comparison can be far away from the code that |
190 // generates the branch that uses the result of that comparison. In this case, | 191 // generates the branch that uses the result of that comparison. In this case, |
191 // CMPRES1 and CMPRES2 are used for the results of the comparison. We need two | 192 // CMPRES1 and CMPRES2 are used for the results of the comparison. We need two |
192 // since TMP is clobbered by a far branch. | 193 // since TMP is clobbered by a far branch. |
193 const Register CMPRES1 = T8; | 194 const Register CMPRES1 = T8; |
194 const Register CMPRES2 = T9; | 195 const Register CMPRES2 = T9; |
195 | 196 |
196 // Exception object is passed in this register to the catch handlers when an | 197 // Exception object is passed in this register to the catch handlers when an |
197 // exception is thrown. | 198 // exception is thrown. |
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
639 #endif // defined(DEBUG) | 640 #endif // defined(DEBUG) |
640 | 641 |
641 private: | 642 private: |
642 DISALLOW_ALLOCATION(); | 643 DISALLOW_ALLOCATION(); |
643 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); | 644 DISALLOW_IMPLICIT_CONSTRUCTORS(Instr); |
644 }; | 645 }; |
645 | 646 |
646 } // namespace dart | 647 } // namespace dart |
647 | 648 |
648 #endif // VM_CONSTANTS_MIPS_H_ | 649 #endif // VM_CONSTANTS_MIPS_H_ |
OLD | NEW |