Open Bug 1894759 Opened 9 months ago Updated 1 month ago

Audit the inline assembly in CallImportOnMainThread

Categories

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

enhancement

Tracking

()

People

(Reporter: yury, Unassigned)

References

(Blocks 1 open bug)

Details

Bug 1893838 reveals some issues with with saving call related registers in the CallImportOnMainThread method. The code needs to reinspected for all possible platforms.

Alternative idea is to not use inline assembly, but use masm generated code.

Blocks: 1893838

(1) ensure the trashed-reg lists contain all caller-saved registers

(2) ensure the trash lists also contain "memory" and "cc"

(3) possibly add volatile at the top level (asm volatile ..) to ensure the compiler doesn't try to move the asm block relative to surrounding code

(4) arm64: split up ldp/stp unless we can guarantee the base register is 16-aligned

Severity: -- → N/A
Priority: -- → P2
Blocks: wasm-jspi
No longer blocks: wasm-jspi-proto
You need to log in before you can comment on or make changes to this bug.