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

Unified Diff: runtime/vm/constants_dbc.h

Issue 2399333003: DBC: Support large offsets in optimized field access. (Closed)
Patch Set: addressed comments Created 4 years, 2 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 | « no previous file | runtime/vm/flow_graph_compiler_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 44398aaa22d704c49b29cc7f5ae4c06a2ef6f07a..d3d6b9fc1d3bf9bf7003cae0fad30a96c1a44cd3 100644
--- a/runtime/vm/constants_dbc.h
+++ b/runtime/vm/constants_dbc.h
@@ -396,6 +396,12 @@ namespace dart {
//
// Store value FP[rC] into object FP[rA] at offset (in words) B.
//
+// - StoreFieldExt rA, rD
+//
+// Store value FP[rD] into object FP[rA] at offset (in words)
+// stored in the following Nop instruction. Used to access fields with
+// large offsets.
+//
// - StoreFieldTOS D
//
// Store value SP[0] into object SP[-1] at offset (in words) D.
@@ -404,6 +410,12 @@ namespace dart {
//
// Load value at offset (in words) C from object FP[rB] into FP[rA].
//
+// - LoadFieldExt rA, rD
+//
+// Load value from object FP[rD] at offset (in words) stored in the
+// following Nop instruction into FP[rA]. Used to access fields with
+// large offsets.
+//
// - LoadUntagged rA, rB, C
//
// Like LoadField, but assumes that FP[rB] is untagged.
@@ -758,8 +770,10 @@ namespace dart {
V(LoadIndexedOneByteString, A_B_C, reg, reg, reg) \
V(LoadIndexedTwoByteString, A_B_C, reg, reg, reg) \
V(StoreField, A_B_C, reg, num, reg) \
+ V(StoreFieldExt, A_D, reg, reg, ___) \
V(StoreFieldTOS, D, num, ___, ___) \
V(LoadField, A_B_C, reg, reg, num) \
+ V(LoadFieldExt, A_D, reg, reg, ___) \
V(LoadUntagged, A_B_C, reg, reg, num) \
V(LoadFieldTOS, D, num, ___, ___) \
V(BooleanNegateTOS, 0, ___, ___, ___) \
« no previous file with comments | « no previous file | runtime/vm/flow_graph_compiler_dbc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698