Separate wasm return values from calls in Ion
Categories
(Core :: JavaScript: WebAssembly, enhancement, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox74 | --- | fixed |
People
(Reporter: wingo, Assigned: wingo)
References
Details
Attachments
(1 file)
When we use Ion and WebAssembly, we might get multiple return values from function calls. This is the case both for using Ion to compile WebAssembly, and for inlined calls from JS to WebAssembly. However the way that Wasm calls are modelled in Ion right now makes it impossible to have multiple register results.
This patch separates the SSA definition of result values from the calls. In WasmIonCompile.cpp, this allows us to collect results into a vector, making them available as inputs to further WebAssembly instructions. The patch also updates the inline Ion-to-WebAssembly path to do the same.
Assignee | ||
Comment 1•5 years ago
|
||
When we use Ion and WebAssembly, we might get multiple return values
from function calls. This is the case both for using Ion to compile
WebAssembly, and for inlined calls from JS to WebAssembly. However the
way that Wasm calls are modelled in Ion right now makes it impossible to
have multiple register results.
This patch separates the SSA definition of result values from the
calls. In WasmIonCompile.cpp, this allows us to collect results into a
vector, making them available as inputs to further WebAssembly
instructions. The patch also updates the inline Ion-to-WebAssembly path
to do the same.
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
NB, patch edited to remove components touching IonToWasm calls.
Comment 4•5 years ago
|
||
bugherder |
Description
•