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

Unified Diff: runtime/vm/constants_dbc.h

Issue 2098573004: DBC: CheckClassInstr (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fix bug, cleanup, add tests 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 4f8aab93ec22373f9d82a148e12da85e519ef39f..2f67ff8d97e5466fcd58c50531b7b284eebc04ef 100644
--- a/runtime/vm/constants_dbc.h
+++ b/runtime/vm/constants_dbc.h
@@ -358,6 +358,23 @@ namespace dart {
// If the object at FP[rA]'s class id matches hthe class id in PP[D], then
// skip the following instruction.
//
+// - CheckNull rA, D
+//
+// If D == 1, skip the following instruction when FP[rA] is non-null.
+// If D == 0, skip the following instruction when FP[rA] is null.
+//
+// - CheckDenseSwitchTOS rA, D
+//
+// Given ICData at PP[D], skips the next instruction if the object at FP[rA]
+// is a valid class for a dense switch with cid mask at SP[0], and low cid
+// value at SP[-1].
+//
+// - CheckForCid rA, D
+//
+// Skips the following instruction if FP[rA] is a Smi and the receiver
+// class of the ICData at PP[D] is a Smi, or if the cid of FP[rA] is found
+// in the cids of PP[D].
+//
// - CheckStack
//
// Compare SP against isolate stack limit and call StackOverflow handler if
@@ -503,6 +520,9 @@ namespace dart {
V(AssertBoolean, A, num, ___, ___) \
V(CheckSmi, A, reg, ___, ___) \
V(CheckClassId, A_D, reg, lit, ___) \
+ V(CheckNull, A_D, reg, num, ___) \
+ V(CheckDenseSwitchTOS, A_D, reg, lit, ___) \
+ V(CheckForCid, A_D, reg, lit, ___) \
V(CheckStack, 0, ___, ___, ___) \
V(DebugStep, 0, ___, ___, ___) \
V(DebugBreak, A, num, ___, ___) \

Powered by Google App Engine
This is Rietveld 408576698