[vm] Weakly cache all RegExp per isolate group, instead of strongly caching 256 RegExp per isolate.
TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/51228
Change-Id: Ie2869585ae847ea154460122d7ec5af81ef7697c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280521
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
diff --git a/runtime/lib/regexp.cc b/runtime/lib/regexp.cc
index 6c10d7d..109eded 100644
--- a/runtime/lib/regexp.cc
+++ b/runtime/lib/regexp.cc
@@ -4,11 +4,14 @@
#include "platform/assert.h"
#include "vm/bootstrap_natives.h"
+#include "vm/canonical_tables.h"
#include "vm/exceptions.h"
#include "vm/native_entry.h"
#include "vm/object.h"
+#include "vm/object_store.h"
#include "vm/regexp_assembler_bytecode.h"
#include "vm/regexp_parser.h"
+#include "vm/reusable_handles.h"
#include "vm/thread.h"
#if !defined(DART_PRECOMPILED_RUNTIME)
@@ -21,34 +24,54 @@
ASSERT(
TypeArguments::CheckedHandle(zone, arguments->NativeArgAt(0)).IsNull());
GET_NON_NULL_NATIVE_ARGUMENT(String, pattern, arguments->NativeArgAt(1));
- GET_NON_NULL_NATIVE_ARGUMENT(Instance, handle_multi_line,
- arguments->NativeArgAt(2));
- GET_NON_NULL_NATIVE_ARGUMENT(Instance, handle_case_sensitive,
- arguments->NativeArgAt(3));
- GET_NON_NULL_NATIVE_ARGUMENT(Instance, handle_unicode,
- arguments->NativeArgAt(4));
- GET_NON_NULL_NATIVE_ARGUMENT(Instance, handle_dot_all,
- arguments->NativeArgAt(5));
- bool ignore_case = handle_case_sensitive.ptr() != Bool::True().ptr();
- bool multi_line = handle_multi_line.ptr() == Bool::True().ptr();
- bool unicode = handle_unicode.ptr() == Bool::True().ptr();
- bool dot_all = handle_dot_all.ptr() == Bool::True().ptr();
+
+ bool multi_line = arguments->NativeArgAt(2) == Bool::True().ptr();
+ bool ignore_case = arguments->NativeArgAt(3) != Bool::True().ptr();
+ bool unicode = arguments->NativeArgAt(4) == Bool::True().ptr();
+ bool dot_all = arguments->NativeArgAt(5) == Bool::True().ptr();
RegExpFlags flags;
-
+ flags.SetGlobal(); // All dart regexps are global.
if (ignore_case) flags.SetIgnoreCase();
if (multi_line) flags.SetMultiLine();
if (unicode) flags.SetUnicode();
if (dot_all) flags.SetDotAll();
+ RegExpKey lookup_key(pattern, flags);
+ RegExp& regexp = RegExp::Handle(thread->zone());
+ {
+ REUSABLE_OBJECT_HANDLESCOPE(thread);
+ REUSABLE_SMI_HANDLESCOPE(thread);
+ REUSABLE_WEAK_ARRAY_HANDLESCOPE(thread);
+ Object& key = thread->ObjectHandle();
+ Smi& value = thread->SmiHandle();
+ WeakArray& data = thread->WeakArrayHandle();
+ data = thread->isolate_group()->object_store()->regexp_table();
+ CanonicalRegExpSet table(&key, &value, &data);
+ regexp ^= table.GetOrNull(lookup_key);
+ table.Release();
+ if (!regexp.IsNull()) {
+ return regexp.ptr();
+ }
+ }
+
// Parse the pattern once in order to throw any format exceptions within
// the factory constructor. It is parsed again upon compilation.
RegExpCompileData compileData;
// Throws an exception on parsing failure.
RegExpParser::ParseRegExp(pattern, flags, &compileData);
- // Create a RegExp object containing only the initial parameters.
- return RegExpEngine::CreateRegExp(thread, pattern, flags);
+ {
+ SafepointMutexLocker ml(thread->isolate_group()->symbols_mutex());
+ CanonicalRegExpSet table(
+ thread->zone(),
+ thread->isolate_group()->object_store()->regexp_table());
+ regexp ^= table.InsertNewOrGet(lookup_key);
+ thread->isolate_group()->object_store()->set_regexp_table(table.Release());
+ }
+
+ ASSERT(regexp.flags() == flags);
+ return regexp.ptr();
}
DEFINE_NATIVE_ENTRY(RegExp_getPattern, 0, 1) {
diff --git a/runtime/vm/canonical_tables.cc b/runtime/vm/canonical_tables.cc
index d2fd487..c393254 100644
--- a/runtime/vm/canonical_tables.cc
+++ b/runtime/vm/canonical_tables.cc
@@ -4,6 +4,8 @@
#include "vm/canonical_tables.h"
+#include "vm/regexp.h"
+
namespace dart {
bool MetadataMapTraits::IsMatch(const Object& a, const Object& b) {
@@ -111,4 +113,9 @@
return obj.key_.ptr();
}
+ObjectPtr CanonicalRegExpTraits::NewKey(const RegExpKey& key) {
+ return RegExpEngine::CreateRegExp(Thread::Current(), key.pattern_,
+ key.flags_);
+}
+
} // namespace dart
diff --git a/runtime/vm/canonical_tables.h b/runtime/vm/canonical_tables.h
index 29c3536..8df871c 100644
--- a/runtime/vm/canonical_tables.h
+++ b/runtime/vm/canonical_tables.h
@@ -430,6 +430,47 @@
using FfiCallbackFunctionSet =
UnorderedHashSet<CanonicalFfiCallbackFunctionTraits>;
+class RegExpKey {
+ public:
+ RegExpKey(const String& pattern, RegExpFlags flags)
+ : pattern_(pattern), flags_(flags) {}
+
+ bool Equals(const RegExp& other) const {
+ return pattern_.Equals(String::Handle(other.pattern())) &&
+ (flags_ == other.flags());
+ }
+ uword Hash() const {
+ // Must agree with RegExp::CanonicalizeHash.
+ return CombineHashes(pattern_.Hash(), flags_.value());
+ }
+
+ const String& pattern_;
+ RegExpFlags flags_;
+
+ private:
+ DISALLOW_ALLOCATION();
+};
+
+class CanonicalRegExpTraits {
+ public:
+ static const char* Name() { return "CanonicalRegExpTraits"; }
+ static bool ReportStats() { return false; }
+ static bool IsMatch(const Object& a, const Object& b) {
+ return RegExp::Cast(a).CanonicalizeEquals(RegExp::Cast(b));
+ }
+ static bool IsMatch(const RegExpKey& a, const Object& b) {
+ return a.Equals(RegExp::Cast(b));
+ }
+ static uword Hash(const Object& key) {
+ return RegExp::Cast(key).CanonicalizeHash();
+ }
+ static uword Hash(const RegExpKey& key) { return key.Hash(); }
+ static ObjectPtr NewKey(const RegExpKey& key);
+};
+
+typedef UnorderedHashSet<CanonicalRegExpTraits, WeakAcqRelStorageTraits>
+ CanonicalRegExpSet;
+
} // namespace dart
#endif // RUNTIME_VM_CANONICAL_TABLES_H_
diff --git a/runtime/vm/compiler/runtime_offsets_extracted.h b/runtime/vm/compiler/runtime_offsets_extracted.h
index bde95d9..ac1581a 100644
--- a/runtime/vm/compiler/runtime_offsets_extracted.h
+++ b/runtime/vm/compiler/runtime_offsets_extracted.h
@@ -242,33 +242,33 @@
196;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 152;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 504;
+ ObjectStore_record_field_names_offset = 508;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
216;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
136;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 544;
+ ObjectStore_suspend_state_await_offset = 548;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 548;
+ ObjectStore_suspend_state_await_with_type_check_offset = 552;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 580;
+ ObjectStore_suspend_state_handle_exception_offset = 584;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 540;
+ ObjectStore_suspend_state_init_async_offset = 544;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 560;
+ ObjectStore_suspend_state_init_async_star_offset = 564;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 572;
+ ObjectStore_suspend_state_init_sync_star_offset = 576;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 552;
+ ObjectStore_suspend_state_return_async_offset = 556;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 556;
+ ObjectStore_suspend_state_return_async_not_future_offset = 560;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 568;
+ ObjectStore_suspend_state_return_async_star_offset = 572;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 576;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 580;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 564;
+ ObjectStore_suspend_state_yield_async_star_offset = 568;
static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
static constexpr dart::compiler::target::word PointerBase_data_offset = 4;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -921,33 +921,33 @@
392;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 304;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 1008;
+ ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
432;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 1088;
+ ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 1160;
+ ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 1080;
+ ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 1120;
+ ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 1104;
+ ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 1136;
+ ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -1605,33 +1605,33 @@
196;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 152;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 504;
+ ObjectStore_record_field_names_offset = 508;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
216;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
136;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 544;
+ ObjectStore_suspend_state_await_offset = 548;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 548;
+ ObjectStore_suspend_state_await_with_type_check_offset = 552;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 580;
+ ObjectStore_suspend_state_handle_exception_offset = 584;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 540;
+ ObjectStore_suspend_state_init_async_offset = 544;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 560;
+ ObjectStore_suspend_state_init_async_star_offset = 564;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 572;
+ ObjectStore_suspend_state_init_sync_star_offset = 576;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 552;
+ ObjectStore_suspend_state_return_async_offset = 556;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 556;
+ ObjectStore_suspend_state_return_async_not_future_offset = 560;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 568;
+ ObjectStore_suspend_state_return_async_star_offset = 572;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 576;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 580;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 564;
+ ObjectStore_suspend_state_yield_async_star_offset = 568;
static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
static constexpr dart::compiler::target::word PointerBase_data_offset = 4;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -2284,33 +2284,33 @@
392;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 304;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 1008;
+ ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
432;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 1088;
+ ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 1160;
+ ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 1080;
+ ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 1120;
+ ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 1104;
+ ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 1136;
+ ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -2969,33 +2969,33 @@
392;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 304;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 1008;
+ ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
432;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 1088;
+ ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 1160;
+ ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 1080;
+ ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 1120;
+ ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 1104;
+ ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 1136;
+ ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -3654,33 +3654,33 @@
392;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 304;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 1008;
+ ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
432;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 1088;
+ ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 1160;
+ ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 1080;
+ ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 1120;
+ ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 1104;
+ ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 1136;
+ ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -4340,33 +4340,33 @@
196;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 152;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 504;
+ ObjectStore_record_field_names_offset = 508;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
216;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
136;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 544;
+ ObjectStore_suspend_state_await_offset = 548;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 548;
+ ObjectStore_suspend_state_await_with_type_check_offset = 552;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 580;
+ ObjectStore_suspend_state_handle_exception_offset = 584;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 540;
+ ObjectStore_suspend_state_init_async_offset = 544;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 560;
+ ObjectStore_suspend_state_init_async_star_offset = 564;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 572;
+ ObjectStore_suspend_state_init_sync_star_offset = 576;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 552;
+ ObjectStore_suspend_state_return_async_offset = 556;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 556;
+ ObjectStore_suspend_state_return_async_not_future_offset = 560;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 568;
+ ObjectStore_suspend_state_return_async_star_offset = 572;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 576;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 580;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 564;
+ ObjectStore_suspend_state_yield_async_star_offset = 568;
static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
static constexpr dart::compiler::target::word PointerBase_data_offset = 4;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -5021,33 +5021,33 @@
392;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 304;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 1008;
+ ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
432;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 1088;
+ ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 1160;
+ ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 1080;
+ ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 1120;
+ ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 1104;
+ ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 1136;
+ ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -5700,33 +5700,33 @@
196;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 152;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 504;
+ ObjectStore_record_field_names_offset = 508;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
216;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
136;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 544;
+ ObjectStore_suspend_state_await_offset = 548;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 548;
+ ObjectStore_suspend_state_await_with_type_check_offset = 552;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 580;
+ ObjectStore_suspend_state_handle_exception_offset = 584;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 540;
+ ObjectStore_suspend_state_init_async_offset = 544;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 560;
+ ObjectStore_suspend_state_init_async_star_offset = 564;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 572;
+ ObjectStore_suspend_state_init_sync_star_offset = 576;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 552;
+ ObjectStore_suspend_state_return_async_offset = 556;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 556;
+ ObjectStore_suspend_state_return_async_not_future_offset = 560;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 568;
+ ObjectStore_suspend_state_return_async_star_offset = 572;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 576;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 580;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 564;
+ ObjectStore_suspend_state_yield_async_star_offset = 568;
static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
static constexpr dart::compiler::target::word PointerBase_data_offset = 4;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -6371,33 +6371,33 @@
392;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 304;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 1008;
+ ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
432;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 1088;
+ ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 1160;
+ ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 1080;
+ ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 1120;
+ ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 1104;
+ ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 1136;
+ ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -7047,33 +7047,33 @@
196;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 152;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 504;
+ ObjectStore_record_field_names_offset = 508;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
216;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
136;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 544;
+ ObjectStore_suspend_state_await_offset = 548;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 548;
+ ObjectStore_suspend_state_await_with_type_check_offset = 552;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 580;
+ ObjectStore_suspend_state_handle_exception_offset = 584;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 540;
+ ObjectStore_suspend_state_init_async_offset = 544;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 560;
+ ObjectStore_suspend_state_init_async_star_offset = 564;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 572;
+ ObjectStore_suspend_state_init_sync_star_offset = 576;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 552;
+ ObjectStore_suspend_state_return_async_offset = 556;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 556;
+ ObjectStore_suspend_state_return_async_not_future_offset = 560;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 568;
+ ObjectStore_suspend_state_return_async_star_offset = 572;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 576;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 580;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 564;
+ ObjectStore_suspend_state_yield_async_star_offset = 568;
static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
static constexpr dart::compiler::target::word PointerBase_data_offset = 4;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -7718,33 +7718,33 @@
392;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 304;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 1008;
+ ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
432;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 1088;
+ ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 1160;
+ ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 1080;
+ ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 1120;
+ ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 1104;
+ ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 1136;
+ ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -8395,33 +8395,33 @@
392;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 304;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 1008;
+ ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
432;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 1088;
+ ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 1160;
+ ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 1080;
+ ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 1120;
+ ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 1104;
+ ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 1136;
+ ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -9072,33 +9072,33 @@
392;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 304;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 1008;
+ ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
432;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 1088;
+ ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 1160;
+ ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 1080;
+ ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 1120;
+ ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 1104;
+ ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 1136;
+ ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -9750,33 +9750,33 @@
196;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 152;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 504;
+ ObjectStore_record_field_names_offset = 508;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
216;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
136;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 544;
+ ObjectStore_suspend_state_await_offset = 548;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 548;
+ ObjectStore_suspend_state_await_with_type_check_offset = 552;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 580;
+ ObjectStore_suspend_state_handle_exception_offset = 584;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 540;
+ ObjectStore_suspend_state_init_async_offset = 544;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 560;
+ ObjectStore_suspend_state_init_async_star_offset = 564;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 572;
+ ObjectStore_suspend_state_init_sync_star_offset = 576;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 552;
+ ObjectStore_suspend_state_return_async_offset = 556;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 556;
+ ObjectStore_suspend_state_return_async_not_future_offset = 560;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 568;
+ ObjectStore_suspend_state_return_async_star_offset = 572;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 576;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 580;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 564;
+ ObjectStore_suspend_state_yield_async_star_offset = 568;
static constexpr dart::compiler::target::word OneByteString_data_offset = 12;
static constexpr dart::compiler::target::word PointerBase_data_offset = 4;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset = 8;
@@ -10423,33 +10423,33 @@
392;
static constexpr dart::compiler::target::word ObjectStore_int_type_offset = 304;
static constexpr dart::compiler::target::word
- ObjectStore_record_field_names_offset = 1008;
+ ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word ObjectStore_string_type_offset =
432;
static constexpr dart::compiler::target::word ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_offset = 1088;
+ ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_handle_exception_offset = 1160;
+ ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_offset = 1080;
+ ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_async_star_offset = 1120;
+ ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_offset = 1104;
+ ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_return_async_star_offset = 1136;
+ ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word OneByteString_data_offset = 16;
static constexpr dart::compiler::target::word PointerBase_data_offset = 8;
static constexpr dart::compiler::target::word Pointer_type_arguments_offset =
@@ -11133,33 +11133,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 504;
+ AOT_ObjectStore_record_field_names_offset = 508;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 216;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
136;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 544;
+ AOT_ObjectStore_suspend_state_await_offset = 548;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 548;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 552;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 580;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 584;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 540;
+ AOT_ObjectStore_suspend_state_init_async_offset = 544;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 560;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 564;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 572;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 576;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 552;
+ AOT_ObjectStore_suspend_state_return_async_offset = 556;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 556;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 560;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 568;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 572;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 576;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 580;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 564;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 568;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
12;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 4;
@@ -11886,33 +11886,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
304;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 1008;
+ AOT_ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 432;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 1088;
+ AOT_ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 1160;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 1080;
+ AOT_ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 1120;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 1104;
+ AOT_ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 1136;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -12646,33 +12646,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
304;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 1008;
+ AOT_ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 432;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 1088;
+ AOT_ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 1160;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 1080;
+ AOT_ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 1120;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 1104;
+ AOT_ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 1136;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -13404,33 +13404,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
304;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 1008;
+ AOT_ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 432;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 1088;
+ AOT_ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 1160;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 1080;
+ AOT_ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 1120;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 1104;
+ AOT_ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 1136;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -14162,33 +14162,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
304;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 1008;
+ AOT_ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 432;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 1088;
+ AOT_ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 1160;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 1080;
+ AOT_ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 1120;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 1104;
+ AOT_ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 1136;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -14920,33 +14920,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 504;
+ AOT_ObjectStore_record_field_names_offset = 508;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 216;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
136;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 544;
+ AOT_ObjectStore_suspend_state_await_offset = 548;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 548;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 552;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 580;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 584;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 540;
+ AOT_ObjectStore_suspend_state_init_async_offset = 544;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 560;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 564;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 572;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 576;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 552;
+ AOT_ObjectStore_suspend_state_return_async_offset = 556;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 556;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 560;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 568;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 572;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 576;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 580;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 564;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 568;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
12;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 4;
@@ -15675,33 +15675,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
304;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 1008;
+ AOT_ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 432;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 1088;
+ AOT_ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 1160;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 1080;
+ AOT_ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 1120;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 1104;
+ AOT_ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 1136;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -16425,33 +16425,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 504;
+ AOT_ObjectStore_record_field_names_offset = 508;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 216;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
136;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 544;
+ AOT_ObjectStore_suspend_state_await_offset = 548;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 548;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 552;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 580;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 584;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 540;
+ AOT_ObjectStore_suspend_state_init_async_offset = 544;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 560;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 564;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 572;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 576;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 552;
+ AOT_ObjectStore_suspend_state_return_async_offset = 556;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 556;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 560;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 568;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 572;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 576;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 580;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 564;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 568;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
12;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 4;
@@ -17169,33 +17169,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
304;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 1008;
+ AOT_ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 432;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 1088;
+ AOT_ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 1160;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 1080;
+ AOT_ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 1120;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 1104;
+ AOT_ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 1136;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -17920,33 +17920,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
304;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 1008;
+ AOT_ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 432;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 1088;
+ AOT_ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 1160;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 1080;
+ AOT_ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 1120;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 1104;
+ AOT_ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 1136;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -18669,33 +18669,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
304;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 1008;
+ AOT_ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 432;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 1088;
+ AOT_ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 1160;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 1080;
+ AOT_ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 1120;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 1104;
+ AOT_ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 1136;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -19418,33 +19418,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
304;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 1008;
+ AOT_ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 432;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 1088;
+ AOT_ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 1160;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 1080;
+ AOT_ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 1120;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 1104;
+ AOT_ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 1136;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
@@ -20167,33 +20167,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 504;
+ AOT_ObjectStore_record_field_names_offset = 508;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 216;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
136;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 544;
+ AOT_ObjectStore_suspend_state_await_offset = 548;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 548;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 552;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 580;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 584;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 540;
+ AOT_ObjectStore_suspend_state_init_async_offset = 544;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 560;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 564;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 572;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 576;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 552;
+ AOT_ObjectStore_suspend_state_return_async_offset = 556;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 556;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 560;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 568;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 572;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 576;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 580;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 564;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 568;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
12;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 4;
@@ -20913,33 +20913,33 @@
static constexpr dart::compiler::target::word AOT_ObjectStore_int_type_offset =
304;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_record_field_names_offset = 1008;
+ AOT_ObjectStore_record_field_names_offset = 1016;
static constexpr dart::compiler::target::word
AOT_ObjectStore_string_type_offset = 432;
static constexpr dart::compiler::target::word AOT_ObjectStore_type_type_offset =
272;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_offset = 1088;
+ AOT_ObjectStore_suspend_state_await_offset = 1096;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1096;
+ AOT_ObjectStore_suspend_state_await_with_type_check_offset = 1104;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_handle_exception_offset = 1160;
+ AOT_ObjectStore_suspend_state_handle_exception_offset = 1168;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_offset = 1080;
+ AOT_ObjectStore_suspend_state_init_async_offset = 1088;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_async_star_offset = 1120;
+ AOT_ObjectStore_suspend_state_init_async_star_offset = 1128;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_init_sync_star_offset = 1144;
+ AOT_ObjectStore_suspend_state_init_sync_star_offset = 1152;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_offset = 1104;
+ AOT_ObjectStore_suspend_state_return_async_offset = 1112;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1112;
+ AOT_ObjectStore_suspend_state_return_async_not_future_offset = 1120;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_return_async_star_offset = 1136;
+ AOT_ObjectStore_suspend_state_return_async_star_offset = 1144;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1152;
+ AOT_ObjectStore_suspend_state_suspend_sync_star_at_start_offset = 1160;
static constexpr dart::compiler::target::word
- AOT_ObjectStore_suspend_state_yield_async_star_offset = 1128;
+ AOT_ObjectStore_suspend_state_yield_async_star_offset = 1136;
static constexpr dart::compiler::target::word AOT_OneByteString_data_offset =
16;
static constexpr dart::compiler::target::word AOT_PointerBase_data_offset = 8;
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 04173cc..8432df5 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -1732,6 +1732,7 @@
Class& cls = Class::Handle(zone);
Type& type = Type::Handle(zone);
Array& array = Array::Handle(zone);
+ WeakArray& weak_array = WeakArray::Handle(zone);
Library& lib = Library::Handle(zone);
TypeArguments& type_args = TypeArguments::Handle(zone);
@@ -1761,6 +1762,12 @@
RTN::GrowableObjectArray::type_arguments_offset());
cls.set_num_type_arguments_unsafe(1);
+ // Initialize hash set for regexp_table_.
+ const intptr_t kInitialCanonicalRegExpSize = 4;
+ weak_array = HashTables::New<CanonicalRegExpSet>(
+ kInitialCanonicalRegExpSize, Heap::kOld);
+ object_store->set_regexp_table(weak_array);
+
// Initialize hash set for canonical types.
const intptr_t kInitialCanonicalTypeSize = 16;
array = HashTables::New<CanonicalTypeSet>(kInitialCanonicalTypeSize,
@@ -27289,6 +27296,11 @@
return true;
}
+uint32_t RegExp::CanonicalizeHash() const {
+ // Must agree with RegExpKey::Hash.
+ return CombineHashes(String::Hash(pattern()), flags().value());
+}
+
const char* RegExp::ToCString() const {
const String& str = String::Handle(pattern());
return OS::SCreate(Thread::Current()->zone(), "RegExp: pattern=%s flags=%s",
diff --git a/runtime/vm/object.h b/runtime/vm/object.h
index 5498175..dbfd737 100644
--- a/runtime/vm/object.h
+++ b/runtime/vm/object.h
@@ -12436,8 +12436,12 @@
int value() const { return value_; }
- bool operator==(const RegExpFlags& other) { return value_ == other.value_; }
- bool operator!=(const RegExpFlags& other) { return value_ != other.value_; }
+ bool operator==(const RegExpFlags& other) const {
+ return value_ == other.value_;
+ }
+ bool operator!=(const RegExpFlags& other) const {
+ return value_ != other.value_;
+ }
private:
int value_;
@@ -12601,6 +12605,7 @@
}
virtual bool CanonicalizeEquals(const Instance& other) const;
+ virtual uint32_t CanonicalizeHash() const;
static intptr_t InstanceSize() {
return RoundedAllocationSize(sizeof(UntaggedRegExp));
diff --git a/runtime/vm/object_store.h b/runtime/vm/object_store.h
index b731efc..ce36da8 100644
--- a/runtime/vm/object_store.h
+++ b/runtime/vm/object_store.h
@@ -141,6 +141,7 @@
RW(Class, finalizer_entry_class) \
RW(Class, native_finalizer_class) \
ARW_AR(WeakArray, symbol_table) \
+ ARW_AR(WeakArray, regexp_table) \
RW(Array, canonical_types) \
RW(Array, canonical_function_types) \
RW(Array, canonical_record_types) \
diff --git a/runtime/vm/symbols.cc b/runtime/vm/symbols.cc
index cb2cbcd..78a7093 100644
--- a/runtime/vm/symbols.cc
+++ b/runtime/vm/symbols.cc
@@ -337,7 +337,7 @@
StringPtr Symbols::NewSymbol(Thread* thread, const StringType& str) {
REUSABLE_OBJECT_HANDLESCOPE(thread);
REUSABLE_SMI_HANDLESCOPE(thread);
- REUSABLE_ARRAY_HANDLESCOPE(thread);
+ REUSABLE_WEAK_ARRAY_HANDLESCOPE(thread);
String& symbol = String::Handle(thread->zone());
dart::Object& key = thread->ObjectHandle();
Smi& value = thread->SmiHandle();
diff --git a/sdk/lib/_internal/vm/lib/regexp_patch.dart b/sdk/lib/_internal/vm/lib/regexp_patch.dart
index 818a79a..a729f69 100644
--- a/sdk/lib/_internal/vm/lib/regexp_patch.dart
+++ b/sdk/lib/_internal/vm/lib/regexp_patch.dart
@@ -12,36 +12,11 @@
bool caseSensitive = true,
bool unicode = false,
bool dotAll = false}) {
- _RegExpHashKey key =
- new _RegExpHashKey(source, multiLine, caseSensitive, unicode, dotAll);
- _RegExpHashValue? value = _cache[key];
-
- if (value == null) {
- if (_cache.length > _MAX_CACHE_SIZE) {
- _RegExpHashKey lastKey = _recentlyUsed.last;
- _recentlyUsed.remove(lastKey);
- _cache.remove(lastKey);
- }
-
- value = new _RegExpHashValue(
- new _RegExp(source,
- multiLine: multiLine,
- caseSensitive: caseSensitive,
- unicode: unicode,
- dotAll: dotAll),
- key);
- _cache[key] = value;
- } else {
- value.key.unlink();
- }
-
- assert(value != null);
-
- _recentlyUsed.addFirst(value.key);
- assert(_recentlyUsed.length == _cache.length);
-
- // TODO(zerny): We might not want to canonicalize regexp objects.
- return value.regexp;
+ return new _RegExp(source,
+ multiLine: multiLine,
+ caseSensitive: caseSensitive,
+ unicode: unicode,
+ dotAll: dotAll);
}
/**
@@ -96,57 +71,11 @@
return buffer.toString();
}
- // Regular expression objects are stored in a cache of up to _MAX_CACHE_SIZE
- // elements using an LRU eviction strategy.
- // TODO(zerny): Do not impose a fixed limit on the number of cached objects.
- // Other possibilities could be limiting by the size of the regexp objects,
- // or imposing a lower time bound for the most recent use under which a regexp
- // may not be removed from the cache.
- // TODO(zerny): Use self-sizing cache similar to _AccessorCache in
- // mirrors_impl.dart.
- static const int _MAX_CACHE_SIZE = 256;
- static final Map<_RegExpHashKey, _RegExpHashValue> _cache =
- new HashMap<_RegExpHashKey, _RegExpHashValue>();
- static final LinkedList<_RegExpHashKey> _recentlyUsed =
- new LinkedList<_RegExpHashKey>();
-
int get _groupCount;
Iterable<String> get _groupNames;
int _groupNameIndex(String name);
}
-// Represents both a key in the regular expression cache as well as its
-// corresponding entry in the LRU list.
-class _RegExpHashKey extends LinkedListEntry<_RegExpHashKey> {
- final String pattern;
- final bool multiLine;
- final bool caseSensitive;
- final bool unicode;
- final bool dotAll;
-
- _RegExpHashKey(this.pattern, this.multiLine, this.caseSensitive, this.unicode,
- this.dotAll);
-
- int get hashCode => pattern.hashCode;
- bool operator ==(that) {
- return (that is _RegExpHashKey) &&
- (this.pattern == that.pattern) &&
- (this.multiLine == that.multiLine) &&
- (this.caseSensitive == that.caseSensitive) &&
- (this.unicode == that.unicode) &&
- (this.dotAll == that.dotAll);
- }
-}
-
-// Represents a value in the regular expression cache. Contains a pointer
-// back to the key in order to access the corresponding LRU entry.
-class _RegExpHashValue {
- final _RegExp regexp;
- final _RegExpHashKey key;
-
- _RegExpHashValue(this.regexp, this.key);
-}
-
class _RegExpMatch implements RegExpMatch {
_RegExpMatch._(this._regexp, this.input, this._match);