Skip to content

Commit 9a87cf9

Browse files
alexmarkovcommit-bot@chromium.org
authored andcommitted
Revert "[vm] Check prefix.loadLibrary is called and returns before prefix members are used."
This reverts commit b0484ec. Reason for revert: timeouts on Flutter integration tests (#42350). Original change's description: > [vm] Check prefix.loadLibrary is called and returns before prefix members are used. > > Restore checks against reloading a library with deferred prefixes. > > No loading is actually deferred. > > Bug: #26878 > Bug: #41974 > Change-Id: Iec2662de117453d596cca28dd9481a9751091ce9 > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149613 > Commit-Queue: Ryan Macnak <[email protected]> > Reviewed-by: Alexander Markov <[email protected]> > Reviewed-by: Siva Annamalai <[email protected]> [email protected],[email protected],[email protected] # Not skipping CQ checks because original CL landed > 1 day ago. Bug: #26878, #41974 Change-Id: I78709650e91d206b84a8ddd9171ef66d6cf1b008 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151169 Reviewed-by: Alexander Markov <[email protected]> Commit-Queue: Alexander Markov <[email protected]>
1 parent 5619ec5 commit 9a87cf9

16 files changed

+57
-183
lines changed

runtime/lib/object.cc

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -196,19 +196,6 @@ DEFINE_NATIVE_ENTRY(Type_equality, 0, 2) {
196196
return Bool::Get(type.IsEquivalent(other, TypeEquality::kSyntactical)).raw();
197197
}
198198

199-
DEFINE_NATIVE_ENTRY(LibraryPrefix_isLoaded, 0, 1) {
200-
const LibraryPrefix& prefix =
201-
LibraryPrefix::CheckedHandle(zone, arguments->NativeArgAt(0));
202-
return Bool::Get(prefix.is_loaded()).raw();
203-
}
204-
205-
DEFINE_NATIVE_ENTRY(LibraryPrefix_setLoaded, 0, 1) {
206-
const LibraryPrefix& prefix =
207-
LibraryPrefix::CheckedHandle(zone, arguments->NativeArgAt(0));
208-
prefix.set_is_loaded(true);
209-
return Instance::null();
210-
}
211-
212199
DEFINE_NATIVE_ENTRY(Internal_inquireIs64Bit, 0, 0) {
213200
#if defined(ARCH_IS_64_BIT)
214201
return Bool::True().raw();

runtime/vm/bootstrap_natives.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ namespace dart {
3131
V(AbstractType_toString, 1) \
3232
V(Type_getHashCode, 1) \
3333
V(Type_equality, 2) \
34-
V(LibraryPrefix_isLoaded, 1) \
35-
V(LibraryPrefix_setLoaded, 1) \
3634
V(Identical_comparison, 2) \
3735
V(Integer_bitAndFromInteger, 2) \
3836
V(Integer_bitOrFromInteger, 2) \

runtime/vm/clustered_snapshot.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3248,7 +3248,6 @@ class LibraryPrefixDeserializationCluster : public DeserializationCluster {
32483248
ReadFromTo(prefix);
32493249
prefix->ptr()->num_imports_ = d->Read<uint16_t>();
32503250
prefix->ptr()->is_deferred_load_ = d->Read<bool>();
3251-
prefix->ptr()->is_loaded_ = !prefix->ptr()->is_deferred_load_;
32523251
}
32533252
}
32543253
};

runtime/vm/compiler/backend/il.cc

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1097,11 +1097,7 @@ ConstantInstr::ConstantInstr(const Object& value, TokenPosition token_pos)
10971097
// tables used for certain character classes are represented as TypedData,
10981098
// and so those values are also neither immutable (as there are no immutable
10991099
// TypedData values) or canonical.
1100-
//
1101-
// LibraryPrefixes are also never canonicalized since their equality is
1102-
// their identity.
1103-
ASSERT(value.IsTypeParameter() || value.IsArray() || value.IsTypedData() ||
1104-
value.IsLibraryPrefix());
1100+
ASSERT(value.IsTypeParameter() || value.IsArray() || value.IsTypedData());
11051101
}
11061102
#endif
11071103
}

