Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(438)

Unified Diff: runtime/vm/constants_mips.h

Issue 817593002: Improve generated MIPS code for conditional expressions and branches by delaying (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/assembler_mips.cc ('k') | runtime/vm/disassembler_mips.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,
« no previous file with comments | « runtime/vm/assembler_mips.cc ('k') | runtime/vm/disassembler_mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698