October 30, 2024 | JavaScript subgroup (BA Guest Languages SIG)
N/A
Attendee |
---|
Calvin Prewitt |
Dirk Baeumer |
Karthik Ganesharm |
Luke Wagner |
Till Schneidereit |
Tomasz Andrzejak |
Victor Adossi |
- Latest toolchain releases out
- [email protected] and [email protected]. Worth checking the release notes
- https://github.com/bytecodealliance/jco/releases/tag/1.7.1, https://github.com/bytecodealliance/ComponentizeJS/releases/tag/0.13.1
- ComponentizeJS has some important bug fixes for supporting resources and the performance builtin worth noting
- Debug build of ComponentizeJS still not carrying naming information, traced it down to a possible wasm-opt or toolchain bug with the RelWithDebInfo build in StarlingMonkey. Shame since we are so close to supporting proper traces
- Great work by Victor on docs!
- Great work by Calvin on async!
- Draft PR into jco for JSPI & Asyncify
- Allows for specifying which imports/exports should be async
- Keeping this PR small, and will have another one for the WASI shims & web platform APIs
- Need to sync with Guy and do a pair review, as impl has changed a bit since plumber summit
- JSPI supports re-entrancy, but Asyncify does not. Looks like components will have to be re-instantiated in the Asyncify case
- Some remaining work
- Till: Work on piping multiple bodies into an outgoing body (from guest)
- Opened PR bytecodealliance/StarlingMonkey#171
- This PR contains a test case that takes in a request and turns it into multiple requests (one for each word in a sentence), and those get streamed back letter-by-letter & reconstructed.
- Interesting to run w/
curl
and seeing the streaming responses, since they come in parallel, makes for a good demo
- Interesting to run w/
- This works and allows you to do things like combine chunks of video streams into one outgoing stream
- Started working on this due to working with Joel on the
append
operation forwasi:http
’sOutgoingBody
- Right now you have to keep the component around during the splicing but the hope is that you can terminate the instance while the splicing finishes
- Good demo might be sending 1000 requests to a wasmtime host and showing the memory usage w/ or w/out append
- Not covered by Web Platform tests – didn’t encounter any failures, had to build our own test
- Victor: Found a bug w/ unreachable fn in
jco
- Error:
wasm://wasm/0288e6d6:1
RuntimeError: unreachable
at wasm://wasm/0288e6d6:wasm-function[127]:0x24d91
at wasm://wasm/0288e6d6:wasm-function[128]:0x24d9a
at wasm://wasm/0288e6d6:wasm-function[4927]:0x224065
at example:string-reverse-upper/[email protected]#reverse-and-uppercase (wasm://wasm/0288e6d6:wasm-function[12736]:0x79a5fe)
at Object.reverseAndUppercase (file:///home/runner/work/jco/jco/examples/components/string-reverse-upper/dist/transpiled/string-reverse-upper.js:58:98)
at file:///home/runner/work/jco/jco/examples/components/string-reverse-upper/run-transpiled.js:10:30
- Calvin: Also this bytecodealliance/jco#517
- Tomasz: Blob builtin support PR
- Till: Looked at it, in-depth review is not done yet but it looks great
- Tomasz: Passing 200 platform tests out of 230 right now, still some details left
- Till: It may not make sense to wait for all the WPT tests to pass – some could be dependent on other parts that are not implemented (unrelated to Blob)
- Tomasz: I do want to update the test harness (git revision), is that fine?
- Till: Please do!
- Tomasz: I do want to update the test harness (git revision), is that fine?