Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(75)

Unified Diff: runtime/vm/object.cc

Issue 2032153003: Use clustered serialization for full snapshots. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: round1 Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/object.cc
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index be99b1d146699f3a466bf290641c14a38d706924..c2f77496416156df6f0c215fd1af6b366dfe8438 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -1028,9 +1028,9 @@ void Object::FinalizeVMIsolate(Isolate* isolate) {
}
-void Object::InitVmIsolateSnapshotObjectTable(intptr_t len) {
+void Object::set_vm_isolate_snapshot_object_table(const Array& table) {
ASSERT(Isolate::Current() == Dart::vm_isolate());
- *vm_isolate_snapshot_object_table_ = Array::New(len, Heap::kOld);
+ *vm_isolate_snapshot_object_table_ = table.raw();
}
@@ -1691,8 +1691,8 @@ NOT_IN_PRODUCT(
#define REGISTER_TYPED_DATA_VIEW_CLASS(clazz) \
cls = Class::NewTypedDataViewClass(kTypedData##clazz##ViewCid);
CLASS_LIST_TYPED_DATA(REGISTER_TYPED_DATA_VIEW_CLASS);
- cls = Class::NewTypedDataViewClass(kByteDataViewCid);
#undef REGISTER_TYPED_DATA_VIEW_CLASS
+ cls = Class::NewTypedDataViewClass(kByteDataViewCid);
#define REGISTER_EXT_TYPED_DATA_CLASS(clazz) \
cls = Class::NewExternalTypedDataClass(kExternalTypedData##clazz##Cid);
CLASS_LIST_TYPED_DATA(REGISTER_EXT_TYPED_DATA_CLASS);
@@ -4448,6 +4448,7 @@ void Class::RehashConstants(Zone* zone) const {
while (it.MoveNext()) {
constant ^= set.GetKey(it.Current());
ASSERT(!constant.IsNull());
+ ASSERT(constant.IsCanonical());
InsertCanonicalConstant(zone, constant);
}
set.Release();
@@ -22019,6 +22020,12 @@ RawTypedData* TypedData::EmptyUint32Array(Thread* thread) {
const char* TypedData::ToCString() const {
+ switch (GetClassId()) {
+#define CASE_TYPED_DATA_CLASS(clazz) \
+ case kTypedData##clazz##Cid: return #clazz;
+ CLASS_LIST_TYPED_DATA(CASE_TYPED_DATA_CLASS);
+#undef CASE_TYPED_DATA_CLASS
+ }
return "TypedData";
}

Powered by Google App Engine
This is Rietveld 408576698