Changeset 162796 in webkit for trunk/Source/JavaScriptCore/profiler/ProfileNode.h
- Timestamp:
- Jan 25, 2014, 10:30:38 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/profiler/ProfileNode.h
r157653 r162796 49 49 return adoptRef(new ProfileNode(callerCallFrame, callIdentifier, headNode, parentNode)); 50 50 } 51 51 52 static PassRefPtr<ProfileNode> create(ExecState* callerCallFrame, ProfileNode* headNode, ProfileNode* node) 52 53 { … … 72 73 ProfileNode* head() const { return m_head; } 73 74 void setHead(ProfileNode* head) { m_head = head; } 75 74 76 ProfileNode* parent() const { return m_parent; } 75 77 void setParent(ProfileNode* parent) { m_parent = parent; } 78 76 79 ProfileNode* nextSibling() const { return m_nextSibling; } 77 80 void setNextSibling(ProfileNode* nextSibling) { m_nextSibling = nextSibling; } … … 80 83 double startTime() const { return m_startTime; } 81 84 void setStartTime(double startTime) { m_startTime = startTime; } 82 double totalTime() const { return m_visibleTotalTime; }83 double actualTotalTime() const { return m_actualTotalTime; }84 void setTotalTime(double time) { m_actualTotalTime = time; m_visibleTotalTime = time; }85 void setActualTotalTime(double time) { m_actualTotalTime = time; }86 void setVisibleTotalTime(double time) { m_visibleTotalTime = time; }87 double selfTime() const { return m_visibleSelfTime; }88 double actualSelfTime() const { return m_actualSelfTime; }89 void setSelfTime(double time) {m_actualSelfTime = time; m_visibleSelfTime = time; }90 void setActualSelfTime(double time) { m_actualSelfTime = time; }91 void setVisibleSelfTime(double time) { m_visibleSelfTime = time; }92 85 93 double totalPercent() const { return (m_visibleTotalTime / (m_head ? m_head->totalTime() : totalTime())) * 100.0; } 94 double selfPercent() const { return (m_visibleSelfTime / (m_head ? m_head->totalTime() : totalTime())) * 100.0; } 86 double totalTime() const { return m_totalTime; } 87 void setTotalTime(double time) { m_totalTime = time; } 88 89 double selfTime() const { return m_selfTime; } 90 void setSelfTime(double time) { m_selfTime = time; } 91 92 double totalPercent() const { return (m_totalTime / (m_head ? m_head->totalTime() : totalTime())) * 100.0; } 93 double selfPercent() const { return (m_selfTime / (m_head ? m_head->totalTime() : totalTime())) * 100.0; } 95 94 96 95 unsigned numberOfCalls() const { return m_numberOfCalls; } 97 void setNumberOfCalls(unsigned number) { m_numberOfCalls = number; }98 96 99 97 // Children members … … 101 99 ProfileNode* firstChild() const { return m_children.size() ? m_children.first().get() : 0; } 102 100 ProfileNode* lastChild() const { return m_children.size() ? m_children.last().get() : 0; } 103 ProfileNode* findChild(ProfileNode*) const;104 101 void removeChild(ProfileNode*); 105 102 void addChild(PassRefPtr<ProfileNode> prpChild); 106 103 void insertNode(PassRefPtr<ProfileNode> prpNode); 107 104 108 // Visiblity109 bool visible() const { return m_visible; }110 void setVisible(bool visible) { m_visible = visible; }111 112 static void setTreeVisible(ProfileNode*, bool visible);113 114 // Sorting115 105 ProfileNode* traverseNextNodePostOrder() const; 116 ProfileNode* traverseNextNodePreOrder(bool processChildren = true) const;117 118 // Views119 void calculateVisibleTotalTime();120 bool focus(const CallIdentifier&);121 void exclude(const CallIdentifier&);122 void restore();123 106 124 107 void endAndRecordCall(); … … 139 122 void resetChildrensSiblings(); 140 123 141 RefPtr<ProfileNode>* childrenBegin() { return m_children.begin(); }142 RefPtr<ProfileNode>* childrenEnd() { return m_children.end(); }143 144 // Sorting comparators145 static inline bool totalTimeDescendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return a->totalTime() > b->totalTime(); }146 static inline bool totalTimeAscendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return a->totalTime() < b->totalTime(); }147 static inline bool selfTimeDescendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return a->selfTime() > b->selfTime(); }148 static inline bool selfTimeAscendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return a->selfTime() < b->selfTime(); }149 static inline bool callsDescendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return a->numberOfCalls() > b->numberOfCalls(); }150 static inline bool callsAscendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return a->numberOfCalls() < b->numberOfCalls(); }151 static inline bool functionNameDescendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return codePointCompareLessThan(b->functionName(), a->functionName()); }152 static inline bool functionNameAscendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return codePointCompareLessThan(a->functionName(), b->functionName()); }153 154 124 ExecState* m_callerCallFrame; 155 125 CallIdentifier m_callIdentifier; … … 159 129 160 130 double m_startTime; 161 double m_actualTotalTime; 162 double m_visibleTotalTime; 163 double m_actualSelfTime; 164 double m_visibleSelfTime; 131 double m_totalTime; 132 double m_selfTime; 165 133 unsigned m_numberOfCalls; 166 167 bool m_visible;168 134 169 135 Vector<RefPtr<ProfileNode>> m_children;
Note:
See TracChangeset
for help on using the changeset viewer.