Chromium Code Reviews| Index: src/profile-generator.h |
| diff --git a/src/profile-generator.h b/src/profile-generator.h |
| index 92896c29e997a8e1dd22c06b2cbaf505a5df608e..30ed771dc25f79a54b7d067710093e27dbc20ff5 100644 |
| --- a/src/profile-generator.h |
| +++ b/src/profile-generator.h |
| @@ -529,35 +529,14 @@ class HeapEntry BASE_EMBEDDED { |
| void set_name(const char* name) { name_ = name; } |
| inline SnapshotObjectId id() { return id_; } |
| int self_size() { return self_size_; } |
| - int retained_size() { return retained_size_; } |
| - void add_retained_size(int size) { retained_size_ += size; } |
| - void set_retained_size(int size) { retained_size_ = size; } |
| INLINE(int index() const); |
| - int postorder_index() { return postorder_index_; } |
| - void set_postorder_index(int value) { postorder_index_ = value; } |
| int children_count() const { return children_count_; } |
| INLINE(int set_children_index(int index)); |
| - INLINE(int set_retainers_index(int index)); |
| void add_child(HeapGraphEdge* edge) { |
| children_arr()[children_count_++] = edge; |
| } |
| - void add_retainer(HeapGraphEdge* edge) { |
| - retainers_arr()[retainers_count_++] = edge; |
| - } |
| Vector<HeapGraphEdge*> children() { |
| return Vector<HeapGraphEdge*>(children_arr(), children_count_); } |
| - Vector<HeapGraphEdge*> retainers() { |
| - return Vector<HeapGraphEdge*>(retainers_arr(), retainers_count_); } |
| - INLINE(HeapEntry* dominator() const); |
| - void set_dominator(HeapEntry* entry) { |
| - ASSERT(entry != NULL); |
| - dominator_ = entry->index(); |
| - } |
| - void clear_paint() { painted_ = false; } |
| - bool painted() { return painted_; } |
| - void paint() { painted_ = true; } |
| - bool user_reachable() { return user_reachable_; } |
| - void set_user_reachable() { user_reachable_ = true; } |
| void SetIndexedReference( |
| HeapGraphEdge::Type type, int index, HeapEntry* entry); |
| @@ -571,22 +550,12 @@ class HeapEntry BASE_EMBEDDED { |
| private: |
| INLINE(HeapGraphEdge** children_arr()); |
| - INLINE(HeapGraphEdge** retainers_arr()); |
| const char* TypeAsString(); |
| - unsigned painted_: 1; |
| - unsigned user_reachable_: 1; |
| - int dominator_: 30; |
| - unsigned type_: 4; |
| - int retainers_count_: 28; |
| - int retainers_index_; |
| + unsigned type_; |
|
alexeif
2012/05/22 16:47:03
make it a bit field with e.g. children_count_. Thi
|
| int children_count_; |
| int children_index_; |
| int self_size_; |
| - union { |
| - int postorder_index_; // Used during dominator tree building. |
| - int retained_size_; // At that moment, there is no retained size yet. |
| - }; |
| SnapshotObjectId id_; |
| HeapSnapshot* snapshot_; |
| const char* name_; |
| @@ -626,7 +595,6 @@ class HeapSnapshot { |
| List<HeapEntry>& entries() { return entries_; } |
| List<HeapGraphEdge>& edges() { return edges_; } |
| List<HeapGraphEdge*>& children() { return children_; } |
| - List<HeapGraphEdge*>& retainers() { return retainers_; } |
| void RememberLastJSObjectId(); |
| SnapshotObjectId max_snapshot_js_object_id() const { |
| return max_snapshot_js_object_id_; |
| @@ -640,11 +608,9 @@ class HeapSnapshot { |
| HeapEntry* AddGcRootsEntry(); |
| HeapEntry* AddGcSubrootEntry(int tag); |
| HeapEntry* AddNativesRootEntry(); |
| - void ClearPaint(); |
| HeapEntry* GetEntryById(SnapshotObjectId id); |
| List<HeapEntry*>* GetSortedEntriesList(); |
| - void SetDominatorsToSelf(); |
| - void FillChildrenAndRetainers(); |
| + void FillChildren(); |
| void Print(int max_depth); |
| void PrintEntriesSize(); |
| @@ -661,7 +627,6 @@ class HeapSnapshot { |
| List<HeapEntry> entries_; |
| List<HeapGraphEdge> edges_; |
| List<HeapGraphEdge*> children_; |
| - List<HeapGraphEdge*> retainers_; |
| List<HeapEntry*> sorted_entries_; |
| SnapshotObjectId max_snapshot_js_object_id_; |
| @@ -1061,16 +1026,9 @@ class HeapSnapshotGenerator : public SnapshottingProgressReportingInterface { |
| bool GenerateSnapshot(); |
| private: |
| - bool BuildDominatorTree(const Vector<HeapEntry*>& entries, |
| - Vector<int>* dominators); |
| - bool CalculateRetainedSizes(); |
| bool FillReferences(); |
| - void FillPostorderIndexes(Vector<HeapEntry*>* entries); |
| - bool IsUserGlobalReference(const HeapGraphEdge* edge); |
| - void MarkUserReachableObjects(); |
| void ProgressStep(); |
| bool ProgressReport(bool force = false); |
| - bool SetEntriesDominators(); |
| void SetProgressTotal(int iterations_count); |
| HeapSnapshot* snapshot_; |