~/talk

Jumping Feet-First into JS on Wasm

TalkinRussianat HolyJS 2023 Spring · 2023-05-15..05-22· [webassembly, javascript]
links:none on file
slides:none on file

Describes a JIT approach that compiles JavaScript to WebAssembly to run user scripts (e.g., Figma plugins, Shopify functions) safely in a sandbox while improving runtime performance. Covers how to implement a JS→Wasm JIT (project: wingo/wasm-jit), measured performance of that solution, and comparisons with existing runtimes like QuickJS.

AI-written summary · about

  1. 0:00Introduction
  2. 1:52WebAssembly overview
  3. 3:35Shopify’s JS on Wasm
  4. 6:01QuickJS to Wasm
  5. 8:09Interpreter vs JIT issues
  6. 10:39SpiderMonkey async JIT
  7. 12:48SpiderMonkey on Wasm
  8. 15:20Macroassembler for Wasm
  9. 18:08Control graph compilation
  10. 22:24Optimizing control flow
  11. 26:19Performance test results
  12. 27:02Cache and call issues
  13. 28:49Stub compilation
  14. 30:17Global register access
  15. 31:41Direct calls inlining
  16. 33:05Call optimization
  17. 35:59Final perf vs interpreter
  18. 36:42Future plans
  19. 37:45Practical benefits
  20. 38:29Other languages to Wasm
  21. 39:32JS via C to Wasm
  22. 40:15Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.