Oh the irony! We were protecting an optimization that only worked if there was no wrap-around in JavaScript. But the C++ code had wrap-around, which is undef in C++. So, if the compiler was smart enough, our compiler would think that there never was wrap-around.
Created attachment 250376 [details] the patch
Landed in http://trac.webkit.org/changeset/182562
Comment on attachment 250376 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=250376&action=review > Source/JavaScriptCore/dfg/DFGIntegerCheckCombiningPhase.cpp:367 > + uint32_t unsignedDifference = maxBound - minBound; > + return !(unsignedDifference >> 31); Could also have written: int32_t difference = maxBound - minBound; return difference >= 0;