Index: src/heap-snapshot-generator.cc |
diff --git a/src/heap-snapshot-generator.cc b/src/heap-snapshot-generator.cc |
index d65b8140039e43eb1e7c9d76747c54e6c3d0c1da..cb1fa4d58d2ec18148c15736a42abb853a72dc7b 100644 |
--- a/src/heap-snapshot-generator.cc |
+++ b/src/heap-snapshot-generator.cc |
@@ -955,9 +955,10 @@ void V8HeapExplorer::ExtractReferences(HeapObject* obj) { |
ExtractCellReferences(entry, Cell::cast(obj)); |
extract_indexed_refs = false; |
} else if (obj->IsPropertyCell()) { |
- ExtractPropertyCellReferences( |
- entry, PropertyCell::cast(obj)); |
+ ExtractPropertyCellReferences(entry, PropertyCell::cast(obj)); |
extract_indexed_refs = false; |
+ } else if (obj->IsAllocationSite()) { |
+ ExtractAllocationSiteReferences(entry, AllocationSite::cast(obj)); |
} |
if (extract_indexed_refs) { |
SetInternalReference(obj, entry, "map", obj->map(), HeapObject::kMapOffset); |
@@ -1264,6 +1265,13 @@ void V8HeapExplorer::ExtractPropertyCellReferences(int entry, |
} |
+void V8HeapExplorer::ExtractAllocationSiteReferences(int entry, |
+ AllocationSite* site) { |
+ SetInternalReference(site, entry, "transition_info", site->transition_info(), |
+ AllocationSite::kTransitionInfoOffset); |
+} |
+ |
+ |
void V8HeapExplorer::ExtractClosureReferences(JSObject* js_obj, int entry) { |
if (!js_obj->IsJSFunction()) return; |