v8/tools/turbolizer
bgeron feb93dd60b [turbolizer] Show a label with a shorter parameter for some opcodes.
With this patch, every node in turbo-*.json has an opcode, a title, and
a label. The label field is new; the opcode and title were already
there. The title is for the mouseover text. The label is what will be
displayed in the graph view, unless it's too long, in which case only
the opcode will be displayed. (This is similar to the preexisting
behaviour of putting titles in labels, except that the titles were
rarely short enough to fit in a label.)

With this patch, the labels generated are in practice the same as the
titles we had before, except for LoadField and StoreField, which will be
rendered as LoadField[[+432]] and StoreField[[+432]] (if 432 was the
offset).

This diff adds an overloadable method

    virtual void Operator1<T>::PrintParameter(ostream&, PrintVerbosity)

for each type T to Operator1. Its default implementation just uses
operator<<(ostream&, T const&) and adds square brackets around it, but
it is overridden for FieldAccess to print "[+432]" in the example case.

BUG=
R=jarin,danno

Review-Url: https://codereview.chromium.org/2093013002
Cr-Commit-Position: refs/heads/master@{#37795}
2016-07-15 12:07:43 +00:00
..
code-view.js [turbolizer] Improve code comments in disassembly 2016-07-11 08:28:22 +00:00
constants.js Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
disassembly-view.js [turbolizer] Improve code comments in disassembly 2016-07-11 08:28:22 +00:00
edge.js Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
empty-view.js Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
expand-all.jpg Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
graph-layout.js Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
graph-view.js [turbolizer] Show a label with a shorter parameter for some opcodes. 2016-07-15 12:07:43 +00:00
hide-selected.png Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
hide-unselected.png Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
index.html [turbolizer]: Fix bugs 2016-06-13 16:36:09 +00:00
lang-disassembly.js Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
layout-icon.png Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
left-arrow.png Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
monkey.js Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
node.js [turbolizer] Show a label with a shorter parameter for some opcodes. 2016-07-15 12:07:43 +00:00
OWNERS Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
README Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
right-arrow.png Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
schedule-view.js [turbolizer] Fully parse schedule data. 2016-06-21 15:18:40 +00:00
search2.png Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
search.png Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
selection-broker.js Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
selection.js [turbolizer] Performance improvements for selection in graph & schedule 2016-06-22 10:11:39 +00:00
text-view.js [turbolizer] Improve code comments in disassembly 2016-07-11 08:28:22 +00:00
turbo-visualizer.css [turbolizer] Features and bug-fixes 2016-06-13 13:21:54 +00:00
turbo-visualizer.js [turbolizer] Improve code comments in disassembly 2016-07-11 08:28:22 +00:00
types.png Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
upload-icon.png Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
util.js Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00
view.js Add a html-based visualizer for TurboFan graphs 2016-05-19 08:18:01 +00:00

Turbolizer is a HTML-based tool that visualizes optimized code along the various
phases of Turbofan's optimization pipeline, allowing easy navigation between
source code, Turbofan IR graphs, scheduled IR nodes and generated assembly code.

Turbolizer consumes .json files that are generated per-function by d8 by passing
the '--trace-turbo' command-line flag.

Host the turbolizer locally by starting a web server that serves the contents of
the turbolizer directory, e.g.:

cd src/tools/turbolizer
python -m SimpleHTTPServer 8000

Graph visualization and manipulation based on Mike Bostock's sample code for an
interactive tool for creating directed graphs. Original source is at
https://github.com/metacademy/directed-graph-creator and released under the
MIT/X license.

Icons dervied from the "White Olive Collection" created by Breezi released under
the Creative Commons BY license.