Closed Bug 1608121 Opened 5 years ago Closed 5 years ago

Separate wasm return values from calls in Ion

Categories

(Core :: JavaScript: WebAssembly, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla74
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.

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: nobody → wingo
Status: NEW → ASSIGNED
OS: Unspecified → All
Priority: -- → P2
Hardware: Unspecified → All

NB, patch edited to remove components touching IonToWasm calls.

Blocks: 1609057
Pushed by shindli@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2b3cfdd0c154 Separate wasm return values from calls in Ion r=lth
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
See Also: → 1609889
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: