~/talk

Javy: Creating a toolchain for running JavaScript on WebAssembly

Talkat Wasm I/O 2023 · 2023-03-23..03-24· [webassembly, javascript]
links:none on file
slides:none on file

Javy converts JavaScript into tiny WebAssembly modules by embedding QuickJS bytecode, snapshotting the initialized runtime with Wizer, running Binaryen optimizations, and optionally dynamic linking against a shared wasmtime linker provider so per-user instances stay isolated. Input uses wasi stdio and top‑level eval so code must be bundled beforehand. Claim: produced modules shrink to modules <100 KB and hit Shopify constraints (tight size and sub‑5 ms execution) using QuickJS.

AI-written summary · about

  1. 0:00Introduction
  2. 1:00What is Javy
  3. 2:05How does Javy work
  4. 3:11Code example
  5. 3:41Imports
  6. 4:43Bundled files
  7. 5:53Why build Javy
  8. 8:02How we create WebAssembly
  9. 8:20Quickjs
  10. 8:31Quickjs Walls
  11. 9:06IO Code
  12. 9:35Wazi
  13. 11:00Wiser
  14. 11:21Quick JS
  15. 11:39Context and Value
  16. 12:45JavaScript APIs
  17. 13:03Javy Texture
  18. 15:01Dynamic Linking
  19. 17:03Export Methods
  20. 17:59Embedded Linking
  21. 18:28Code Module
  22. 19:23Start Function
  23. 20:47Executing the module
  24. 22:10Recap
  25. 23:00Questions
  26. 23:22Shopify
~/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.