7f162dbcb6
This change analyzes and links the output of --code-comments in the disassembly view within turbolizer with the other views, such that selecting these comments will also select the respective blocks/lines/nodes within the other views. The block start comments (e.g. -- B4 start --) are linked with the blocks in the schedule phase view and vice versa. The source position comments (e.g. -- primes.js:3:10 --) select the respective spans, lines, and nodes in the JavaScript code view, the schedule phase view, and the other compilation phase views respectively, and vice versa. It also modifies the display of the line and column numbers in the source position comments to be offset from 1 instead of 0 and ignore the initial source position of the first line of code (from removal of the function name in the compiler). Also fixed the bug where previous selections weren't being cleared properly across multiple views, adding appropriate clear calls when using the selection broker. Review-Url: https://codereview.chromium.org/2133663002 Cr-Commit-Position: refs/heads/master@{#37627} |
||
---|---|---|
.. | ||
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.