Closed Bug 1897809 Opened 1 year ago Closed 1 year ago

Enable JIT exit for JS PI

Categories

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

task

Tracking

()

RESOLVED FIXED
130 Branch
Tracking Status
firefox130 --- fixed

People

(Reporter: yury, Assigned: yury)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Currently, when Wasm JS Promise Integration is enabled, the JIT exit optimization is disabled. The main issue that we need to track if execution is happening on the main (not suspendable) stack, and switch stacks otherwise.

Severity: -- → N/A
Priority: -- → P2
Blocks: wasm-jspi
No longer blocks: wasm-jspi-proto

I think we'll need to expand our JIT exit code so that performs an optional stack switch to the main stack. It'd be nice if the masm/stubs code we add for this was general enough that we could re-use it for our interpreter exit code too. This would let us have remove the inline assembly and solve bug 1894759. I'm a little worried that inline assembly is going to be hard to maintain, as it requires us to duplicate a lot of logic that we already have in masm.

Assignee: nobody → ydelendik
Attachment #9403523 - Attachment description: WIP: Bug 1897809 - Enable JIT exit for JSPI → Bug 1897809 - Enable JIT exit for JSPI. r?rhunt
Status: NEW → ASSIGNED

Avoids collision of two different js::jit::AssemblerBuffer's.

Pushed by ydelendik@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/309324abbc48 Change namespace for X86 specific AssemblerBuffer. r=jandem https://hg.mozilla.org/integration/autoland/rev/fe319ced93e9 Enable JIT exit for JSPI. r=rhunt
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 130 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: