Index: runtime/vm/snapshot.cc |
=================================================================== |
--- runtime/vm/snapshot.cc (revision 34648) |
+++ runtime/vm/snapshot.cc (working copy) |
@@ -779,6 +779,10 @@ |
if (object_id == kFalseValue) { |
return Bool::False().raw(); |
} |
+ if (object_id == kDoubleObject) { |
+ ASSERT(kind_ == Snapshot::kMessage); |
+ return Double::New(ReadDouble()); |
+ } |
intptr_t class_id = ClassIdFromObjectId(object_id); |
if (IsSingletonClassId(class_id)) { |
return isolate()->class_table()->At(class_id); // get singleton class. |
@@ -1208,6 +1212,13 @@ |
return true; |
} |
+ if ((kind_ == Snapshot::kMessage) && (rawobj->GetClassId() == kDoubleCid)) { |
+ WriteVMIsolateObject(kDoubleObject); |
+ RawDouble* rd = reinterpret_cast<RawDouble*>(rawobj); |
+ WriteDouble(rd->ptr()->value_); |
+ return true; |
+ } |
siva
2014/04/03 00:23:16
We should probably consider caching the class id i
Ivan Posva
2014/04/03 00:58:02
Done.
|
+ |
// Check if object has already been serialized, in that case just write |
// the object id out. |
uword tags = rawobj->ptr()->tags_; |