Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0b634d738806db5de0d151920a066b5170fd20d5
https://github.com/WebKit/WebKit/commit/0b634d738806db5de0d151920a066b5170fd20d5
Author: Dan Hecht <[email protected]>
Date: 2026-04-21 (Tue, 21 Apr 2026)
Changed paths:
M Source/JavaScriptCore/b3/air/AirAllocateRegistersByGreedy.cpp
Log Message:
-----------
[JSC] GreedyRegAlloc: Split SplitMetadata into per-kind types
https://bugs.webkit.org/show_bug.cgi?id=312801
rdar://175188148
Reviewed by Yusuke Suzuki.
Replace the single SplitMetadata struct with separate
AroundClobbersSplitMetadata and IntraBlockSplitMetadata types, each
stored in its own vector. This makes the per-kind invariants explicit
in the type system and prepares for adding a third split kind.
AroundClobbersSplitMetadata::Split no longer carries the unused
lastDefPoint field. The type-switch dispatch in insertFixupCode() is
replaced by separate loops over each vector.
* Source/JavaScriptCore/b3/air/AirAllocateRegistersByGreedy.cpp:
(JSC::B3::Air::Greedy::AroundClobbersSplitMetadata::Split::dump const):
(JSC::B3::Air::Greedy::AroundClobbersSplitMetadata::AroundClobbersSplitMetadata):
(JSC::B3::Air::Greedy::AroundClobbersSplitMetadata::dump const):
(JSC::B3::Air::Greedy::IntraBlockSplitMetadata::IntraBlockSplitMetadata):
(JSC::B3::Air::Greedy::IntraBlockSplitMetadata::dump const):
(JSC::B3::Air::Greedy::GreedyAllocator::GreedyAllocator):
(JSC::B3::Air::Greedy::GreedyAllocator::dump const):
(JSC::B3::Air::Greedy::GreedyAllocator::trySplitAroundClobbers):
(JSC::B3::Air::Greedy::GreedyAllocator::trySplitIntraBlock):
(JSC::B3::Air::Greedy::GreedyAllocator::spill):
(JSC::B3::Air::Greedy::GreedyAllocator::insertFixupCode):
(JSC::B3::Air::Greedy::GreedyAllocator::insertSplitAroundClobbersFixupCode):
(JSC::B3::Air::Greedy::GreedyAllocator::insertSplitIntraBlockFixupCode):
(JSC::B3::Air::Greedy::SplitMetadata::Split::dump const): Deleted.
(JSC::B3::Air::Greedy::SplitMetadata::SplitMetadata): Deleted.
(JSC::B3::Air::Greedy::SplitMetadata::dump const): Deleted.
Canonical link: https://commits.webkit.org/311682@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications