GCTimer should know keep track of nested GC phases
authormhahnenb@gmail.com <mhahnenb@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 21 Mar 2015 02:02:44 +0000 (02:02 +0000)
committermhahnenb@gmail.com <mhahnenb@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 21 Mar 2015 02:02:44 +0000 (02:02 +0000)
commit138b01d93919d46d1edf2b7b3e6cd93b7aad71f0
tree6dd23f3f479e0cd19c93b6e411a15865b8f8305f
parent2a7d05bcd5c22a8b9e61cc6d53ce14d4b77e3e50
GCTimer should know keep track of nested GC phases
https://bugs.webkit.org/show_bug.cgi?id=142675

Reviewed by Darin Adler.

Source/JavaScriptCore:

This improves the GC phase timing output in Heap.cpp by linking
phases nested inside other phases together, allowing tools
to compute how much time we're spending in various nested phases.

* heap/Heap.cpp:

Tools:

Adds a tool to aid in parsing the GC phase timing output into a
tree-like structure based on the parent-child relationships
of nested GC phases.

* Scripts/parse-gc-phase-timings: Added.
(Timing):
(Timing.__init__):
(Timing.__unicode__):
(Timing.__str__):
(Timing.__repr__):
(parse_input):
(print_timing_node):
(print_timing_tree):
(link_parents):
(main):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/heap/Heap.cpp
Tools/ChangeLog
Tools/Scripts/parse-gc-phase-timings [new file with mode: 0755]