summaryrefslogtreecommitdiff
path: root/deps/v8/tools/system-analyzer/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/tools/system-analyzer/index.html')
-rw-r--r--deps/v8/tools/system-analyzer/index.html214
1 files changed, 135 insertions, 79 deletions
diff --git a/deps/v8/tools/system-analyzer/index.html b/deps/v8/tools/system-analyzer/index.html
index a861300f91..fa09830240 100644
--- a/deps/v8/tools/system-analyzer/index.html
+++ b/deps/v8/tools/system-analyzer/index.html
@@ -8,33 +8,27 @@ found in the LICENSE file. -->
<title>Indicium</title>
<!-- <link rel="icon" type="image/png" href="/images/favicon.png"/> -->
- <link rel="modulepreload" href="./log-file-reader.mjs" >
<link rel="modulepreload" href="./helper.mjs" >
- <link rel="preload" href="./log-file-reader-template.html" as="fetch" crossorigin="anonymous">
+ <link rel="modulepreload" href="./view/log-file-reader.mjs" >
+ <link rel="modulepreload" href="./view/helper.mjs" >
+ <link rel="preload" href="./view/log-file-reader-template.html" as="fetch" crossorigin="anonymous">
<script type="module">
// Force instatiating the log-reader before anything else.
- import "./log-file-reader.mjs";
+ import "./view/log-file-reader.mjs";
// Delay loading of the main App
(async function() {
let module = await import('./index.mjs');
- globalThis.app = new module.App("#log-file-reader", "#map-panel", "#map-stats-panel",
- "#timeline-panel", "#ic-panel", "#map-track", "#ic-track", "#deopt-track",
- "#source-panel");
+ globalThis.app = new module.App();
})();
</script>
-
<link rel="stylesheet" type="text/css" href="./index.css">
<style>
- .theme-switch-wrapper {
- display: inline-block;
- align-items: center;
- }
-
.theme-switch {
display: inline-block;
height: 16px;
position: relative;
width: 38px;
+ vertical-align: middle;
}
.theme-switch input {
@@ -75,7 +69,7 @@ found in the LICENSE file. -->
width: 100%;
}
- .panels{
+ .panels {
display: grid;
align-content: center;
grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
@@ -91,31 +85,60 @@ found in the LICENSE file. -->
</head>
<body>
+ <tool-tip id="tool-tip"></tool-tip>
+
<section id="file-reader">
<log-file-reader id="log-file-reader"></log-file-reader>
</section>
<section id="container" class="initial">
<timeline-panel id="timeline-panel">
- <timeline-track id="map-track"></timeline-track>
- <timeline-track id="ic-track"></timeline-track>
- <timeline-track id="deopt-track"></timeline-track>
+ <timeline-track id="map-track" title="Map"></timeline-track>
+ <timeline-track id="ic-track" title="IC"></timeline-track>
+ <timeline-track id="deopt-track" title="Deopt"></timeline-track>
+ <timeline-track id="code-track" title="Code"></timeline-track>
+ <timeline-track id="api-track" title="API"></timeline-track>
</timeline-panel>
+
<div class="panels">
<map-panel id="map-panel"></map-panel>
- <stats-panel id="map-stats-panel"></stats-panel>
- <ic-panel id="ic-panel" onchange="app.handleSelectIc(event)"></ic-panel>
- <source-panel id="source-panel"></source-panel>
+ <list-panel id="ic-list" title="IC List">
+ <div class="legend">
+ <h3>Legend</h3>
+ <dl>
+ <dt>0</dt>
+ <dd>uninitialized</dd>
+ <dt>X</dt>
+ <dd>no feedback</dd>
+ <dt>1</dt>
+ <dd>monomorphic</dd>
+ <dt>^</dt>
+ <dd>recompute handler</dd>
+ <dt>P</dt>
+ <dd>polymorphic</dd>
+ <dt>N</dt>
+ <dd>megamorphic</dd>
+ <dt>G</dt>
+ <dd>generic</dd>
+ </dl>
+ </div>
+ </list-panel>
+ <list-panel id="map-list" title="Map Events"></list-panel>
+ <list-panel id="deopt-list" title="Deopt Events"></list-panel>
+ <list-panel id="code-list" title="Code Events"></list-panel>
+ <list-panel id="api-list" title="API Events"></list-panel>
+ <script-panel id="script-panel"></script-panel>
+ <code-panel id="code-panel"></code-panel>
</div>
</section>
<div class="panels">
<section id="settings" class="panel">
<h2>Settings</h2>
- <span>Theme:</span>
- <div class="theme-switch-wrapper">
+ <div class="panelBody">
+ <span>Theme:</span>
<label class="theme-switch" for="theme-switch-input">
- <input type="checkbox" id="theme-switch-input" />
+ <input type="checkbox" id="theme-switch-input" >
<div class="slider"></div>
</label>
</div>
@@ -123,63 +146,96 @@ found in the LICENSE file. -->
<section id="instructions" class="panel">
<h2>Instructions</h2>
- <p>
- Unified web interface to analyse runtime information stored in the v8 log.
- </p>
- For generating a v8.log file from <a href="https://v8.dev/docs/build">d8</a>:
- <ul>
- <li>
- <code>/path/do/d8 --trace-maps --trace_ic --log-source-code $FILE</code>
- </li>
- </ul>
- For generating a v8.log file from Chrome:
- <ul>
- <li>
- <code>/path/to/chrome --user-data-dir=/var/tmp/chr$RANDOM --no-sandbox
- --js-flags='--trace-ic --trace-maps --log-source-code’
- $WEBSITE_URL</code>
- </li>
- </ul>
-
- <h3>Log Options:</h3>
- <dl class="d8-options">
- <dt><code>--trace-maps</code></dt>
- <dd>Log<a href="https://v8.dev/blog/fast-properties" target="_blank">
- Maps</a></dd>
- <dt><code>--trace-ic</code></dt>
- <dd>Log
- <a href="https://mathiasbynens.be/notes/shapes-ics" target="_blank">
- ICs</a></dd>
- <dt><code>--log-source-code</code></dt>
- <dd>Log source code</dd>
- </dl>
-
- <h3>Keyboard Shortcuts for Navigation</h3>
- <dl>
- <dt><kbd>SHIFT</kbd> + <kbd>Arrow Up</kbd></dt>
- <dd>Follow Map transition forward (first child)</dd>
-
- <dt><kbd>SHIFT</kbd> + <kbd>Arrow Down</kbd></dt>
- <dd>Follow Map transition backwards</dd>
-
- <dt><kbd>Arrow Up</kbd></dt>
- <dd>Go to previous Map chunk</dd>
-
- <dt><kbd>Arrow Down</kbd></dt>
- <dd>Go to next Map in chunk</dd>
-
- <dt><kbd>Arrow Left</kbd></dt>
- <dd>Go to previous chunk</dd>
-
- <dt><kbd>Arrow Right</kbd></dt>
- <dd>Go to next chunk</dd>
-
- <dt><kbd>+</kbd></dt>
- <dd>Timeline zoom in</dd>
-
- <dt><kbd>-</kbd></dt>
- <dd>Timeline zoom out</dd>
- </dl>
+ <div class="panelBody">
+ <p>
+ Unified web interface to analyse runtime information stored in the v8 log.
+ </p>
+ For generating a v8.log file from <a href="https://v8.dev/docs/build">d8</a>:
+ <ul>
+ <li>
+ <code>/path/do/d8 $LOG_FLAGS $FILE</code>
+ </li>
+ </ul>
+ For generating a v8.log file from Chrome:
+ <ul>
+ <li>
+ <code>/path/to/chrome --user-data-dir=/var/tmp/chr$RANDOM --no-sandbox
+ --js-flags='$LOG_FLAGS’
+ $WEBSITE_URL</code>
+ </li>
+ </ul>
+
+ <h3><code>LOG_FLAGS</code>:</h3>
+ <dl class="d8-options">
+ <dt>
+ <a href="https://source.chromium.org/search?q=FLAG_log_all">
+ <code>--log-all</code>
+ </a>
+ </dt>
+ <dd>Enable all V8 logging options.</dd>
+ <dt>
+ <a href="https://source.chromium.org/search?q=FLAG_trace_maps">
+ <code>--trace-maps</code>
+ </a>
+ </dt>
+ <dd>
+ Log<a href="https://v8.dev/blog/fast-properties">Maps</a>
+ </dd>
+ <dt>
+ <a href="https://source.chromium.org/search?q=FLAG_trace_ic">
+ <code>--trace-ic</code>
+ </a>
+ </dt>
+ <dd>
+ Log <a href="https://mathiasbynens.be/notes/shapes-ics">ICs</a>
+ </dd>
+ <dt>
+ <a href="https://source.chromium.org/search?q=FLAG_log_source_code">
+ <code>--log-source-code</code>
+ </a>
+ </dt>
+ <dd>Log source code</dd>
+ <dt>
+ <a href="https://source.chromium.org/search?q=FLAG_log_code_disassemble">
+ <code>--log-code-disassemble</code>
+ </a>
+ </dt>
+ <dd>Log detailed generated generated code</dd>
+ <dt>
+ <a href="https://source.chromium.org/search?q=FLAG_log_api">
+ <code>--log-api</code>
+ </a>
+ </dt>
+ <dd>Log various API uses.</dd>
+ </dl>
+
+ <h3>Keyboard Shortcuts for Navigation</h3>
+ <dl>
+ <dt><kbd>SHIFT</kbd> + <kbd>Arrow Up</kbd></dt>
+ <dd>Follow Map transition forward (first child)</dd>
+
+ <dt><kbd>SHIFT</kbd> + <kbd>Arrow Down</kbd></dt>
+ <dd>Follow Map transition backwards</dd>
+
+ <dt><kbd>Arrow Up</kbd></dt>
+ <dd>Go to previous Map chunk</dd>
+
+ <dt><kbd>Arrow Down</kbd></dt>
+ <dd>Go to next Map in chunk</dd>
+
+ <dt><kbd>Arrow Left</kbd></dt>
+ <dd>Go to previous chunk</dd>
+
+ <dt><kbd>Arrow Right</kbd></dt>
+ <dd>Go to next chunk</dd>
+
+ <dt><kbd>+</kbd></dt>
+ <dd>Timeline zoom in</dd>
+
+ <dt><kbd>-</kbd></dt>
+ <dd>Timeline zoom out</dd>
+ </dl>
+ </div>
</section>
</div>
</body>