Closed Bug 1705361 Opened 5 years ago Closed 4 years ago

ARM wasm prologue/epilogue should use STM/LDM

Categories

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

ARM
All
enhancement

Tracking

()

RESOLVED WONTFIX

People

(Reporter: lth, Unassigned)

References

Details

The ARM wasm prologue is push lr; push fp; mov fp, sp, but we should be able to use push {lr,fp} aka STMDB aka STMFD for the same behavior because the register code of lr is greater than that of fp and it will therefore be stored at the higher address, as desired.

Ditto the epilogue should be able to use pop-multiple.

This will save three instructions per function (because each function has two copies of the prologue). WasmCheckedTailEntryOffset should be updated accordingly to avoid pointless nopfills.

See Also: → 1705495
Severity: -- → N/A
Priority: -- → P3
Summary: ARM wasm prologue could be smaller → ARM wasm prologue/epilogue should use STM/LDM
Assignee: lhansen → nobody
Status: ASSIGNED → NEW

We won't fix minor ARM perf bugs, ARM is dying.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.