feb93dd60b
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} |
||
---|---|---|
.. | ||
code-view.js | ||
constants.js | ||
disassembly-view.js | ||
edge.js | ||
empty-view.js | ||
expand-all.jpg | ||
graph-layout.js | ||
graph-view.js | ||
hide-selected.png | ||
hide-unselected.png | ||
index.html | ||
lang-disassembly.js | ||
layout-icon.png | ||
left-arrow.png | ||
monkey.js | ||
node.js | ||
OWNERS | ||
README | ||
right-arrow.png | ||
schedule-view.js | ||
search2.png | ||
search.png | ||
selection-broker.js | ||
selection.js | ||
text-view.js | ||
turbo-visualizer.css | ||
turbo-visualizer.js | ||
types.png | ||
upload-icon.png | ||
util.js | ||
view.js |
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.