runtime/vm/compiler/frontend/kernel_binary_flowgraph.cc

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1363,9 +1363,9 @@ Fragment StreamingFlowGraphBuilder::BuildExpression(TokenPosition* position) {
13631363
case kInstantiation:
13641364
return BuildPartialTearoffInstantiation(position);
13651365
case kLoadLibrary:
1366-
return BuildLibraryPrefixAction(position, Symbols::LoadLibrary());
13671366
case kCheckLibraryIsLoaded:
1368-
return BuildLibraryPrefixAction(position, Symbols::CheckLoaded());
1367+
ReadUInt(); // skip library index
1368+
return BuildFutureNullValue(position);
13691369
case kConstStaticInvocation:
13701370
case kConstConstructorInvocation:
13711371
case kConstListLiteral:
@@ -4068,26 +4068,6 @@ Fragment StreamingFlowGraphBuilder::BuildPartialTearoffInstantiation(
40684068
return instructions;
40694069
}
40704070

4071-
Fragment StreamingFlowGraphBuilder::BuildLibraryPrefixAction(
4072-
TokenPosition* position,
4073-
const String& selector) {
4074-
const intptr_t dependency_index = ReadUInt();
4075-
const Library& current_library = Library::Handle(
4076-
Z, Class::Handle(Z, parsed_function()->function().origin()).library());
4077-
const Array& dependencies = Array::Handle(Z, current_library.dependencies());
4078-
const LibraryPrefix& prefix =
4079-
LibraryPrefix::CheckedZoneHandle(Z, dependencies.At(dependency_index));
4080-
const Function& function =
4081-
Function::ZoneHandle(Z, Library::Handle(Z, Library::CoreLibrary())
4082-
.LookupFunctionAllowPrivate(selector));
4083-
ASSERT(!function.IsNull());
4084-
Fragment instructions;
4085-
instructions += Constant(prefix);
4086-
instructions +=
4087-
StaticCall(TokenPosition::kNoSource, function, 1, ICData::kStatic);
4088-
return instructions;
4089-
}
4090-
40914071
Fragment StreamingFlowGraphBuilder::BuildExpressionStatement() {
40924072
Fragment instructions = BuildExpression(); // read expression.
40934073
instructions += Drop();

runtime/vm/compiler/frontend/kernel_binary_flowgraph.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -335,8 +335,6 @@ class StreamingFlowGraphBuilder : public KernelReaderHelper {
335335
Fragment BuildFutureNullValue(TokenPosition* position);
336336
Fragment BuildConstantExpression(TokenPosition* position, Tag tag);
337337
Fragment BuildPartialTearoffInstantiation(TokenPosition* position);
338-
Fragment BuildLibraryPrefixAction(TokenPosition* position,
339-
const String& selector);
340338

341339
Fragment BuildExpressionStatement();
342340
Fragment BuildBlock();

runtime/vm/compiler/runtime_offsets_extracted.h

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ static constexpr dart::compiler::target::word Integer_InstanceSize = 4;
450450
static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize =
451451
64;
452452
static constexpr dart::compiler::target::word LanguageError_InstanceSize = 28;
453-
static constexpr dart::compiler::target::word Library_InstanceSize = 80;
453+
static constexpr dart::compiler::target::word Library_InstanceSize = 76;
454454
static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 20;
455455
static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 28;
456456
static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize =
@@ -944,7 +944,7 @@ static constexpr dart::compiler::target::word Integer_InstanceSize = 8;
944944
static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize =
945945
128;
946946
static constexpr dart::compiler::target::word LanguageError_InstanceSize = 48;
947-
static constexpr dart::compiler::target::word Library_InstanceSize = 152;
947+
static constexpr dart::compiler::target::word Library_InstanceSize = 144;
948948
static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 40;
949949
static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 56;
950950
static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize =
@@ -1429,7 +1429,7 @@ static constexpr dart::compiler::target::word Integer_InstanceSize = 4;
14291429
static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize =
14301430
64;
14311431
static constexpr dart::compiler::target::word LanguageError_InstanceSize = 28;
1432-
static constexpr dart::compiler::target::word Library_InstanceSize = 80;
1432+
static constexpr dart::compiler::target::word Library_InstanceSize = 76;
14331433
static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 20;
14341434
static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 28;
14351435
static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize =
@@ -1924,7 +1924,7 @@ static constexpr dart::compiler::target::word Integer_InstanceSize = 8;
19241924
static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize =
19251925
128;
19261926
static constexpr dart::compiler::target::word LanguageError_InstanceSize = 48;
1927-
static constexpr dart::compiler::target::word Library_InstanceSize = 152;
1927+
static constexpr dart::compiler::target::word Library_InstanceSize = 144;
19281928
static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 40;
19291929
static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 56;
19301930
static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize =
@@ -2408,7 +2408,7 @@ static constexpr dart::compiler::target::word Integer_InstanceSize = 4;
24082408
static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize =
24092409
64;
24102410
static constexpr dart::compiler::target::word LanguageError_InstanceSize = 28;
2411-
static constexpr dart::compiler::target::word Library_InstanceSize = 80;
2411+
static constexpr dart::compiler::target::word Library_InstanceSize = 76;
24122412
static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 20;
24132413
static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 28;
24142414
static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize =
@@ -2896,7 +2896,7 @@ static constexpr dart::compiler::target::word Integer_InstanceSize = 8;
28962896
static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize =
28972897
128;
28982898
static constexpr dart::compiler::target::word LanguageError_InstanceSize = 48;
2899-
static constexpr dart::compiler::target::word Library_InstanceSize = 152;
2899+
static constexpr dart::compiler::target::word Library_InstanceSize = 144;
29002900
static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 40;
29012901
static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 56;
29022902
static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize =
@@ -3375,7 +3375,7 @@ static constexpr dart::compiler::target::word Integer_InstanceSize = 4;
33753375
static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize =
33763376
64;
33773377
static constexpr dart::compiler::target::word LanguageError_InstanceSize = 28;
3378-
static constexpr dart::compiler::target::word Library_InstanceSize = 80;
3378+
static constexpr dart::compiler::target::word Library_InstanceSize = 76;
33793379
static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 20;
33803380
static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 28;
33813381
static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize =
@@ -3864,7 +3864,7 @@ static constexpr dart::compiler::target::word Integer_InstanceSize = 8;
38643864
static constexpr dart::compiler::target::word KernelProgramInfo_InstanceSize =
38653865
128;
38663866
static constexpr dart::compiler::target::word LanguageError_InstanceSize = 48;
3867-
static constexpr dart::compiler::target::word Library_InstanceSize = 152;
3867+
static constexpr dart::compiler::target::word Library_InstanceSize = 144;
38683868
static constexpr dart::compiler::target::word LibraryPrefix_InstanceSize = 40;
38693869
static constexpr dart::compiler::target::word LinkedHashMap_InstanceSize = 56;
38703870
static constexpr dart::compiler::target::word LocalVarDescriptors_InstanceSize =
@@ -4384,7 +4384,7 @@ static constexpr dart::compiler::target::word
43844384
AOT_KernelProgramInfo_InstanceSize = 64;
43854385
static constexpr dart::compiler::target::word AOT_LanguageError_InstanceSize =
43864386
28;
4387-
static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 76;
4387+
static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 72;
43884388
static constexpr dart::compiler::target::word AOT_LibraryPrefix_InstanceSize =
43894389
20;
43904390
static constexpr dart::compiler::target::word AOT_LinkedHashMap_InstanceSize =
@@ -4919,7 +4919,7 @@ static constexpr dart::compiler::target::word
49194919
AOT_KernelProgramInfo_InstanceSize = 128;
49204920
static constexpr dart::compiler::target::word AOT_LanguageError_InstanceSize =
49214921
48;
4922-
static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 144;
4922+
static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 136;
49234923
static constexpr dart::compiler::target::word AOT_LibraryPrefix_InstanceSize =
49244924
40;
49254925
static constexpr dart::compiler::target::word AOT_LinkedHashMap_InstanceSize =
@@ -5458,7 +5458,7 @@ static constexpr dart::compiler::target::word
54585458
AOT_KernelProgramInfo_InstanceSize = 128;
54595459
static constexpr dart::compiler::target::word AOT_LanguageError_InstanceSize =
54605460
48;
5461-
static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 144;
5461+
static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 136;
54625462
static constexpr dart::compiler::target::word AOT_LibraryPrefix_InstanceSize =
54635463
40;
54645464
static constexpr dart::compiler::target::word AOT_LinkedHashMap_InstanceSize =
@@ -5984,7 +5984,7 @@ static constexpr dart::compiler::target::word
59845984
AOT_KernelProgramInfo_InstanceSize = 64;
59855985
static constexpr dart::compiler::target::word AOT_LanguageError_InstanceSize =
59865986
28;
5987-
static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 76;
5987+
static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 72;
59885988
static constexpr dart::compiler::target::word AOT_LibraryPrefix_InstanceSize =
59895989
20;
59905990
static constexpr dart::compiler::target::word AOT_LinkedHashMap_InstanceSize =
@@ -6512,7 +6512,7 @@ static constexpr dart::compiler::target::word
65126512
AOT_KernelProgramInfo_InstanceSize = 128;
65136513
static constexpr dart::compiler::target::word AOT_LanguageError_InstanceSize =
65146514
48;
6515-
static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 144;
6515+
static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 136;
65166516
static constexpr dart::compiler::target::word AOT_LibraryPrefix_InstanceSize =
65176517
40;
65186518
static constexpr dart::compiler::target::word AOT_LinkedHashMap_InstanceSize =
@@ -7044,7 +7044,7 @@ static constexpr dart::compiler::target::word
70447044
AOT_KernelProgramInfo_InstanceSize = 128;
70457045
static constexpr dart::compiler::target::word AOT_LanguageError_InstanceSize =
70467046
48;
7047-
static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 144;
7047+
static constexpr dart::compiler::target::word AOT_Library_InstanceSize = 136;
70487048
static constexpr dart::compiler::target::word AOT_LibraryPrefix_InstanceSize =
70497049
40;
70507050
static constexpr dart::compiler::target::word AOT_LinkedHashMap_InstanceSize =

runtime/vm/isolate_reload.cc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -738,7 +738,7 @@ bool IsolateGroupReloadContext::Reload(bool force_reload,
738738

739739
// Ensure all functions on the stack have unoptimized code.
740740
// Deoptimize all code that had optimizing decisions that are dependent on
741-
// assumptions from field guards or CHA or deferred library prefixes.
741+
// assumptions from field guards or CHA.
742742
// TODO(johnmccutchan): Deoptimizing dependent code here (before the reload)
743743
// is paranoid. This likely can be moved to the commit phase.
744744
ForEachIsolate([&](Isolate* isolate) {
@@ -1312,8 +1312,6 @@ void IsolateReloadContext::DeoptimizeDependentCode() {
13121312
}
13131313

13141314
DeoptimizeTypeTestingStubs();
1315-
1316-
// TODO(rmacnak): Also call LibraryPrefix::InvalidateDependentCode.
13171315
}
13181316

13191317
void IsolateGroupReloadContext::CheckpointSharedClassTable() {

runtime/vm/kernel_loader.cc

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1305,7 +1305,6 @@ void KernelLoader::LoadLibraryImportsAndExports(Library* library,
13051305
LibraryPrefix& library_prefix = LibraryPrefix::Handle(Z);
13061306

13071307
const intptr_t deps_count = helper_.ReadListLength();
1308-
const Array& deps = Array::Handle(Array::New(deps_count));
13091308
for (intptr_t dep = 0; dep < deps_count; ++dep) {
13101309
LibraryDependencyHelper dependency_helper(&helper_);
13111310

@@ -1389,21 +1388,12 @@ void KernelLoader::LoadLibraryImportsAndExports(Library* library,
13891388
}
13901389
}
13911390
}
1392-
13931391
if (FLAG_enable_mirrors && dependency_helper.annotation_count_ > 0) {
13941392
ASSERT(annotations_kernel_offset > 0);
13951393
ns.AddMetadata(toplevel_class, TokenPosition::kNoSource,
13961394
annotations_kernel_offset);
13971395
}
1398-
1399-
if (prefix.IsNull()) {
1400-
deps.SetAt(dep, ns);
1401-
} else {
1402-
deps.SetAt(dep, library_prefix);
1403-
}
14041396
}
1405-
1406-
library->set_dependencies(deps);
14071397
}
14081398

14091399
void KernelLoader::LoadPreliminaryClass(ClassHelper* class_helper,

runtime/vm/object.cc

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11081,6 +11081,27 @@ void ClassDictionaryIterator::MoveToNextClass() {
1108111081
}
1108211082
}
1108311083

11084+
LibraryPrefixIterator::LibraryPrefixIterator(const Library& library)
11085+
: DictionaryIterator(library) {
11086+
Advance();
11087+
}
11088+
11089+
LibraryPrefixPtr LibraryPrefixIterator::GetNext() {
11090+
ASSERT(HasNext());
11091+
int ix = next_ix_++;
11092+
Object& obj = Object::Handle(array_.At(ix));
11093+
Advance();
11094+
return LibraryPrefix::Cast(obj).raw();
11095+
}
11096+
11097+
void LibraryPrefixIterator::Advance() {
11098+
Object& obj = Object::Handle(array_.At(next_ix_));
11099+
while (!obj.IsLibraryPrefix() && HasNext()) {
11100+
next_ix_++;
11101+
obj = array_.At(next_ix_);
11102+
}
11103+
}
11104+
1108411105
static void ReportTooManyImports(const Library& lib) {
1108511106
const String& url = String::Handle(lib.url());
1108611107
Report::MessageF(Report::kError, Script::Handle(lib.LookupScript(url)),
@@ -12054,10 +12075,6 @@ void Library::set_toplevel_class(const Class& value) const {
1205412075
StorePointer(&raw_ptr()->toplevel_class_, value.raw());
1205512076
}
1205612077

12057-
void Library::set_dependencies(const Array& deps) const {
12058-
StorePointer(&raw_ptr()->dependencies_, deps.raw());
12059-
}
12060-
1206112078
void Library::set_metadata(const GrowableObjectArray& value) const {
1206212079
StorePointer(&raw_ptr()->metadata_, value.raw());
1206312080
}
@@ -12926,7 +12943,6 @@ LibraryPrefixPtr LibraryPrefix::New(const String& name,
1292612943
result.set_num_imports(0);
1292712944
result.set_importer(importer);
1292812945
result.StoreNonPointer(&result.raw_ptr()->is_deferred_load_, deferred_load);
12929-
result.StoreNonPointer(&result.raw_ptr()->is_loaded_, !deferred_load);
1293012946
result.set_imports(Array::Handle(Array::New(kInitialSize)));
1293112947
result.AddImport(import);
1293212948
return result.raw();
@@ -12954,7 +12970,8 @@ void LibraryPrefix::set_importer(const Library& value) const {
1295412970

1295512971
const char* LibraryPrefix::ToCString() const {
1295612972
const String& prefix = String::Handle(name());
12957-
return prefix.ToCString();
12973+
return OS::SCreate(Thread::Current()->zone(), "LibraryPrefix:'%s'",
12974+
prefix.ToCString());
1295812975
}
1295912976

1296012977
void Namespace::set_metadata_field(const Field& value) const {

runtime/vm/object.h

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4543,6 +4543,7 @@ class DictionaryIterator : public ValueObject {
45434543
int next_ix_; // Index of next element.
45444544

45454545
friend class ClassDictionaryIterator;
4546+
friend class LibraryPrefixIterator;
45464547
DISALLOW_COPY_AND_ASSIGN(DictionaryIterator);
45474548
};
45484549

@@ -4573,6 +4574,16 @@ class ClassDictionaryIterator : public DictionaryIterator {
45734574
DISALLOW_COPY_AND_ASSIGN(ClassDictionaryIterator);
45744575
};
45754576

4577+
class LibraryPrefixIterator : public DictionaryIterator {
4578+
public:
4579+
explicit LibraryPrefixIterator(const Library& library);
4580+
LibraryPrefixPtr GetNext();
4581+
4582+
private:
4583+
void Advance();
4584+
DISALLOW_COPY_AND_ASSIGN(LibraryPrefixIterator);
4585+
};
4586+
45764587
class Library : public Object {
45774588
public:
45784589
StringPtr name() const { return raw_ptr()->name_; }
@@ -4727,9 +4738,6 @@ class Library : public Object {
47274738
NamespacePtr ImportAt(intptr_t index) const;
47284739
LibraryPtr ImportLibraryAt(intptr_t index) const;
47294740

4730-
ArrayPtr dependencies() const { return raw_ptr()->dependencies_; }
4731-
void set_dependencies(const Array& deps) const;
4732-
47334741
void DropDependenciesAndCaches() const;
47344742

47354743
// Resolving native methods for script loaded in the library.
@@ -7334,10 +7342,6 @@ class LibraryPrefix : public Instance {
73347342
void AddImport(const Namespace& import) const;
73357343

73367344
bool is_deferred_load() const { return raw_ptr()->is_deferred_load_; }
7337-
bool is_loaded() const { return raw_ptr()->is_loaded_; }
7338-
void set_is_loaded(bool value) const {
7339-
return StoreNonPointer(&raw_ptr()->is_loaded_, value);
7340-
}
73417345

73427346
static intptr_t InstanceSize() {
73437347
return RoundedAllocationSize(sizeof(LibraryPrefixLayout));

0 commit comments

Comments
 (0)