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

Unified Diff: runtime/vm/constants_dbc.h

Issue 2113563002: DBC: Various instructions. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Add unsigned integer compares Created 4 years, 6 months 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
Index: runtime/vm/constants_dbc.h
diff --git a/runtime/vm/constants_dbc.h b/runtime/vm/constants_dbc.h
index 5d901b8c8febf157af6b199296f1ee3a0fd1b735..e077a3730c1311aeb9b616fcc59192e697d0cf24 100644
--- a/runtime/vm/constants_dbc.h
+++ b/runtime/vm/constants_dbc.h
@@ -228,6 +228,12 @@ namespace dart {
// Cond is Eq or Ne. Skips the next instruction unless the given condition
// holds.
//
+// - If<Cond> rA, rD
+//
+// Cond is Le, Lt, Ge, Gt, or unsigned variants ULe, ULt, UGe, UGt.
+// Skips the next instruction unless FP[rA] <Cond> FP[rD]. Assumes that
+// FP[rA] and FP[rD] are Smis.
+//
// - CreateArrayTOS
//
// Allocate array of length SP[0] with type arguments SP[-1].
@@ -250,6 +256,11 @@ namespace dart {
// Store rC into array rA at index rB. No typechecking is done.
// rA is assumed to be a RawArray, rB to be a smi.
//
+// - LoadIndexed rA, rB, rC
+//
+// Loads from array FP[rB] at index FP[rC] into FP[rA]. No typechecking is
+// done. FP[rB] is assumed to be a RawArray, and to contain a Smi at FP[rC].
+//
// - StoreField rA, B, rC
//
// Store value FP[rC] into object FP[rA] at offset (in words) B.
@@ -517,6 +528,14 @@ namespace dart {
V(IfEqStrictNumTOS, 0, ___, ___, ___) \
V(IfNeStrict, A_D, reg, reg, ___) \
V(IfEqStrict, A_D, reg, reg, ___) \
+ V(IfLe, A_D, reg, reg, ___) \
+ V(IfLt, A_D, reg, reg, ___) \
+ V(IfGe, A_D, reg, reg, ___) \
+ V(IfGt, A_D, reg, reg, ___) \
+ V(IfULe, A_D, reg, reg, ___) \
+ V(IfULt, A_D, reg, reg, ___) \
+ V(IfUGe, A_D, reg, reg, ___) \
+ V(IfUGt, A_D, reg, reg, ___) \
V(IfNeStrictNum, A_D, reg, reg, ___) \
V(IfEqStrictNum, A_D, reg, reg, ___) \
V(IfEqNull, A, reg, ___, ___) \
@@ -526,6 +545,7 @@ namespace dart {
V(AllocateT, 0, ___, ___, ___) \
V(StoreIndexedTOS, 0, ___, ___, ___) \
V(StoreIndexed, A_B_C, reg, reg, reg) \
+ V(LoadIndexed, A_B_C, reg, reg, reg) \
V(StoreField, A_B_C, reg, num, reg) \
V(StoreFieldTOS, D, num, ___, ___) \
V(LoadField, A_B_C, reg, reg, num) \

Powered by Google App Engine
This is Rietveld 408576698