Open Bug 1846795 Opened 1 year ago Updated 11 months ago

Add a mechanism to detect (in)correctly placed slow callsites

Categories

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

enhancement

Tracking

()

People

(Reporter: yury, Unassigned)

References

Details

Wasm tail calls logic relies on call-sites to be marked as "slow" if it has a logic to restore heap registers and realm. It will be nice to verify in DEBUG, that these markers are properly placed.

Currently selected markers:

Platform Instruction Binary encoding
x64 OR r14, 0 49 83 CE 00
x86 OR esi, esi 0B F6
Aarch64 MOV x28, x28 AA1C03FC
ARM AND lr, lr, lr E00EE00E

From https://phabricator.services.mozilla.com/D190942:

the same issue here that we had with trap offset marking [...may arise]? Where MacroAssembler::call on some platforms could insert extra instructions that cause the no-op we insert here to be in the wrong location?

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