Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4401bf8b0133fd4f34e2f8f7004daf92fc9ff6db
https://github.com/WebKit/WebKit/commit/4401bf8b0133fd4f34e2f8f7004daf92fc9ff6db
Author: Yusuke Suzuki <[email protected]>
Date: 2026-06-12 (Fri, 12 Jun 2026)
Changed paths:
M Source/JavaScriptCore/dfg/DFGMovHintRemovalPhase.cpp
Log Message:
-----------
[JSC] Reland global liveness MovHint removal
https://bugs.webkit.org/show_bug.cgi?id=316804
rdar://179252499
Reviewed by Yijia Huang.
The previous attempt at this (295369@main) was reverted because removing
pruneByLiveness from the OSR availability iteration loop caused a bug,
stale heap entries (whose base nodes have a valid stack flush via
PutStackSinking,
so they no longer need materialization) would accumulate in availabilityAtHead
and reach FTLs buildExitArguments, where they crash the "Could not find
materialization" assertion. That fix needs more work and is left for a
separate change.
This patch only relands the MovHint removal improvement. The phase now
performs a global backward liveness analysis instead of the prior
single-successor-walk heuristic.
* Source/JavaScriptCore/dfg/DFGMovHintRemovalPhase.cpp:
Canonical link: https://commits.webkit.org/315151@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications