Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 9f5408747f1f97083b25b080222b7dc02eabdc93
https://github.com/WebKit/WebKit/commit/9f5408747f1f97083b25b080222b7dc02eabdc93
Author: Dan Hecht <[email protected]>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M Source/JavaScriptCore/b3/air/AirAllocateRegistersByGreedy.cpp
Log Message:
-----------
[JSC] GreedyRegAlloc: tryEvict can exit even earlier
https://bugs.webkit.org/show_bug.cgi?id=307686
rdar://170246074
Reviewed by Yijia Huang.
The tryEvict loop computes the minimum spill cost of the already
allocated tmps that conflict with the currently allocating tmp,
across all registers, to decide whether it is worthwhile evicting in
order to do this allocation. Each register loop already terminates
early if the spill cost for that register is greater than the minimum.
But ultimately, we only care of the final minimum is less than the
spill cost of the allocating tmp, so we can start with that value
as the minimum and potentially exit the loop even earlier.
This helps reduce compile time in cases with a lot of interfering tmps.
* Source/JavaScriptCore/b3/air/AirAllocateRegistersByGreedy.cpp:
(JSC::B3::Air::Greedy::GreedyAllocator::tryEvict):
Canonical link: https://commits.webkit.org/307471@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications