mirror of
https://github.com/dart-lang/sdk
synced 2024-09-05 08:24:39 +00:00
VM: Save one bool when serializing library prefixes.
When loading a snapshot all library prefixes should be considered not loaded. This makes code running from a JIT snapshot throw the correct error when using a deferred prefix before it is loaded. Also, update test status and avoid skipping tests. BUG= R=rmacnak@google.com Review URL: https://codereview.chromium.org/2416963003 .
This commit is contained in:
parent
318e842389
commit
701b91eb31
|
@ -2783,7 +2783,6 @@ class LibraryPrefixSerializationCluster : public SerializationCluster {
|
|||
}
|
||||
s->Write<uint16_t>(prefix->ptr()->num_imports_);
|
||||
s->Write<bool>(prefix->ptr()->is_deferred_load_);
|
||||
s->Write<bool>(prefix->ptr()->is_loaded_);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2825,7 +2824,7 @@ class LibraryPrefixDeserializationCluster : public DeserializationCluster {
|
|||
}
|
||||
prefix->ptr()->num_imports_ = d->Read<uint16_t>();
|
||||
prefix->ptr()->is_deferred_load_ = d->Read<bool>();
|
||||
prefix->ptr()->is_loaded_ = d->Read<bool>();
|
||||
prefix->ptr()->is_loaded_ = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1189,7 +1189,7 @@ RawLibraryPrefix* LibraryPrefix::ReadFrom(SnapshotReader* reader,
|
|||
reader->Read<int16_t>());
|
||||
prefix.StoreNonPointer(&prefix.raw_ptr()->is_deferred_load_,
|
||||
reader->Read<bool>());
|
||||
prefix.StoreNonPointer(&prefix.raw_ptr()->is_loaded_, reader->Read<bool>());
|
||||
prefix.StoreNonPointer(&prefix.raw_ptr()->is_loaded_, false);
|
||||
|
||||
// Set all the object fields.
|
||||
READ_OBJECT_FIELDS(prefix,
|
||||
|
@ -1220,7 +1220,6 @@ void RawLibraryPrefix::WriteTo(SnapshotWriter* writer,
|
|||
// Write out all non object fields.
|
||||
writer->Write<int16_t>(ptr()->num_imports_);
|
||||
writer->Write<bool>(ptr()->is_deferred_load_);
|
||||
writer->Write<bool>(ptr()->is_loaded_);
|
||||
|
||||
// Write out all the object pointer fields.
|
||||
SnapshotWriterVisitor visitor(writer, kAsReference);
|
||||
|
|
|
@ -179,17 +179,62 @@ super_call4_test: SkipByDesign
|
|||
super_getter_setter_test: SkipByDesign
|
||||
vm/reflect_core_vm_test: SkipByDesign
|
||||
|
||||
[ $noopt || $compiler == precompiler || $compiler == dart2app || $compiler == dart2appjit || $mode == product ]
|
||||
# Deferred loading happens eagerly
|
||||
regress_23408_test: Skip
|
||||
deferred_inheritance_constraints_test: Skip
|
||||
deferred_global_test: Skip
|
||||
deferred_load_constants_test: Skip
|
||||
tearoff_basic_test: Skip
|
||||
deferred_static_seperate_test: Skip
|
||||
deferred_constraints_type_annotation_test/new_before_load: Skip
|
||||
regress_22443_test: Skip
|
||||
deferred_not_loaded_check_test: Skip
|
||||
[ $noopt ]
|
||||
# Deferred loading happens eagerly. Issue #27587
|
||||
regress_23408_test: Fail
|
||||
deferred_inheritance_constraints_test/redirecting_constructor: Fail
|
||||
deferred_global_test: Fail
|
||||
deferred_load_constants_test/02: Fail
|
||||
deferred_load_constants_test/03: Fail
|
||||
deferred_load_constants_test/05: Fail
|
||||
tearoff_basic_test: Fail
|
||||
regress_22443_test: Fail
|
||||
deferred_not_loaded_check_test: Fail
|
||||
|
||||
[ $mode == product ]
|
||||
# Deferred loading happens eagerly. Issue #27587
|
||||
regress_23408_test: Fail
|
||||
deferred_inheritance_constraints_test/redirecting_constructor: Fail
|
||||
deferred_load_constants_test/02: Fail
|
||||
deferred_load_constants_test/03: Fail
|
||||
deferred_load_constants_test/05: Fail
|
||||
tearoff_basic_test: Fail
|
||||
deferred_not_loaded_check_test: Fail
|
||||
|
||||
[ $compiler == dart2appjit ]
|
||||
# Deferred loading happens eagerly. Issue #27587
|
||||
regress_23408_test: Fail
|
||||
deferred_inheritance_constraints_test/redirecting_constructor: Fail
|
||||
deferred_load_constants_test/none: Fail
|
||||
deferred_load_constants_test/02: Fail
|
||||
deferred_load_constants_test/03: Fail
|
||||
deferred_load_constants_test/05: Fail
|
||||
tearoff_basic_test: Fail
|
||||
deferred_static_seperate_test: Fail
|
||||
deferred_constraints_type_annotation_test/new_before_load: Fail
|
||||
regress_22443_test: Fail
|
||||
deferred_not_loaded_check_test: Fail
|
||||
|
||||
[ $compiler == dart2app ]
|
||||
# Deferred loading happens eagerly. Issue #27587
|
||||
regress_23408_test: Fail
|
||||
deferred_inheritance_constraints_test/redirecting_constructor: Fail
|
||||
deferred_load_constants_test/02: Fail
|
||||
deferred_load_constants_test/03: Fail
|
||||
deferred_load_constants_test/05: Fail
|
||||
tearoff_basic_test: Fail
|
||||
deferred_not_loaded_check_test: Fail
|
||||
|
||||
[ $compiler == precompiler ]
|
||||
# Deferred loading happens eagerly. Issue #27587
|
||||
regress_23408_test: Fail
|
||||
deferred_inheritance_constraints_test/redirecting_constructor: Fail
|
||||
deferred_global_test: Fail
|
||||
deferred_load_constants_test/02: Fail
|
||||
deferred_load_constants_test/03: Fail
|
||||
deferred_load_constants_test/05: Fail
|
||||
tearoff_basic_test: Fail
|
||||
deferred_not_loaded_check_test: Fail
|
||||
|
||||
[ $compiler == precompiler || $compiler == dart2app || $compiler == dart2appjit ]
|
||||
ct_const2_test: Skip # Incompatible flag: --compile_all
|
||||
|
|
Loading…
Reference in a new issue