Bug 276504
Summary: | [WASM] Compute B3 effect ranges for memory and global ops in OMG | ||
---|---|---|---|
Product: | WebKit | Reporter: | David Degazio <d_degazio> |
Component: | WebAssembly | Assignee: | David Degazio <d_degazio> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
David Degazio
Currently OMG does not explicitly specify effect ranges for any of the B3 memory values it generates, meaning they all implicitly take on the maximal HeapRange::top(). But we know statically that different WASM instructions will touch strictly disjoint regions of memory - i32.store may write any address in the current WASM memory, but it can never overwrite a global. And global 0 can't overlap with global 1 or 2. Let's compute B3 HeapRanges for these disjoint effect regions to enable B3 to better deduplicate and hoist loads and stores generated by OMG.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/131562611>
David Degazio
Pull request: https://github.com/WebKit/WebKit/pull/30924
EWS
Committed 281143@main (958d1de8af7b): <https://commits.webkit.org/281143@main>
Reviewed commits have been landed. Closing PR #30924 and removing active labels.