Chromium Code Reviews| Index: src/profile-generator.cc |
| diff --git a/src/profile-generator.cc b/src/profile-generator.cc |
| index acab8a092f1a81d999af7bc94160bb057d14d4dd..2abf9a37fb873bdcb5846314a0a4cf9bf49c8b7a 100644 |
| --- a/src/profile-generator.cc |
| +++ b/src/profile-generator.cc |
| @@ -1158,6 +1158,11 @@ void HeapSnapshot::Delete() { |
| } |
| +void HeapSnapshot::RememberLastSnapshotJSObjectId() { |
|
mnaganov (inactive)
2012/03/29 12:12:17
I think, the word 'Snapshot' in the method name is
|
| + max_snapshot_js_object_id_ = collection_->max_snapshot_js_object_id(); |
| +} |
| + |
| + |
| void HeapSnapshot::AllocateEntries(int entries_count, |
| int children_count, |
| int retainers_count) { |
| @@ -1224,11 +1229,6 @@ HeapEntry* HeapSnapshot::AddEntry(HeapEntry::Type type, |
| int retainers_count) { |
| HeapEntry* entry = GetNextEntryToInit(); |
| entry->Init(this, type, name, id, size, children_count, retainers_count); |
| - |
| - // Track only js objects. They have odd ids. |
| - if (id % HeapObjectsMap::kObjectIdStep && id > max_snapshot_js_object_id_) |
| - max_snapshot_js_object_id_ = id; |
| - |
| return entry; |
| } |
| @@ -3163,9 +3163,11 @@ bool HeapSnapshotGenerator::FillReferences() { |
| // layout and affecting retainer counts. This is not acceptable because |
| // number of retainers must not change between count and fill passes. |
| // To avoid this there's a separate postpass that set object names. |
| - return v8_heap_explorer_.IterateAndExtractReferences(&filler) |
| + bool result = v8_heap_explorer_.IterateAndExtractReferences(&filler) |
| && dom_explorer_.IterateAndExtractReferences(&filler) |
| && v8_heap_explorer_.IterateAndSetObjectNames(&filler); |
| + snapshot_->RememberLastSnapshotJSObjectId(); |
|
mnaganov (inactive)
2012/03/29 12:12:17
I would place this call into GenerateSnapshot. Hav
|
| + return result; |
| } |