It doesn't right now. It crashes.
This looks like a register allocation bug. A patchpoint is clobbering all volatile registers, but we still use %rdx across the patchpoint.
Created attachment 267810 [details] almost there Just need to run a few more tests.
Created attachment 267811 [details] the patch
Comment on attachment 267811 [details] the patch r=me
(In reply to comment #4) > Comment on attachment 267811 [details] > the patch > > r=me Thanks!
Landed in http://trac.webkit.org/changeset/194382
Comment on attachment 267811 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=267811&action=review > Source/JavaScriptCore/ChangeLog:12 > + The liveness bug was that the code that determined whether we should go around the fixpoint > + assumed that BitVector::quickSet() would return true if the bit changed state from false to > + true. That's not how it works. It returns the old value of the bit, so it will return false Arg, quickSet() is the invert of add() on sets. Good catch.