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

Reply via email to