Closed Bug 1655928 Opened 5 years ago Closed 5 years ago

Add SpiderMonkey-side artefacts to support Wasm Atomics on Cranelift/newBE/AArch64 (CL PR2077)

Categories

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

enhancement

Tracking

()

RESOLVED FIXED
81 Branch
Tracking Status
firefox81 --- fixed

People

(Reporter: jseward, Assigned: jseward)

References

Details

Attachments

(1 file, 3 obsolete files)

Cranelift PR2077 adds support for Wasm Atomics via the newBE/AArch64 pipeline. This requires a few changes on the SM side:

  • a change to compiler gating logic

  • translation of WaitI32/WaitI64/Notify requests into the relevant SM-side instance calls

Severity: -- → N/A
Priority: -- → P1
Attached patch atomics-SM.diff-15 (obsolete) — Splinter Review
Assignee: nobody → jseward
Attached patch atomics-SM.diff-16 (obsolete) — Splinter Review
Attachment #9166784 - Attachment is obsolete: true

Here's a link to the corresponding CL-side PR, for everybody's clicking convenience:
https://github.com/bytecodealliance/wasmtime/pull/2077

Cranelift PR2077 adds support for Wasm Atomics via the newBE/AArch64
pipeline. This requires a few changes on the SM side:

  • a change to compiler gating logic, allowing CL on AArch64 to support threads/atomics

  • translation of WaitI32/WaitI64/Notify requests into the relevant SM-side
    instance calls

    • three more BD_SymbolicAddress:: values
    • a binding for CL's HeapMisaligned trap code, which is new
    • in wasm2clif.rs, a new error-reporting mode: IsNegative32, and handling thereof
    • in wasm2clif.rs, translation of wait_i32/wait_i64/notify to instance calls
Attachment #9166785 - Attachment is obsolete: true

Cranelift PR2077 adds support for Wasm Atomics via the newBE/AArch64
pipeline. This requires a few changes on the SM side:

  • a change to compiler gating logic, allowing CL on AArch64 to support threads/atomics

  • translation of WaitI32/WaitI64/Notify requests into the relevant SM-side
    instance calls

    • three more BD_SymbolicAddress:: values
    • a binding for CL's HeapMisaligned trap code, which is new
    • in wasm2clif.rs, a new error-reporting mode: IsNegative32, and handling thereof
    • in wasm2clif.rs, translation of wait_i32/wait_i64/notify to instance calls
Depends on: 1657131
Attachment #9167246 - Attachment is obsolete: true
Attachment #9167689 - Attachment is obsolete: true
Attachment #9167689 - Attachment description: Bug 1655928 - Add SpiderMonkey-side artefacts to support Wasm Atomics on Cranelift/newBE/AArch64 (CL PR2077). → Bug 1655928 - Add SpiderMonkey-side artefacts to support Wasm Atomics on Cranelift/newBE/AArch64 (CL PR2077). r=cfallin.
Attachment #9167689 - Attachment is obsolete: false
Pushed by jseward@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/057cd099f3bc Add SpiderMonkey-side artefacts to support Wasm Atomics on Cranelift/newBE/AArch64 (CL PR2077). r=cfallin.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 81 Branch
Blocks: 1649927
No longer regressions: 1675216
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: