| Index: runtime/vm/constants_mips.h
|
| ===================================================================
|
| --- runtime/vm/constants_mips.h (revision 42554)
|
| +++ runtime/vm/constants_mips.h (working copy)
|
| @@ -45,6 +45,7 @@
|
| R30 = 30,
|
| R31 = 31,
|
| kNumberOfCpuRegisters = 32,
|
| + IMM = 32, // Positive value is easier to encode than kNoRegister in bitfield.
|
| kNoRegister = -1,
|
|
|
| // Register aliases.
|
| @@ -236,10 +237,12 @@
|
| const int kDartVolatileFpuRegCount = 20;
|
|
|
|
|
| -// Values for the condition field.
|
| -// There is no condition field on MIPS, but Conditions are used and passed
|
| -// around by the intermediate language, so we need them here, too.
|
| -enum Condition {
|
| +// There is no status register on MIPS. Instead of representing a condition
|
| +// code, type Condition (see assembler_mips.h) represents a pair of operands and
|
| +// a relation operator between them.
|
| +enum RelationOperator {
|
| + AL, // always
|
| + NV, // never
|
| EQ, // equal
|
| NE, // not equal
|
| GT, // greater than
|
| @@ -246,7 +249,10 @@
|
| GE, // greater equal
|
| LT, // less than
|
| LE, // less equal
|
| - VS, // overflow
|
| + UGT, // unsigned greater than
|
| + UGE, // unsigned greater equal
|
| + ULT, // unsigned less than
|
| + ULE, // unsigned less equal
|
| };
|
|
|
|
|
| @@ -361,7 +367,7 @@
|
| SYSCALL = 12,
|
| BREAK = 13,
|
| SYNC = 15,
|
| - MFHI =16,
|
| + MFHI = 16,
|
| MTHI = 17,
|
| MFLO = 18,
|
| MTLO = 19,
|
|
|