Index: src/snapshot/serializer.cc |
diff --git a/src/snapshot/serializer.cc b/src/snapshot/serializer.cc |
index 9ab186f9ba1e7a2d1b974d92f19a6a3f636d83a7..1ee957a2fbd74b9a739976ed5e661375df054fc3 100644 |
--- a/src/snapshot/serializer.cc |
+++ b/src/snapshot/serializer.cc |
@@ -140,8 +140,8 @@ bool Serializer::BackReferenceIsAlreadyAllocated( |
} |
#endif // DEBUG |
-bool Serializer::SerializeKnownObject(HeapObject* obj, HowToCode how_to_code, |
- WhereToPoint where_to_point, int skip) { |
+bool Serializer::SerializeHotObject(HeapObject* obj, HowToCode how_to_code, |
+ WhereToPoint where_to_point, int skip) { |
if (how_to_code == kPlain && where_to_point == kStartOfObject) { |
vogelheim
2016/06/23 13:39:14
[Feel free to ignore, since this is not even about
Yang
2016/06/24 06:00:58
Done.
|
// Encode a reference to a hot object by its index in the working set. |
int index = hot_objects_.Find(obj); |
@@ -161,6 +161,11 @@ bool Serializer::SerializeKnownObject(HeapObject* obj, HowToCode how_to_code, |
return true; |
} |
} |
+ return false; |
+} |
+ |
+bool Serializer::SerializeBackReference(HeapObject* obj, HowToCode how_to_code, |
+ WhereToPoint where_to_point, int skip) { |
SerializerReference reference = reference_map_.Lookup(obj); |
if (reference.is_valid()) { |
// Encode the location of an already deserialized object in order to write |
@@ -221,6 +226,7 @@ void Serializer::PutRoot(int root_index, HeapObject* object, |
FlushSkip(skip); |
sink_.Put(kRootArray + how_to_code + where_to_point, "RootSerialization"); |
sink_.PutInt(root_index, "root_index"); |
+ hot_objects_.Add(object); |
} |
} |