|
Revision tags: dev, v36.0.9, v44.0.1, v43.0.2, v36.0.8, v24.0.8, v44.0.0, v43.0.1, v42.0.2, v36.0.7, v24.0.7, v43.0.0, v42.0.1, v41.0.4, v42.0.0, v40.0.4, v36.0.6, v24.0.6, v41.0.3, v41.0.2, v41.0.1, v36.0.5, v40.0.3, v41.0.0, v36.0.4, v39.0.2, v40.0.2, v40.0.1, v40.0.0, v39.0.1, v39.0.0, v38.0.4, v37.0.3, v36.0.3, v24.0.5, v38.0.3, v38.0.2, v38.0.1, v37.0.2, v37.0.1, v37.0.0, v36.0.2, v36.0.1, v36.0.0, v35.0.0, v24.0.4, v33.0.2, v34.0.2, v34.0.1, v33.0.1, v24.0.3, v32.0.1, v34.0.0 |
|
| #
7cb6be25 |
| 02-Jun-2025 |
Nick Fitzgerald <[email protected]> |
Rebase, fix conflicts, and remove the bridge because it doesn't support the CLIF view (#10892)
Auto-format explorer index.js
Use CRC24 to pick colors for offsets in explore
Make better use of the
Rebase, fix conflicts, and remove the bridge because it doesn't support the CLIF view (#10892)
Auto-format explorer index.js
Use CRC24 to pick colors for offsets in explore
Make better use of the DOM
In the ASM view, instead of creating one element per instruction, create one per WASM chunk. This significantly reduces the amount of elements we have to take care of, including event listeners.
For both views, get rid of all the maps to look up DOM elements by WASM offset and use CSS selectors to find them. This made things quite a bit smoother. To highlight items, we now add a class to elements with the same WASM offset, and remove it when we don't want to highlight them anymore.
In addition to this, use a bit more tricks to get brighter colors from the CRC24 algorithm we're now using to pick the colors. (Since the colors can now be very dark, we get the luminance by using the NTSC color space, or YIQ, and use contrasting colors.)
Draw polygon bridging WAT and ASM views
Scale luma calculation to a power of two to avoid integer division
Outline hovered lines
Instead of using opacity, which slow down rendering, use a solid outline, which looks nicer and is more efficient!
Adjust bridge width to account for different scrollbar widths
Use simpler math in rgbToLuma() to avoid multiplications too
Slight improvement to crc24 calculation
Draw multiple conections from WAT to ASM views
Sometimes the ASM block contains disjoint sets of instructions that relate to one WASM instruction, so link all of them at the same time.
Show WASM offset on hover in the ASM view
Fix grouping of ASM instructions
Some instructions with NULL wasm_offset were being group together with the first instruction in the stream that had an offset.
Only set the title attribute to show WASM offset on hover
This saves quite a bit of memory!
Fix grouping of instructions in ASM mode
Add note about the origin of the CRC-24 calculation
Tweak color generation (let some brighter colors pass the filter)
Ensure we have enough elements to compute the bridge polygon
I don't know why this happens, but sometimes, a block of instructions in the ASM side, that have a WASM offset in the generated JSON, won't have an equivalent in the WAT side. Guard against this.
Don't obscure the hovered line with the outline
Simplify bridge width calculation
Optimize hovering of blocks when one 1 WAT element matches with 1 ASM element
Address review comments
Make eslint happy
Since this code runs in a browser, we need to tell eslint that it's going to run in a browser enviroment so things like `window` and `document` are defined.
Signed-off-by: L. Pereira <[email protected]> Co-authored-by: L. Pereira <[email protected]>
show more ...
|
|
Revision tags: v33.0.0, v32.0.0, v31.0.0, v30.0.2, v30.0.1, v30.0.0, v29.0.1, v29.0.0, v28.0.1, v28.0.0, v27.0.0, v26.0.1, v25.0.3, v24.0.2, v26.0.0, v21.0.2, v22.0.1, v23.0.3, v25.0.2, v24.0.1, v25.0.1, v25.0.0, v24.0.0, v23.0.2, v23.0.1, v23.0.0, v22.0.0, v21.0.1 |
|
| #
8848bac2 |
| 21-May-2024 |
Nick Fitzgerald <[email protected]> |
Add linting and formatting for JS code in `wasmtime explore` (#8675)
|