| Index: src/profile-generator.h
|
| diff --git a/src/profile-generator.h b/src/profile-generator.h
|
| index 92896c29e997a8e1dd22c06b2cbaf505a5df608e..349226b43fad3ea9d996ce5bd539c979391810fa 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_;
|
| - int children_count_;
|
| + int children_count_: 28;
|
| 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_;
|
|
|