[meta] Implement the WebAssembly multi-memory proposal
Categories
(Core :: JavaScript: WebAssembly, task, P3)
Tracking
()
People
(Reporter: lth, Unassigned)
References
(Depends on 1 open bug)
Details
(Keywords: meta)
Proposal: https://github.com/WebAssembly/multi-memory
Mostly this is just plumbing. The only really hard part is dealing with the JITs: at the moment, we have a pinned register to represent the heap pointer. With multiple memories, we need a better strategy.
We know that simply not making the heap pointer pinned results in a performance regression (bug 1342121), and the regression is probably not acceptable.
We can imagine keeping the heap pointer for single-memory modules (thus have no regression) or indeed having a dedicated heap pointer for memory 0, in the absence of a better hint (hints are being discussed on the proposal repo). That might amount to making the call ABI a little more complicated (the caller's memory 0 may not be the callee's memory 0).
We can imagine improving the optimizer to handle the heap register better, but that's pretty hand-wavy without a diagnosis of why we saw regressions in the first place.
Reporter | ||
Updated•3 years ago
|
Description
•