[vm] Reorder fields in LinkedHashBase
Split off https://dart-review.googlesource.com/c/sdk/+/203765 to make
that diff smaller.
Serializing the index incurs a large size penalty to snapshots. Rather
than serializing, we reconstruct the index based on the hashes that we
do serialize for all canonical objects. (Reconstructing the index is a
relatively cheap operation, recomputing the hashes is not.)
Note that to_snapshot is currently dead code, because we never serialize
non-const maps and sets in clustered snapshots.
Of course we do exercise the layout of the maps and sets itself.
Bug: https://github.com/dart-lang/sdk/issues/45908
TEST=The whole test suite including all map and set tests.
Change-Id: If54117497029e4da212c702a76c82de6d1531092
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-debug-simarm_x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-nnbd-linux-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208086
Reviewed-by: Tess Strickland <sstrickl@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
diff --git a/runtime/vm/compiler/runtime_offsets_extracted.h b/runtime/vm/compiler/runtime_offsets_extracted.h
index cb011a5..99f76c0 100644
--- a/runtime/vm/compiler/runtime_offsets_extracted.h
+++ b/runtime/vm/compiler/runtime_offsets_extracted.h
@@ -195,16 +195,16 @@
IsolateGroup_cached_class_table_table_offset = 16;
static constexpr dart::compiler::target::word Isolate_single_step_offset = 36;
static constexpr dart::compiler::target::word Isolate_user_tag_offset = 16;
-static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 16;
+static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 12;
static constexpr dart::compiler::target::word
- LinkedHashBase_deleted_keys_offset = 24;
+ LinkedHashBase_deleted_keys_offset = 20;
static constexpr dart::compiler::target::word LinkedHashBase_hash_mask_offset =
- 12;
-static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 8;
+ 8;
+static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 24;
static constexpr dart::compiler::target::word
LinkedHashBase_type_arguments_offset = 4;
static constexpr dart::compiler::target::word LinkedHashBase_used_data_offset =
- 20;
+ 16;
static constexpr dart::compiler::target::word LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
MarkingStackBlock_pointers_offset = 8;
@@ -738,16 +738,16 @@
IsolateGroup_cached_class_table_table_offset = 32;
static constexpr dart::compiler::target::word Isolate_single_step_offset = 72;
static constexpr dart::compiler::target::word Isolate_user_tag_offset = 32;
-static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 32;
+static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 24;
static constexpr dart::compiler::target::word
- LinkedHashBase_deleted_keys_offset = 48;
+ LinkedHashBase_deleted_keys_offset = 40;
static constexpr dart::compiler::target::word LinkedHashBase_hash_mask_offset =
- 24;
-static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 16;
+ 16;
+static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 48;
static constexpr dart::compiler::target::word
LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word LinkedHashBase_used_data_offset =
- 40;
+ 32;
static constexpr dart::compiler::target::word LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
MarkingStackBlock_pointers_offset = 16;
@@ -1286,16 +1286,16 @@
IsolateGroup_cached_class_table_table_offset = 16;
static constexpr dart::compiler::target::word Isolate_single_step_offset = 36;
static constexpr dart::compiler::target::word Isolate_user_tag_offset = 16;
-static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 16;
+static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 12;
static constexpr dart::compiler::target::word
- LinkedHashBase_deleted_keys_offset = 24;
+ LinkedHashBase_deleted_keys_offset = 20;
static constexpr dart::compiler::target::word LinkedHashBase_hash_mask_offset =
- 12;
-static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 8;
+ 8;
+static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 24;
static constexpr dart::compiler::target::word
LinkedHashBase_type_arguments_offset = 4;
static constexpr dart::compiler::target::word LinkedHashBase_used_data_offset =
- 20;
+ 16;
static constexpr dart::compiler::target::word LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
MarkingStackBlock_pointers_offset = 8;
@@ -1826,16 +1826,16 @@
IsolateGroup_cached_class_table_table_offset = 32;
static constexpr dart::compiler::target::word Isolate_single_step_offset = 72;
static constexpr dart::compiler::target::word Isolate_user_tag_offset = 32;
-static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 32;
+static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 24;
static constexpr dart::compiler::target::word
- LinkedHashBase_deleted_keys_offset = 48;
+ LinkedHashBase_deleted_keys_offset = 40;
static constexpr dart::compiler::target::word LinkedHashBase_hash_mask_offset =
- 24;
-static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 16;
+ 16;
+static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 48;
static constexpr dart::compiler::target::word
LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word LinkedHashBase_used_data_offset =
- 40;
+ 32;
static constexpr dart::compiler::target::word LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
MarkingStackBlock_pointers_offset = 16;
@@ -2375,16 +2375,16 @@
IsolateGroup_cached_class_table_table_offset = 32;
static constexpr dart::compiler::target::word Isolate_single_step_offset = 72;
static constexpr dart::compiler::target::word Isolate_user_tag_offset = 32;
-static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 20;
+static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 16;
static constexpr dart::compiler::target::word
- LinkedHashBase_deleted_keys_offset = 28;
+ LinkedHashBase_deleted_keys_offset = 24;
static constexpr dart::compiler::target::word LinkedHashBase_hash_mask_offset =
- 16;
-static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 12;
+ 12;
+static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 28;
static constexpr dart::compiler::target::word
LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word LinkedHashBase_used_data_offset =
- 24;
+ 20;
static constexpr dart::compiler::target::word LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
MarkingStackBlock_pointers_offset = 16;
@@ -2923,16 +2923,16 @@
IsolateGroup_cached_class_table_table_offset = 32;
static constexpr dart::compiler::target::word Isolate_single_step_offset = 72;
static constexpr dart::compiler::target::word Isolate_user_tag_offset = 32;
-static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 20;
+static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 16;
static constexpr dart::compiler::target::word
- LinkedHashBase_deleted_keys_offset = 28;
+ LinkedHashBase_deleted_keys_offset = 24;
static constexpr dart::compiler::target::word LinkedHashBase_hash_mask_offset =
- 16;
-static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 12;
+ 12;
+static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 28;
static constexpr dart::compiler::target::word
LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word LinkedHashBase_used_data_offset =
- 24;
+ 20;
static constexpr dart::compiler::target::word LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
MarkingStackBlock_pointers_offset = 16;
@@ -3468,16 +3468,16 @@
static constexpr dart::compiler::target::word
IsolateGroup_cached_class_table_table_offset = 16;
static constexpr dart::compiler::target::word Isolate_user_tag_offset = 16;
-static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 16;
+static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 12;
static constexpr dart::compiler::target::word
- LinkedHashBase_deleted_keys_offset = 24;
+ LinkedHashBase_deleted_keys_offset = 20;
static constexpr dart::compiler::target::word LinkedHashBase_hash_mask_offset =
- 12;
-static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 8;
+ 8;
+static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 24;
static constexpr dart::compiler::target::word
LinkedHashBase_type_arguments_offset = 4;
static constexpr dart::compiler::target::word LinkedHashBase_used_data_offset =
- 20;
+ 16;
static constexpr dart::compiler::target::word LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
MarkingStackBlock_pointers_offset = 8;
@@ -4005,16 +4005,16 @@
static constexpr dart::compiler::target::word
IsolateGroup_cached_class_table_table_offset = 32;
static constexpr dart::compiler::target::word Isolate_user_tag_offset = 32;
-static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 32;
+static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 24;
static constexpr dart::compiler::target::word
- LinkedHashBase_deleted_keys_offset = 48;
+ LinkedHashBase_deleted_keys_offset = 40;
static constexpr dart::compiler::target::word LinkedHashBase_hash_mask_offset =
- 24;
-static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 16;
+ 16;
+static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 48;
static constexpr dart::compiler::target::word
LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word LinkedHashBase_used_data_offset =
- 40;
+ 32;
static constexpr dart::compiler::target::word LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
MarkingStackBlock_pointers_offset = 16;
@@ -4547,16 +4547,16 @@
static constexpr dart::compiler::target::word
IsolateGroup_cached_class_table_table_offset = 16;
static constexpr dart::compiler::target::word Isolate_user_tag_offset = 16;
-static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 16;
+static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 12;
static constexpr dart::compiler::target::word
- LinkedHashBase_deleted_keys_offset = 24;
+ LinkedHashBase_deleted_keys_offset = 20;
static constexpr dart::compiler::target::word LinkedHashBase_hash_mask_offset =
- 12;
-static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 8;
+ 8;
+static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 24;
static constexpr dart::compiler::target::word
LinkedHashBase_type_arguments_offset = 4;
static constexpr dart::compiler::target::word LinkedHashBase_used_data_offset =
- 20;
+ 16;
static constexpr dart::compiler::target::word LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
MarkingStackBlock_pointers_offset = 8;
@@ -5081,16 +5081,16 @@
static constexpr dart::compiler::target::word
IsolateGroup_cached_class_table_table_offset = 32;
static constexpr dart::compiler::target::word Isolate_user_tag_offset = 32;
-static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 32;
+static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 24;
static constexpr dart::compiler::target::word
- LinkedHashBase_deleted_keys_offset = 48;
+ LinkedHashBase_deleted_keys_offset = 40;
static constexpr dart::compiler::target::word LinkedHashBase_hash_mask_offset =
- 24;
-static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 16;
+ 16;
+static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 48;
static constexpr dart::compiler::target::word
LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word LinkedHashBase_used_data_offset =
- 40;
+ 32;
static constexpr dart::compiler::target::word LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
MarkingStackBlock_pointers_offset = 16;
@@ -5624,16 +5624,16 @@
static constexpr dart::compiler::target::word
IsolateGroup_cached_class_table_table_offset = 32;
static constexpr dart::compiler::target::word Isolate_user_tag_offset = 32;
-static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 20;
+static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 16;
static constexpr dart::compiler::target::word
- LinkedHashBase_deleted_keys_offset = 28;
+ LinkedHashBase_deleted_keys_offset = 24;
static constexpr dart::compiler::target::word LinkedHashBase_hash_mask_offset =
- 16;
-static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 12;
+ 12;
+static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 28;
static constexpr dart::compiler::target::word
LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word LinkedHashBase_used_data_offset =
- 24;
+ 20;
static constexpr dart::compiler::target::word LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
MarkingStackBlock_pointers_offset = 16;
@@ -6166,16 +6166,16 @@
static constexpr dart::compiler::target::word
IsolateGroup_cached_class_table_table_offset = 32;
static constexpr dart::compiler::target::word Isolate_user_tag_offset = 32;
-static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 20;
+static constexpr dart::compiler::target::word LinkedHashBase_data_offset = 16;
static constexpr dart::compiler::target::word
- LinkedHashBase_deleted_keys_offset = 28;
+ LinkedHashBase_deleted_keys_offset = 24;
static constexpr dart::compiler::target::word LinkedHashBase_hash_mask_offset =
- 16;
-static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 12;
+ 12;
+static constexpr dart::compiler::target::word LinkedHashBase_index_offset = 28;
static constexpr dart::compiler::target::word
LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word LinkedHashBase_used_data_offset =
- 24;
+ 20;
static constexpr dart::compiler::target::word LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
MarkingStackBlock_pointers_offset = 16;
@@ -6735,17 +6735,17 @@
36;
static constexpr dart::compiler::target::word AOT_Isolate_user_tag_offset = 16;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_data_offset =
- 16;
+ 12;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_deleted_keys_offset = 24;
+ AOT_LinkedHashBase_deleted_keys_offset = 20;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_hash_mask_offset = 12;
+ AOT_LinkedHashBase_hash_mask_offset = 8;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_index_offset =
- 8;
+ 24;
static constexpr dart::compiler::target::word
AOT_LinkedHashBase_type_arguments_offset = 4;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_used_data_offset = 20;
+ AOT_LinkedHashBase_used_data_offset = 16;
static constexpr dart::compiler::target::word AOT_LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
AOT_MarkingStackBlock_pointers_offset = 8;
@@ -7342,17 +7342,17 @@
72;
static constexpr dart::compiler::target::word AOT_Isolate_user_tag_offset = 32;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_data_offset =
- 32;
+ 24;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_deleted_keys_offset = 48;
+ AOT_LinkedHashBase_deleted_keys_offset = 40;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_hash_mask_offset = 24;
+ AOT_LinkedHashBase_hash_mask_offset = 16;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_index_offset =
- 16;
+ 48;
static constexpr dart::compiler::target::word
AOT_LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_used_data_offset = 40;
+ AOT_LinkedHashBase_used_data_offset = 32;
static constexpr dart::compiler::target::word AOT_LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
AOT_MarkingStackBlock_pointers_offset = 16;
@@ -7955,17 +7955,17 @@
72;
static constexpr dart::compiler::target::word AOT_Isolate_user_tag_offset = 32;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_data_offset =
- 32;
+ 24;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_deleted_keys_offset = 48;
+ AOT_LinkedHashBase_deleted_keys_offset = 40;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_hash_mask_offset = 24;
+ AOT_LinkedHashBase_hash_mask_offset = 16;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_index_offset =
- 16;
+ 48;
static constexpr dart::compiler::target::word
AOT_LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_used_data_offset = 40;
+ AOT_LinkedHashBase_used_data_offset = 32;
static constexpr dart::compiler::target::word AOT_LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
AOT_MarkingStackBlock_pointers_offset = 16;
@@ -8565,17 +8565,17 @@
72;
static constexpr dart::compiler::target::word AOT_Isolate_user_tag_offset = 32;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_data_offset =
- 20;
+ 16;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_deleted_keys_offset = 28;
+ AOT_LinkedHashBase_deleted_keys_offset = 24;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_hash_mask_offset = 16;
+ AOT_LinkedHashBase_hash_mask_offset = 12;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_index_offset =
- 12;
+ 28;
static constexpr dart::compiler::target::word
AOT_LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_used_data_offset = 24;
+ AOT_LinkedHashBase_used_data_offset = 20;
static constexpr dart::compiler::target::word AOT_LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
AOT_MarkingStackBlock_pointers_offset = 16;
@@ -9174,17 +9174,17 @@
72;
static constexpr dart::compiler::target::word AOT_Isolate_user_tag_offset = 32;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_data_offset =
- 20;
+ 16;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_deleted_keys_offset = 28;
+ AOT_LinkedHashBase_deleted_keys_offset = 24;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_hash_mask_offset = 16;
+ AOT_LinkedHashBase_hash_mask_offset = 12;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_index_offset =
- 12;
+ 28;
static constexpr dart::compiler::target::word
AOT_LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_used_data_offset = 24;
+ AOT_LinkedHashBase_used_data_offset = 20;
static constexpr dart::compiler::target::word AOT_LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
AOT_MarkingStackBlock_pointers_offset = 16;
@@ -9779,17 +9779,17 @@
AOT_IsolateGroup_cached_class_table_table_offset = 16;
static constexpr dart::compiler::target::word AOT_Isolate_user_tag_offset = 16;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_data_offset =
- 16;
+ 12;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_deleted_keys_offset = 24;
+ AOT_LinkedHashBase_deleted_keys_offset = 20;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_hash_mask_offset = 12;
+ AOT_LinkedHashBase_hash_mask_offset = 8;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_index_offset =
- 8;
+ 24;
static constexpr dart::compiler::target::word
AOT_LinkedHashBase_type_arguments_offset = 4;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_used_data_offset = 20;
+ AOT_LinkedHashBase_used_data_offset = 16;
static constexpr dart::compiler::target::word AOT_LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
AOT_MarkingStackBlock_pointers_offset = 8;
@@ -10379,17 +10379,17 @@
AOT_IsolateGroup_cached_class_table_table_offset = 32;
static constexpr dart::compiler::target::word AOT_Isolate_user_tag_offset = 32;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_data_offset =
- 32;
+ 24;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_deleted_keys_offset = 48;
+ AOT_LinkedHashBase_deleted_keys_offset = 40;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_hash_mask_offset = 24;
+ AOT_LinkedHashBase_hash_mask_offset = 16;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_index_offset =
- 16;
+ 48;
static constexpr dart::compiler::target::word
AOT_LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_used_data_offset = 40;
+ AOT_LinkedHashBase_used_data_offset = 32;
static constexpr dart::compiler::target::word AOT_LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
AOT_MarkingStackBlock_pointers_offset = 16;
@@ -10985,17 +10985,17 @@
AOT_IsolateGroup_cached_class_table_table_offset = 32;
static constexpr dart::compiler::target::word AOT_Isolate_user_tag_offset = 32;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_data_offset =
- 32;
+ 24;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_deleted_keys_offset = 48;
+ AOT_LinkedHashBase_deleted_keys_offset = 40;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_hash_mask_offset = 24;
+ AOT_LinkedHashBase_hash_mask_offset = 16;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_index_offset =
- 16;
+ 48;
static constexpr dart::compiler::target::word
AOT_LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_used_data_offset = 40;
+ AOT_LinkedHashBase_used_data_offset = 32;
static constexpr dart::compiler::target::word AOT_LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
AOT_MarkingStackBlock_pointers_offset = 16;
@@ -11588,17 +11588,17 @@
AOT_IsolateGroup_cached_class_table_table_offset = 32;
static constexpr dart::compiler::target::word AOT_Isolate_user_tag_offset = 32;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_data_offset =
- 20;
+ 16;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_deleted_keys_offset = 28;
+ AOT_LinkedHashBase_deleted_keys_offset = 24;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_hash_mask_offset = 16;
+ AOT_LinkedHashBase_hash_mask_offset = 12;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_index_offset =
- 12;
+ 28;
static constexpr dart::compiler::target::word
AOT_LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_used_data_offset = 24;
+ AOT_LinkedHashBase_used_data_offset = 20;
static constexpr dart::compiler::target::word AOT_LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
AOT_MarkingStackBlock_pointers_offset = 16;
@@ -12190,17 +12190,17 @@
AOT_IsolateGroup_cached_class_table_table_offset = 32;
static constexpr dart::compiler::target::word AOT_Isolate_user_tag_offset = 32;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_data_offset =
- 20;
+ 16;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_deleted_keys_offset = 28;
+ AOT_LinkedHashBase_deleted_keys_offset = 24;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_hash_mask_offset = 16;
+ AOT_LinkedHashBase_hash_mask_offset = 12;
static constexpr dart::compiler::target::word AOT_LinkedHashBase_index_offset =
- 12;
+ 28;
static constexpr dart::compiler::target::word
AOT_LinkedHashBase_type_arguments_offset = 8;
static constexpr dart::compiler::target::word
- AOT_LinkedHashBase_used_data_offset = 24;
+ AOT_LinkedHashBase_used_data_offset = 20;
static constexpr dart::compiler::target::word AOT_LocalHandle_ptr_offset = 0;
static constexpr dart::compiler::target::word
AOT_MarkingStackBlock_pointers_offset = 16;
diff --git a/runtime/vm/raw_object.h b/runtime/vm/raw_object.h
index 3f7adfe..ac076be 100644
--- a/runtime/vm/raw_object.h
+++ b/runtime/vm/raw_object.h
@@ -3011,13 +3011,17 @@
COMPRESSED_POINTER_FIELD(TypeArgumentsPtr, type_arguments)
VISIT_FROM(type_arguments)
- COMPRESSED_POINTER_FIELD(TypedDataPtr, index)
COMPRESSED_POINTER_FIELD(SmiPtr, hash_mask)
COMPRESSED_POINTER_FIELD(ArrayPtr, data)
COMPRESSED_POINTER_FIELD(SmiPtr, used_data)
COMPRESSED_POINTER_FIELD(SmiPtr, deleted_keys)
- VISIT_TO(deleted_keys)
- CompressedObjectPtr* to_snapshot(Snapshot::Kind kind) { return to(); }
+ COMPRESSED_POINTER_FIELD(TypedDataPtr, index)
+ VISIT_TO(index)
+
+ CompressedObjectPtr* to_snapshot(Snapshot::Kind kind) {
+ // Do not serialize index.
+ return reinterpret_cast<CompressedObjectPtr*>(&deleted_keys_);
+ }
};
class UntaggedLinkedHashMap : public UntaggedLinkedHashBase {