[Webkit-unassigned] [Bug 253298] New: Fix control flow with multiple exits on single-pass BBQ JIT
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Mar 2 23:06:30 PST 2023
https://bugs.webkit.org/show_bug.cgi?id=253298
Bug ID: 253298
Summary: Fix control flow with multiple exits on single-pass
BBQ JIT
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: WebAssembly
Assignee: webkit-unassigned at lists.webkit.org
Reporter: d_degazio at apple.com
rdar://106182518
Currently, in control flow instructions with multiple exits (namely br_if and br_table), we assume that the calling convention for each target’s block arguments will be the same. This is not the case universally though:
- When targeting the top level block, the results are allocated according to the WASM calling convention, not the block calling convention.
- If we run out of registers to use for the block calling convention, we pass arguments through WASM canonical stack slots. But the stack height of these may vary between target blocks, even if they have the same signature.
To fix this, we need to modify the ControlData methods currently used to manage control flow blocks, to permit setting up for multiple distinct exit branches per block.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230303/5281711d/attachment-0001.htm>
More information about the webkit-unassigned
mailing list