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

Unified Diff: vm/raw_object_snapshot.cc

Issue 10834069: Do not try to serialize VM objects, these are read only canonical objects and should be referred to… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/runtime/
Patch Set: Created 8 years, 5 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: vm/raw_object_snapshot.cc
===================================================================
--- vm/raw_object_snapshot.cc (revision 10081)
+++ vm/raw_object_snapshot.cc (working copy)
@@ -81,13 +81,14 @@
ASSERT(writer != NULL);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
if ((kind == Snapshot::kFull) ||
(kind == Snapshot::kScript &&
!RawObject::IsCreatedFromSnapshot(writer->GetObjectTags(this)))) {
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kClassClass, writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kClassClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out all the non object pointer fields.
// NOTE: cpp_vtable_ is not written.
@@ -145,11 +146,11 @@
ASSERT(writer != NULL);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kUnresolvedClassClass,
- writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kUnresolvedClassClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out all the non object pointer fields.
writer->WriteIntptrValue(ptr()->token_pos_);
@@ -217,10 +218,11 @@
ASSERT(writer != NULL);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kTypeClass, writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kTypeClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out all the non object pointer fields.
writer->WriteIntptrValue(ptr()->token_pos_);
@@ -270,11 +272,11 @@
ASSERT(writer != NULL);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kTypeParameterClass,
- writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kTypeParameterClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out all the non object pointer fields.
writer->WriteIntptrValue(ptr()->index_);
@@ -342,11 +344,11 @@
ASSERT(writer != NULL);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kTypeArgumentsClass,
- writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kTypeArgumentsClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out the length field.
writer->Write<RawObject*>(ptr()->length_);
@@ -395,11 +397,11 @@
ASSERT(kind == Snapshot::kMessage);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kInstantiatedTypeArgumentsClass,
- writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kInstantiatedTypeArgumentsClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out all the object pointer fields.
SnapshotWriterVisitor visitor(writer, false);
@@ -455,11 +457,11 @@
!RawObject::IsCreatedFromSnapshot(writer->GetObjectTags(this)));
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kFunctionClass,
- writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kFunctionClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out all the non object fields.
writer->WriteIntptrValue(ptr()->token_pos_);
@@ -521,10 +523,11 @@
!RawObject::IsCreatedFromSnapshot(writer->GetObjectTags(this)));
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kFieldClass, writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kFieldClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out all the non object fields.
writer->WriteIntptrValue(ptr()->token_pos_);
@@ -573,11 +576,11 @@
ASSERT(kind != Snapshot::kMessage);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kLiteralTokenClass,
- writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kLiteralTokenClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out the kind field.
writer->Write<intptr_t>(ptr()->kind_);
@@ -629,11 +632,11 @@
!RawObject::IsCreatedFromSnapshot(writer->GetObjectTags(this)));
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kTokenStreamClass,
- writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kTokenStreamClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out the length field and the token stream.
intptr_t len = Smi::Value(ptr()->length_);
@@ -683,10 +686,11 @@
!RawObject::IsCreatedFromSnapshot(writer->GetObjectTags(this)));
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kScriptClass, writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kScriptClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out all the object pointer fields.
writer->WriteObjectImpl(ptr()->url_);
@@ -754,10 +758,11 @@
ASSERT(kind != Snapshot::kMessage);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kLibraryClass, writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kLibraryClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
if (RawObject::IsCreatedFromSnapshot(writer->GetObjectTags(this))) {
ASSERT(kind != Snapshot::kFull);
@@ -824,11 +829,11 @@
!RawObject::IsCreatedFromSnapshot(writer->GetObjectTags(this)));
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kLibraryPrefixClass,
- writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kLibraryPrefixClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out all non object fields.
writer->WriteIntptrValue(ptr()->num_libs_);
@@ -977,10 +982,11 @@
ASSERT(writer != NULL);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kContextClass, writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kContextClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out num of variables in the context.
writer->WriteIntptrValue(ptr()->num_variables_);
@@ -1028,11 +1034,11 @@
ASSERT(kind == Snapshot::kMessage);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(Object::kContextScopeClass,
- writer->GetObjectTags(this));
+ writer->WriteVMIsolateObject(Object::kContextScopeClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Serialize number of variables.
writer->WriteIntptrValue(ptr()->num_variables_);
@@ -1206,11 +1212,11 @@
ASSERT(writer != NULL);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(ObjectStore::kMintClass,
- writer->GetObjectTags(this));
+ writer->WriteIndexedObject(ObjectStore::kMintClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out the 64 bit value.
writer->Write<int64_t>(ptr()->value_);
@@ -1254,11 +1260,11 @@
ASSERT(writer != NULL);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(ObjectStore::kBigintClass,
- writer->GetObjectTags(this));
+ writer->WriteIndexedObject(ObjectStore::kBigintClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out the bigint value as a HEXCstring.
intptr_t length = ptr()->signed_length_;
@@ -1324,11 +1330,11 @@
ASSERT(writer != NULL);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(ObjectStore::kDoubleClass,
- writer->GetObjectTags(this));
+ writer->WriteIndexedObject(ObjectStore::kDoubleClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out the double value.
writer->Write<double>(ptr()->value_);
@@ -1482,10 +1488,11 @@
intptr_t len = Smi::Value(length);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(class_id, tags);
+ writer->WriteIndexedObject(class_id);
+ writer->WriteIntptrValue(tags);
// Write out the length field.
writer->Write<RawObject*>(length);
@@ -1736,11 +1743,11 @@
ASSERT(writer != NULL);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(ObjectStore::kGrowableObjectArrayClass,
- writer->GetObjectTags(this));
+ writer->WriteIndexedObject(ObjectStore::kGrowableObjectArrayClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out the used length field.
writer->Write<RawObject*>(ptr()->length_);
@@ -1846,10 +1853,11 @@
intptr_t len = Smi::Value(length);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(byte_array_kind, tags);
+ writer->WriteIndexedObject(byte_array_kind);
+ writer->WriteIntptrValue(tags);
// Write out the length field.
writer->Write<RawObject*>(length);
@@ -1976,11 +1984,11 @@
ASSERT(kind == Snapshot::kMessage);
// Write out the serialization header value for this object.
- writer->WriteSerializationMarker(kInlined, object_id);
+ writer->WriteInlinedObjectHeader(object_id);
// Write out the class and tags information.
- writer->WriteObjectHeader(ObjectStore::kJSRegExpClass,
- writer->GetObjectTags(this));
+ writer->WriteIndexedObject(ObjectStore::kJSRegExpClass);
+ writer->WriteIntptrValue(writer->GetObjectTags(this));
// Write out the data length field.
writer->Write<RawObject*>(ptr()->data_length_);

Powered by Google App Engine
This is Rietveld 408576698