Bug 169254

Summary: Air should have a way of expressing a register being clobbered by an instruction before some other operand in that same instruction is set
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal    
Priority: P2    
Version: WebKit Nightly Build   
Hardware: All   
OS: All   

Description Filip Pizlo 2017-03-06 20:09:14 PST
AtomicStrongCAS clobbers both eax and whatever you choose to hold the boolean result.  The boolean result is set after eax is set.  So the boolean result could use eax if eax is otherwise unused.  But, we currently fail at this.

This is one of those things that is very likely to be super complex and very unlikely to be super profitable, but it's worth thinking about in case some easy solution does present itself.