[webkit-changes] [WebKit/WebKit] aecb3e: [JSC][GreedyRegAlloc] Add some eviction/spill heur...
Dan Hecht
noreply at github.com
Wed Feb 26 13:28:31 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: aecb3e1da42b2db89ed5bcf92d9f53413e0bc427
https://github.com/WebKit/WebKit/commit/aecb3e1da42b2db89ed5bcf92d9f53413e0bc427
Author: Dan Hecht <dan.hecht at apple.com>
Date: 2025-02-26 (Wed, 26 Feb 2025)
Changed paths:
M Source/JavaScriptCore/b3/air/AirAllocateRegistersByGreedy.cpp
Log Message:
-----------
[JSC][GreedyRegAlloc] Add some eviction/spill heuristic experiments
https://bugs.webkit.org/show_bug.cgi?id=288632
rdar://145680413
Reviewed by Keith Miller.
A current weak point compared to the graph coloring allocator
is spilling choice when under register pressure, which shows
up especially on architectures with fewer registers such as
x64.
So, add some experimental configurations for adjusting the
spill heuristic. I'm not sure which will win out yet,
but I'd like to have these under git for future reference.
I'll go back and clean up the unused ones after things settle.
* Source/JavaScriptCore/b3/air/AirAllocateRegistersByGreedy.cpp:
(JSC::B3::Air::Greedy::TmpData::CoalescableWith::dump const):
(JSC::B3::Air::Greedy::TmpData::spillCost):
(JSC::B3::Air::Greedy::TmpData::validate):
(JSC::B3::Air::Greedy::GreedyAllocator::buildLiveRanges):
(JSC::B3::Air::Greedy::GreedyAllocator::finalizeGroups):
(JSC::B3::Air::Greedy::GreedyAllocator::initSpillCosts):
(JSC::B3::Air::Greedy::GreedyAllocator::setStageAndEnqueue):
(JSC::B3::Air::Greedy::GreedyAllocator::tryEvict):
Canonical link: https://commits.webkit.org/291163@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list