Chromium Code Reviews| Index: src/profiler/heap-snapshot-generator.cc |
| diff --git a/src/profiler/heap-snapshot-generator.cc b/src/profiler/heap-snapshot-generator.cc |
| index 3fb387c59d4d627ce08ccc35ee21660249d7a556..4c0247634063c4f7dcd77399a6617f1b6d2c15b5 100644 |
| --- a/src/profiler/heap-snapshot-generator.cc |
| +++ b/src/profiler/heap-snapshot-generator.cc |
| @@ -1047,6 +1047,8 @@ bool V8HeapExplorer::ExtractReferencesPass1(int entry, HeapObject* obj) { |
| ExtractBoxReferences(entry, Box::cast(obj)); |
| } else if (obj->IsCell()) { |
| ExtractCellReferences(entry, Cell::cast(obj)); |
| + } else if (obj->IsWeakCell()) { |
| + ExtractWeakCellReferences(entry, WeakCell::cast(obj)); |
| } else if (obj->IsPropertyCell()) { |
| ExtractPropertyCellReferences(entry, PropertyCell::cast(obj)); |
| } else if (obj->IsAllocationSite()) { |
| @@ -1475,16 +1477,21 @@ void V8HeapExplorer::ExtractCodeReferences(int entry, Code* code) { |
| } |
| } |
| - |
| void V8HeapExplorer::ExtractBoxReferences(int entry, Box* box) { |
| SetInternalReference(box, entry, "value", box->value(), Box::kValueOffset); |
| } |
| - |
| void V8HeapExplorer::ExtractCellReferences(int entry, Cell* cell) { |
| SetInternalReference(cell, entry, "value", cell->value(), Cell::kValueOffset); |
| } |
| +void V8HeapExplorer::ExtractWeakCellReferences(int entry, WeakCell* weak_cell) { |
| + SetWeakReference(weak_cell, entry, "value", weak_cell->value(), |
| + WeakCell::kValueOffset); |
| + TagObject(weak_cell->next(), "(weak cell)"); |
| + SetWeakReference(weak_cell, entry, "next", weak_cell->next(), |
|
ulan
2016/08/02 12:32:17
This is a non-essential reference. Might make sens
alph
2016/08/02 13:00:11
Done.
|
| + WeakCell::kNextOffset); |
| +} |
| void V8HeapExplorer::ExtractPropertyCellReferences(int entry, |
| PropertyCell* cell) { |