You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[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
0 commit comments