Version 2.14.0-356.0.dev
Merge commit 'c49560cd3724e63336e002ce945d78c1bb0ab6c6' into 'dev'
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 264bbc2..3555b29 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -703,7 +703,8 @@
if (count == 0) {
push(NullValue.Metadata);
} else {
- push(const GrowableList<Expression>().pop(stack, count) ??
+ push(const GrowableList<Expression>()
+ .popNonNullable(stack, count, dummyExpression) ??
NullValue.Metadata /* Ignore parser recovery */);
}
}
diff --git a/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart b/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
index e11111a..946ce03 100644
--- a/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
@@ -6343,9 +6343,10 @@
Set<Field?>? enumFields;
if (expressionType is InterfaceType && expressionType.classNode.isEnum) {
- enumFields = expressionType.classNode.fields
- .where((Field field) => field.isConst && field.type == expressionType)
- .toSet();
+ enumFields = <Field?>{
+ ...expressionType.classNode.fields.where(
+ (Field field) => field.isConst && field.type == expressionType)
+ };
if (expressionType.isPotentiallyNullable) {
enumFields.add(null);
}
diff --git a/runtime/platform/utils.h b/runtime/platform/utils.h
index a1d6b1b..84366eb 100644
--- a/runtime/platform/utils.h
+++ b/runtime/platform/utils.h
@@ -417,34 +417,26 @@
return ((-0x20000000000000LL <= value) && (value <= 0x20000000000000LL));
}
- static constexpr uword NBitMaskUnsafe(uint32_t n) {
- static_assert((sizeof(uword) * kBitsPerByte) == kBitsPerWord,
- "Unexpected uword size");
- return n == kBitsPerWord ? std::numeric_limits<uword>::max()
- : (static_cast<uword>(1) << n) - 1;
- }
-
// The lowest n bits are 1, the others are 0.
- static uword NBitMask(uint32_t n) {
- ASSERT(n <= kBitsPerWord);
- return NBitMaskUnsafe(n);
- }
-
- static word SignedNBitMask(uint32_t n) {
- uword mask = NBitMask(n);
- return bit_cast<word>(mask);
+ template <typename T = uword>
+ static constexpr T NBitMask(size_t n) {
+ using Unsigned = typename std::make_unsigned<T>::type;
+ constexpr size_t kBitsPerT = sizeof(T) * kBitsPerByte;
+ assert(n <= sizeof(T) * kBitsPerT);
+ return static_cast<T>(n == kBitsPerT ? std::numeric_limits<Unsigned>::max()
+ : (static_cast<Unsigned>(1) << n) - 1);
}
template <typename T = uword>
- static T Bit(uint32_t n) {
+ static constexpr T Bit(size_t n) {
ASSERT(n < sizeof(T) * kBitsPerByte);
T bit = 1;
return bit << n;
}
template <typename T>
- DART_FORCE_INLINE static bool TestBit(T mask, intptr_t position) {
- ASSERT(position < static_cast<intptr_t>(sizeof(T) * kBitsPerByte));
+ static constexpr bool TestBit(T mask, size_t position) {
+ ASSERT(position < sizeof(T) * kBitsPerByte);
return ((mask >> position) & 1) != 0;
}
diff --git a/runtime/vm/clustered_snapshot.cc b/runtime/vm/clustered_snapshot.cc
index 4a6ac6b..b7e0aef 100644
--- a/runtime/vm/clustered_snapshot.cc
+++ b/runtime/vm/clustered_snapshot.cc
@@ -5583,6 +5583,7 @@
DECLARE_OBJECT_STORE_FIELD,
DECLARE_OBJECT_STORE_FIELD,
DECLARE_OBJECT_STORE_FIELD,
+ DECLARE_OBJECT_STORE_FIELD,
DECLARE_OBJECT_STORE_FIELD)
#undef DECLARE_OBJECT_STORE_FIELD
};
diff --git a/runtime/vm/code_descriptors.h b/runtime/vm/code_descriptors.h
index 0d15c38..ac29be7 100644
--- a/runtime/vm/code_descriptors.h
+++ b/runtime/vm/code_descriptors.h
@@ -209,7 +209,7 @@
using ArgField = BitField<int32_t, int32_t, OpField::kNextBit>;
static constexpr int32_t kMaxArgValue =
- Utils::NBitMaskUnsafe(ArgField::bitsize() - 1);
+ Utils::NBitMask<int32_t>(ArgField::bitsize() - 1);
static constexpr int32_t kMinArgValue = ~kMaxArgValue;
static constexpr int32_t kSignBits = static_cast<uint32_t>(kMinArgValue) << 1;
};
diff --git a/runtime/vm/compiler/aot/precompiler.cc b/runtime/vm/compiler/aot/precompiler.cc
index 14d118a..35ca895 100644
--- a/runtime/vm/compiler/aot/precompiler.cc
+++ b/runtime/vm/compiler/aot/precompiler.cc
@@ -612,7 +612,6 @@
IG->object_store()->set_pragma_name(null_field);
IG->object_store()->set_pragma_options(null_field);
IG->object_store()->set_completer_class(null_class);
- IG->object_store()->set_symbol_class(null_class);
IG->object_store()->set_compiletime_error_class(null_class);
IG->object_store()->set_growable_list_factory(null_function);
IG->object_store()->set_simple_instance_of_function(null_function);
diff --git a/runtime/vm/compiler/backend/il_arm.cc b/runtime/vm/compiler/backend/il_arm.cc
index 0c07ad2..5ede916 100644
--- a/runtime/vm/compiler/backend/il_arm.cc
+++ b/runtime/vm/compiler/backend/il_arm.cc
@@ -779,8 +779,8 @@
const intptr_t kCpuRegistersToPreserve =
kDartAvailableCpuRegs & ~kNonChangeableInputRegs;
const intptr_t kFpuRegistersToPreserve =
- Utils::SignedNBitMask(kNumberOfFpuRegisters) &
- ~(Utils::SignedNBitMask(kAbiPreservedFpuRegCount)
+ Utils::NBitMask<intptr_t>(kNumberOfFpuRegisters) &
+ ~(Utils::NBitMask<intptr_t>(kAbiPreservedFpuRegCount)
<< kAbiFirstPreservedFpuReg) &
~(1 << FpuTMP);
diff --git a/runtime/vm/compiler/backend/il_arm64.cc b/runtime/vm/compiler/backend/il_arm64.cc
index d8cebd7..9484c260 100644
--- a/runtime/vm/compiler/backend/il_arm64.cc
+++ b/runtime/vm/compiler/backend/il_arm64.cc
@@ -699,7 +699,7 @@
const intptr_t kCpuRegistersToPreserve =
kDartAvailableCpuRegs & ~kNonChangeableInputRegs;
const intptr_t kFpuRegistersToPreserve =
- Utils::SignedNBitMask(kNumberOfFpuRegisters) & ~(1l << FpuTMP);
+ Utils::NBitMask<intptr_t>(kNumberOfFpuRegisters) & ~(1l << FpuTMP);
const intptr_t kNumTemps = (Utils::CountOneBits64(kCpuRegistersToPreserve) +
Utils::CountOneBits64(kFpuRegistersToPreserve));
diff --git a/runtime/vm/compiler/runtime_offsets_extracted.h b/runtime/vm/compiler/runtime_offsets_extracted.h
index e1f330e..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;
@@ -220,11 +220,12 @@
12;
static constexpr dart::compiler::target::word NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word ObjectStore_double_type_offset =
- 176;
-static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 116;
+ 184;
+static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 124;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
- 204;
-static constexpr dart::compiler::target::word ObjectStore_type_type_offset = 96;
+ 212;
+static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
+ 104;
static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
static constexpr dart::compiler::target::word PointerBase_data_field_offset = 4;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -737,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;
@@ -762,12 +763,12 @@
24;
static constexpr dart::compiler::target::word NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word ObjectStore_double_type_offset =
- 352;
-static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 232;
+ 368;
+static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 248;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
- 408;
+ 424;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_field_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -1285,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;
@@ -1310,11 +1311,12 @@
12;
static constexpr dart::compiler::target::word NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word ObjectStore_double_type_offset =
- 176;
-static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 116;
+ 184;
+static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 124;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
- 204;
-static constexpr dart::compiler::target::word ObjectStore_type_type_offset = 96;
+ 212;
+static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
+ 104;
static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
static constexpr dart::compiler::target::word PointerBase_data_field_offset = 4;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -1824,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;
@@ -1849,12 +1851,12 @@
24;
static constexpr dart::compiler::target::word NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word ObjectStore_double_type_offset =
- 352;
-static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 232;
+ 368;
+static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 248;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
- 408;
+ 424;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_field_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -2373,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;
@@ -2398,12 +2400,12 @@
24;
static constexpr dart::compiler::target::word NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word ObjectStore_double_type_offset =
- 352;
-static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 232;
+ 368;
+static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 248;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
- 408;
+ 424;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_field_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -2921,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;
@@ -2946,12 +2948,12 @@
24;
static constexpr dart::compiler::target::word NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word ObjectStore_double_type_offset =
- 352;
-static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 232;
+ 368;
+static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 248;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
- 408;
+ 424;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_field_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -3466,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;
@@ -3491,11 +3493,12 @@
12;
static constexpr dart::compiler::target::word NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word ObjectStore_double_type_offset =
- 176;
-static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 116;
+ 184;
+static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 124;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
- 204;
-static constexpr dart::compiler::target::word ObjectStore_type_type_offset = 96;
+ 212;
+static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
+ 104;
static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
static constexpr dart::compiler::target::word PointerBase_data_field_offset = 4;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -4002,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;
@@ -4027,12 +4030,12 @@
24;
static constexpr dart::compiler::target::word NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word ObjectStore_double_type_offset =
- 352;
-static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 232;
+ 368;
+static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 248;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
- 408;
+ 424;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_field_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -4544,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;
@@ -4569,11 +4572,12 @@
12;
static constexpr dart::compiler::target::word NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word ObjectStore_double_type_offset =
- 176;
-static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 116;
+ 184;
+static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 124;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
- 204;
-static constexpr dart::compiler::target::word ObjectStore_type_type_offset = 96;
+ 212;
+static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
+ 104;
static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
static constexpr dart::compiler::target::word PointerBase_data_field_offset = 4;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -5077,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;
@@ -5102,12 +5106,12 @@
24;
static constexpr dart::compiler::target::word NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word ObjectStore_double_type_offset =
- 352;
-static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 232;
+ 368;
+static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 248;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
- 408;
+ 424;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_field_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -5620,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;
@@ -5645,12 +5649,12 @@
24;
static constexpr dart::compiler::target::word NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word ObjectStore_double_type_offset =
- 352;
-static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 232;
+ 368;
+static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 248;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
- 408;
+ 424;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_field_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -6162,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;
@@ -6187,12 +6191,12 @@
24;
static constexpr dart::compiler::target::word NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word ObjectStore_double_type_offset =
- 352;
-static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 232;
+ 368;
+static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 248;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
- 408;
+ 424;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_field_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -6731,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;
@@ -6761,13 +6765,13 @@
static constexpr dart::compiler::target::word
AOT_NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_double_type_offset = 176;
+ AOT_ObjectStore_double_type_offset = 184;
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
- 116;
+ 124;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_string_type_offset = 204;
+ AOT_ObjectStore_string_type_offset = 212;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
- 96;
+ 104;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
12;
static constexpr dart::compiler::target::word
@@ -7338,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;
@@ -7368,13 +7372,13 @@
static constexpr dart::compiler::target::word
AOT_NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_double_type_offset = 352;
+ AOT_ObjectStore_double_type_offset = 368;
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
- 232;
+ 248;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_string_type_offset = 408;
+ AOT_ObjectStore_string_type_offset = 424;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word
@@ -7951,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;
@@ -7981,13 +7985,13 @@
static constexpr dart::compiler::target::word
AOT_NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_double_type_offset = 352;
+ AOT_ObjectStore_double_type_offset = 368;
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
- 232;
+ 248;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_string_type_offset = 408;
+ AOT_ObjectStore_string_type_offset = 424;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word
@@ -8561,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;
@@ -8591,13 +8595,13 @@
static constexpr dart::compiler::target::word
AOT_NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_double_type_offset = 352;
+ AOT_ObjectStore_double_type_offset = 368;
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
- 232;
+ 248;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_string_type_offset = 408;
+ AOT_ObjectStore_string_type_offset = 424;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word
@@ -9170,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;
@@ -9200,13 +9204,13 @@
static constexpr dart::compiler::target::word
AOT_NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_double_type_offset = 352;
+ AOT_ObjectStore_double_type_offset = 368;
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
- 232;
+ 248;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_string_type_offset = 408;
+ AOT_ObjectStore_string_type_offset = 424;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word
@@ -9775,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;
@@ -9805,13 +9809,13 @@
static constexpr dart::compiler::target::word
AOT_NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_double_type_offset = 176;
+ AOT_ObjectStore_double_type_offset = 184;
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
- 116;
+ 124;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_string_type_offset = 204;
+ AOT_ObjectStore_string_type_offset = 212;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
- 96;
+ 104;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
12;
static constexpr dart::compiler::target::word
@@ -10375,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;
@@ -10405,13 +10409,13 @@
static constexpr dart::compiler::target::word
AOT_NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_double_type_offset = 352;
+ AOT_ObjectStore_double_type_offset = 368;
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
- 232;
+ 248;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_string_type_offset = 408;
+ AOT_ObjectStore_string_type_offset = 424;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word
@@ -10981,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;
@@ -11011,13 +11015,13 @@
static constexpr dart::compiler::target::word
AOT_NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_double_type_offset = 352;
+ AOT_ObjectStore_double_type_offset = 368;
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
- 232;
+ 248;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_string_type_offset = 408;
+ AOT_ObjectStore_string_type_offset = 424;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word
@@ -11584,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;
@@ -11614,13 +11618,13 @@
static constexpr dart::compiler::target::word
AOT_NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_double_type_offset = 352;
+ AOT_ObjectStore_double_type_offset = 368;
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
- 232;
+ 248;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_string_type_offset = 408;
+ AOT_ObjectStore_string_type_offset = 424;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word
@@ -12186,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;
@@ -12216,13 +12220,13 @@
static constexpr dart::compiler::target::word
AOT_NativeArguments_thread_offset = 0;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_double_type_offset = 352;
+ AOT_ObjectStore_double_type_offset = 368;
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
- 232;
+ 248;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_string_type_offset = 408;
+ AOT_ObjectStore_string_type_offset = 424;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
- 192;
+ 208;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index c52f156..e7fb75d 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -18902,40 +18902,20 @@
return true;
}
-static ClassPtr EnsureSymbolClass(Thread* thread) {
- ObjectStore* const store = thread->isolate_group()->object_store();
-
- if (store->symbol_class() != Class::null()) {
- return store->symbol_class();
- }
- Zone* const zone = thread->zone();
- const auto& library = Library::Handle(zone, Library::InternalLibrary());
- const auto& symbol_class =
- Class::Handle(zone, library.LookupClass(Symbols::Symbol()));
- ASSERT(!symbol_class.IsNull());
- store->set_symbol_class(symbol_class);
- return symbol_class.ptr();
-}
-
-bool Symbol::IsSymbolCid(classid_t class_id) {
- Thread* const thread = Thread::Current();
- Zone* const zone = thread->zone();
-
- Class& symbol_class = Class::Handle(zone, EnsureSymbolClass(thread));
-
- return class_id == symbol_class.id();
+bool Symbol::IsSymbolCid(Thread* thread, classid_t class_id) {
+ auto object_store = thread->isolate_group()->object_store();
+ return Class::GetClassId(object_store->symbol_class()) == class_id;
}
// Must be kept in sync with Symbol.hashCode in symbol_patch.dart
-uint32_t Symbol::CanonicalizeHash(const Instance& instance) {
- ASSERT(IsSymbolCid(instance.GetClassId()));
+uint32_t Symbol::CanonicalizeHash(Thread* thread, const Instance& instance) {
+ ASSERT(IsSymbolCid(thread, instance.GetClassId()));
- Thread* const thread = Thread::Current();
- Zone* const zone = thread->zone();
+ auto zone = thread->zone();
+ auto object_store = thread->isolate_group()->object_store();
- Class& symbol_class = Class::Handle(zone, EnsureSymbolClass(thread));
- const auto& symbol_name_field = Field::Handle(
- zone, symbol_class.LookupInstanceFieldAllowPrivate(Symbols::_name()));
+ const auto& symbol_name_field =
+ Field::Handle(zone, object_store->symbol_name_field());
ASSERT(!symbol_name_field.IsNull());
// Keep in sync with sdk/lib/_internal/vm/lib/symbol_patch.dart.
@@ -18956,10 +18936,12 @@
}
Zone* zone = thread->zone();
const Class& cls = Class::Handle(zone, clazz());
+ const bool is_symbol = Symbol::IsSymbolCid(thread, cls.id());
+
NoSafepointScope no_safepoint(thread);
- if (Symbol::IsSymbolCid(GetClassId())) {
- hash = Symbol::CanonicalizeHash(*this);
+ if (is_symbol) {
+ hash = Symbol::CanonicalizeHash(thread, *this);
} else {
const intptr_t class_id = cls.id();
ASSERT(class_id != 0);
diff --git a/runtime/vm/object.h b/runtime/vm/object.h
index 718d4ca..39b4940 100644
--- a/runtime/vm/object.h
+++ b/runtime/vm/object.h
@@ -1328,8 +1328,7 @@
// Check if this class represents the 'Closure' class.
bool IsClosureClass() const { return id() == kClosureCid; }
static bool IsClosureClass(ClassPtr cls) {
- NoSafepointScope no_safepoint;
- return cls->untag()->id_ == kClosureCid;
+ return GetClassId(cls) == kClosureCid;
}
static bool IsInFullSnapshot(ClassPtr cls) {
@@ -1338,6 +1337,11 @@
cls->untag()->library()->untag()->flags_);
}
+ static intptr_t GetClassId(ClassPtr cls) {
+ NoSafepointScope no_safepoint;
+ return cls->untag()->id_;
+ }
+
// Returns true if the type specified by cls, type_arguments, and nullability
// is a subtype of the other type.
static bool IsSubtypeOf(const Class& cls,
@@ -9123,9 +9127,9 @@
// TODO(http://dartbug.com/46716): Recognize Symbol in the VM.
class Symbol : public AllStatic {
public:
- static bool IsSymbolCid(classid_t class_id);
+ static bool IsSymbolCid(Thread* thread, classid_t class_id);
- static uint32_t CanonicalizeHash(const Instance& instance);
+ static uint32_t CanonicalizeHash(Thread* thread, const Instance& instance);
};
// String may not be '\0' terminated.
diff --git a/runtime/vm/object_store.cc b/runtime/vm/object_store.cc
index 9892d6f..ca90802 100644
--- a/runtime/vm/object_store.cc
+++ b/runtime/vm/object_store.cc
@@ -121,9 +121,9 @@
Object& value = Object::Handle();
static const char* const names[] = {
#define EMIT_FIELD_NAME(type, name) #name "_",
- OBJECT_STORE_FIELD_LIST(EMIT_FIELD_NAME, EMIT_FIELD_NAME,
- EMIT_FIELD_NAME, EMIT_FIELD_NAME,
- EMIT_FIELD_NAME, EMIT_FIELD_NAME)
+ OBJECT_STORE_FIELD_LIST(
+ EMIT_FIELD_NAME, EMIT_FIELD_NAME, EMIT_FIELD_NAME, EMIT_FIELD_NAME,
+ EMIT_FIELD_NAME, EMIT_FIELD_NAME, EMIT_FIELD_NAME)
#undef EMIT_FIELD_NAME
};
ObjectPtr* current = from();
@@ -271,10 +271,6 @@
}
}
- const Library& internal_lib = Library::Handle(zone, _internal_library());
- cls = internal_lib.LookupClass(Symbols::Symbol());
- set_symbol_class(cls);
-
const Library& core_lib = Library::Handle(zone, core_library());
cls = core_lib.LookupClassAllowPrivate(Symbols::_CompileTimeError());
ASSERT(!cls.IsNull());
@@ -450,4 +446,29 @@
}
}
+void ObjectStore::LazyInitInternalMembers() {
+ auto* const thread = Thread::Current();
+ SafepointWriteRwLocker locker(thread,
+ thread->isolate_group()->program_lock());
+ if (symbol_class_.load() == Type::null()) {
+ ASSERT(symbol_name_field_.load() == Field::null());
+
+ auto* const zone = thread->zone();
+ auto& cls = Class::Handle(zone);
+ auto& field = Field::Handle(zone);
+
+ const auto& internal_lib =
+ Library::Handle(zone, Library::InternalLibrary());
+ cls = internal_lib.LookupClass(Symbols::Symbol());
+ ASSERT(!cls.IsNull());
+ const auto& error = cls.EnsureIsFinalized(thread);
+ ASSERT(error == Error::null());
+ symbol_class_.store(cls.ptr());
+
+ field = cls.LookupInstanceFieldAllowPrivate(Symbols::_name());
+ ASSERT(!field.IsNull());
+ symbol_name_field_.store(field.ptr());
+ }
+}
+
} // namespace dart
diff --git a/runtime/vm/object_store.h b/runtime/vm/object_store.h
index 267ff50..cc50d4b 100644
--- a/runtime/vm/object_store.h
+++ b/runtime/vm/object_store.h
@@ -37,22 +37,26 @@
// R_ - needs getter only
// RW - needs getter and setter
// ARW - needs getter and setter with atomic access
-// CR - needs lazy Core init getter
-// FR - needs lazy Async init getter
-// IR - needs lazy Isolate init getter
-#define OBJECT_STORE_FIELD_LIST(R_, RW, ARW, CR, FR, IR) \
- CR(Class, list_class) /* maybe be null, lazily built */ \
- CR(Type, non_nullable_list_rare_type) /* maybe be null, lazily built */ \
- CR(Type, non_nullable_map_rare_type) /* maybe be null, lazily built */ \
- CR(Function, _object_equals_function) /* maybe be null, lazily built */ \
- CR(Function, _object_hash_code_function) /* maybe be null, lazily built */ \
- CR(Function, _object_to_string_function) /* maybe be null, lazily built */ \
- FR(Type, non_nullable_future_rare_type) /* maybe be null, lazily built */ \
- FR(Type, non_nullable_future_never_type) /* maybe be null, lazily built */ \
- FR(Type, nullable_future_null_type) /* maybe be null, lazily built */ \
- IR(Function, lookup_port_handler) /* maybe be null, lazily built */ \
- IR(Function, lookup_open_ports) /* maybe be null, lazily built */ \
- IR(Function, handle_message_function) /* maybe be null, lazily built */ \
+// LAZY_CORE - needs lazy init getter for a "dart:core" member
+// LAZY_ASYNC - needs lazy init getter for a "dart:async" member
+// LAZY_ISOLATE - needs lazy init getter for a "dart:isolate" member
+// LAZY_INTERNAL - needs lazy init getter for a "dart:_internal" member
+#define OBJECT_STORE_FIELD_LIST(R_, RW, ARW, LAZY_CORE, LAZY_ASYNC, \
+ LAZY_ISOLATE, LAZY_INTERNAL) \
+ LAZY_CORE(Class, list_class) \
+ LAZY_CORE(Type, non_nullable_list_rare_type) \
+ LAZY_CORE(Type, non_nullable_map_rare_type) \
+ LAZY_CORE(Function, _object_equals_function) \
+ LAZY_CORE(Function, _object_hash_code_function) \
+ LAZY_CORE(Function, _object_to_string_function) \
+ LAZY_INTERNAL(Class, symbol_class) \
+ LAZY_INTERNAL(Field, symbol_name_field) \
+ LAZY_ASYNC(Type, non_nullable_future_rare_type) \
+ LAZY_ASYNC(Type, non_nullable_future_never_type) \
+ LAZY_ASYNC(Type, nullable_future_null_type) \
+ LAZY_ISOLATE(Function, lookup_port_handler) \
+ LAZY_ISOLATE(Function, lookup_open_ports) \
+ LAZY_ISOLATE(Function, handle_message_function) \
RW(Class, object_class) \
RW(Type, object_type) \
RW(Type, legacy_object_type) \
@@ -116,7 +120,6 @@
RW(Field, pragma_options) \
RW(Class, future_class) \
RW(Class, completer_class) \
- RW(Class, symbol_class) \
RW(Class, one_byte_string_class) \
RW(Class, two_byte_string_class) \
RW(Class, external_one_byte_string_class) \
@@ -424,12 +427,15 @@
DECLARE_LAZY_INIT_GETTER(Type, name, LazyInitAsyncMembers)
#define DECLARE_LAZY_INIT_ISOLATE_GETTER(Type, name) \
DECLARE_LAZY_INIT_GETTER(Type, name, LazyInitIsolateMembers)
+#define DECLARE_LAZY_INIT_INTERNAL_GETTER(Type, name) \
+ DECLARE_LAZY_INIT_GETTER(Type, name, LazyInitInternalMembers)
OBJECT_STORE_FIELD_LIST(DECLARE_GETTER,
DECLARE_GETTER_AND_SETTER,
DECLARE_ATOMIC_GETTER_AND_SETTER,
DECLARE_LAZY_INIT_CORE_GETTER,
DECLARE_LAZY_INIT_ASYNC_GETTER,
- DECLARE_LAZY_INIT_ISOLATE_GETTER)
+ DECLARE_LAZY_INIT_ISOLATE_GETTER,
+ DECLARE_LAZY_INIT_INTERNAL_GETTER)
#undef DECLARE_OFFSET
#undef DECLARE_GETTER
#undef DECLARE_GETTER_AND_SETTER
@@ -438,6 +444,7 @@
#undef DECLARE_LAZY_INIT_CORE_GETTER
#undef DECLARE_LAZY_INIT_ASYNC_GETTER
#undef DECLARE_LAZY_INIT_ISOLATE_GETTER
+#undef DECLARE_LAZY_INIT_INTERNAL_GETTER
LibraryPtr bootstrap_library(BootstrapLibraryId index) {
switch (index) {
@@ -488,6 +495,7 @@
void LazyInitCoreMembers();
void LazyInitAsyncMembers();
void LazyInitIsolateMembers();
+ void LazyInitInternalMembers();
// Finds a core library private method in Object.
FunctionPtr PrivateObjectLookup(const String& name);
@@ -503,6 +511,7 @@
DECLARE_ATOMIC_OBJECT_STORE_FIELD,
DECLARE_LAZY_OBJECT_STORE_FIELD,
DECLARE_LAZY_OBJECT_STORE_FIELD,
+ DECLARE_LAZY_OBJECT_STORE_FIELD,
DECLARE_LAZY_OBJECT_STORE_FIELD)
#undef DECLARE_OBJECT_STORE_FIELD
#undef DECLARE_ATOMIC_OBJECT_STORE_FIELD
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 {
diff --git a/runtime/vm/v8_snapshot_writer.h b/runtime/vm/v8_snapshot_writer.h
index 644a2e0..c69abdc 100644
--- a/runtime/vm/v8_snapshot_writer.h
+++ b/runtime/vm/v8_snapshot_writer.h
@@ -58,7 +58,8 @@
private:
static constexpr size_t kIdSpaceBits =
Utils::BitLength(static_cast<int64_t>(IdSpace::kArtificial));
- static constexpr int64_t kIdSpaceMask = Utils::NBitMaskUnsafe(kIdSpaceBits);
+ static constexpr int64_t kIdSpaceMask =
+ Utils::NBitMask<int64_t>(kIdSpaceBits);
static const char* IdSpaceToCString(IdSpace space);
int64_t encoded_;
diff --git a/tests/co19_2/co19_2-co19.status b/tests/co19_2/co19_2-co19.status
index c281e44..3d7b0c2 100644
--- a/tests/co19_2/co19_2-co19.status
+++ b/tests/co19_2/co19_2-co19.status
@@ -2,5 +2,9 @@
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.
-[ $compiler != fasta ]
-
+Language/Generics/Superbounded_types/typedef1_A01_t03: SkipByDesign # https://github.com/dart-lang/sdk/issues/46483
+Language/Generics/Superbounded_types/typedef1_A01_t04: SkipByDesign # https://github.com/dart-lang/sdk/issues/46483
+Language/Generics/Superbounded_types/typedef2_A01_t04: SkipByDesign # https://github.com/dart-lang/sdk/issues/46483
+Language/Generics/typedef_A08_t02: SkipByDesign # https://github.com/dart-lang/sdk/issues/46483
+Language/Generics/typedef_A08_t03: SkipByDesign # https://github.com/dart-lang/sdk/issues/46483
+Language/Generics/typedef_A08_t04: SkipByDesign # https://github.com/dart-lang/sdk/issues/46483
diff --git a/tests/co19_2/co19_2-dart2js.status b/tests/co19_2/co19_2-dart2js.status
index 5ba60fe..5c38055 100644
--- a/tests/co19_2/co19_2-dart2js.status
+++ b/tests/co19_2/co19_2-dart2js.status
@@ -6,6 +6,7 @@
Language/Expressions/Null/instance_of_class_null_t01: SkipByDesign # dart:mirrors not supported https://github.com/dart-lang/co19/issues/522.
Language/Expressions/Numbers/syntax_t06: SkipByDesign # uses integer literal not representable as JavaScript number
Language/Expressions/Numbers/syntax_t09: SkipByDesign # uses integer literal not representable as JavaScript number
+Language/Expressions/Object_Identity/object_t02: SkipByDesign # https://github.com/dart-lang/sdk/issues/42222#issuecomment-640431711
Language/Expressions/Spawning_an_Isolate/new_isolate_t01: SkipByDesign
Language/Functions/External_Functions/not_connected_to_a_body_t01: SkipByDesign # Non-JS-interop external members are not supported
Language/Libraries_and_Scripts/Scripts/top_level_syntax_t01: SkipByDesign # Non-JS-interop external members are not supported
diff --git a/tools/VERSION b/tools/VERSION
index 0149fdb..69aef05 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 14
PATCH 0
-PRERELEASE 355
+PRERELEASE 356
PRERELEASE_PATCH 0
\ No newline at end of file