Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2ec06de15a0dfa8686509598a5d7e70d62163e66
https://github.com/WebKit/WebKit/commit/2ec06de15a0dfa8686509598a5d7e70d62163e66
Author: Yusuke Suzuki <[email protected]>
Date: 2026-08-15 (Sat, 15 Aug 2026)
Changed paths:
M Source/JavaScriptCore/b3/B3EliminateCommonSubexpressions.cpp
Log Message:
-----------
[JSC] Skip WasmGC struct search when nothing else holds the key
https://bugs.webkit.org/show_bug.cgi?id=321781
rdar://184903374
Reviewed by Justin Michaud.
CSE::findWasmStructValue walks every transitive predecessor block whenever a
WasmStructGet or WasmStructSet has no match in its own block. This is
fine for normal memory access since their range is coarse enough that
data.writes.overlaps(range) removes many possibilities quickly. But
WasmGC struct fields are sparse enough so that we end up running
analysis to almost all blocks up to root.
Let's just keep tracking how many count of struct field access we
observed so far. This makes looking up the blocks quickly giving up as
we may see count = 1 case in most of cases.
* Source/JavaScriptCore/b3/B3EliminateCommonSubexpressions.cpp:
Canonical link: https://commits.webkit.org/319237@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications