Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fa0214fe9a50ec15bd24aa5c8200c9f2e298639a
https://github.com/WebKit/WebKit/commit/fa0214fe9a50ec15bd24aa5c8200c9f2e298639a
Author: Dan Hecht <[email protected]>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
A JSTests/stress/fixobviousspills-earlydefs.js
M Source/JavaScriptCore/b3/air/AirFixObviousSpills.cpp
Log Message:
-----------
[JSC] Fix AirFixObviousSpills modeling of early defs
https://bugs.webkit.org/show_bug.cgi?id=310303
rdar://171874387
Reviewed by Yusuke Suzuki and Keith Miller.
fixObviousSpills treats early defs the same as late defs, which is
fine for the analysis phase since aliasing is effectively computed
at the boundary after the instruction. However, during the rewrite
phase, it should not use an alias that has been invalidated by
any early defs (e.g. scratch registers). Otherwise, the early def
may clobber the aliased thing before it's used.
Fix this by breaking apart the steps so that rewriting can be
done in the correct sequence.
Test: JSTests/stress/fixobviousspills-earlydefs.js
* JSTests/stress/fixobviousspills-earlydefs.js: Added.
* Source/JavaScriptCore/b3/air/AirFixObviousSpills.cpp:
Originally-landed-as: 305413.539@rapid/safari-7624.2.5.110-branch
(383834666ab9). rdar://176062230
Canonical link: https://commits.webkit.org/313964@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications