Bug 202442
| Summary: | Regression: testb3 is failing on trunk with a debug build. | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Mark Lam <mark.lam> |
| Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | keith_miller, saam, ysuzuki |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Mark Lam
ASSERTION FAILED: !m_availableRegs[tmp.bank()].contains(reg)
./b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp(131) : void JSC::B3::Air::GenerateAndAllocateRegisters::release(JSC::B3::Air::Tmp, JSC::Reg)
1 0x11123c309 WTFCrash
2 0x1118f2ffb WTFCrashWithInfo(int, char const*, char const*, int)
3 0x11197e31b JSC::B3::Air::GenerateAndAllocateRegisters::release(JSC::B3::Air::Tmp, JSC::Reg)
4 0x11197a982 JSC::B3::Air::GenerateAndAllocateRegisters::freeDeadTmpsIfNeeded()
5 0x11197a64e JSC::B3::Air::GenerateAndAllocateRegisters::generate(JSC::CCallHelpers&)::$_9::operator()(JSC::RegisterSet const&, bool) const
6 0x111978502 JSC::B3::Air::GenerateAndAllocateRegisters::generate(JSC::CCallHelpers&)
7 0x111a28a69 JSC::B3::Air::generate(JSC::B3::Air::Code&, JSC::CCallHelpers&)
8 0x11185dc45 JSC::B3::generate(JSC::B3::Procedure&, JSC::CCallHelpers&)
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Mark Lam
svn revision r250176 fails
svn revision r250175 passes
This failure is caused by:
r250176 | keith_miller@apple.com | 2019-09-20 19:11:37 -0700 (Fri, 20 Sep 2019) | 15 lines
eliding a move in Air O0 needs to mark the dest's old reg as available
https://bugs.webkit.org/show_bug.cgi?id=202066
Reviewed by Saam Barati.
Also adds a new release method that handles all the invariants of
returning a register to the available register pool.