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

Unified Diff: runtime/vm/constants_dbc.h

Issue 2076773002: DBC: Adds UnarySmiOp instruction, etc. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Change back to Drop1 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
« no previous file with comments | « runtime/vm/assembler_dbc_test.cc ('k') | runtime/vm/intermediate_language_dbc.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/constants_dbc.h
diff --git a/runtime/vm/constants_dbc.h b/runtime/vm/constants_dbc.h
index 17ead89c2a74a99beab06a606e612fc61e630111..4f8aab93ec22373f9d82a148e12da85e519ef39f 100644
--- a/runtime/vm/constants_dbc.h
+++ b/runtime/vm/constants_dbc.h
@@ -172,12 +172,21 @@ namespace dart {
// the immediately following instruction is skipped. These instructions
// expect their operands to be Smis, but don't check that they are.
//
+// - Neg rA , rD
+//
+// FP[rA] <- -FP[rD]. Assumes FP[rD] is a Smi. If there is no overflow the
+// immediately following instruction is skipped.
+//
// - BitOr, BitAnd, BitXor rA, rB, rC
//
// FP[rA] <- FP[rB] op FP[rC]. These instructions expect their operands to be
// Smis, but don't check that they are.
//
-// - StoreStaticTOS D
+// - BitNot rA, rD
+//
+// FP[rA] <- ~FP[rD]. As above, assumes FP[rD] is a Smi.
+//
+// - StoreStaticT`OS D
//
// Stores TOS into the static field PP[D].
//
@@ -344,6 +353,11 @@ namespace dart {
//
// If FP[rA] is a Smi, then skip the next instruction.
//
+// - CheckClassId rA, D
+//
+// If the object at FP[rA]'s class id matches hthe class id in PP[D], then
+// skip the following instruction.
+//
// - CheckStack
//
// Compare SP against isolate stack limit and call StackOverflow handler if
@@ -445,11 +459,13 @@ namespace dart {
V(Mul, A_B_C, reg, reg, reg) \
V(Div, A_B_C, reg, reg, reg) \
V(Mod, A_B_C, reg, reg, reg) \
+ V(Shl, A_B_C, reg, reg, reg) \
+ V(Shr, A_B_C, reg, reg, reg) \
+ V(Neg, A_D, reg, reg, ___) \
V(BitOr, A_B_C, reg, reg, reg) \
V(BitAnd, A_B_C, reg, reg, reg) \
V(BitXor, A_B_C, reg, reg, reg) \
- V(Shl, A_B_C, reg, reg, reg) \
- V(Shr, A_B_C, reg, reg, reg) \
+ V(BitNot, A_D, reg, reg, ___) \
V(StoreStaticTOS, D, lit, ___, ___) \
V(PushStatic, D, lit, ___, ___) \
V(InitStaticTOS, 0, ___, ___, ___) \
@@ -486,6 +502,7 @@ namespace dart {
V(AssertAssignable, D, num, lit, ___) \
V(AssertBoolean, A, num, ___, ___) \
V(CheckSmi, A, reg, ___, ___) \
+ V(CheckClassId, A_D, reg, lit, ___) \
V(CheckStack, 0, ___, ___, ___) \
V(DebugStep, 0, ___, ___, ___) \
V(DebugBreak, A, num, ___, ___) \
« no previous file with comments | « runtime/vm/assembler_dbc_test.cc ('k') | runtime/vm/intermediate_language_dbc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698