RESOLVED FIXED 105226
DFG is too aggressive with eliding overflow checks in loops
https://bugs.webkit.org/show_bug.cgi?id=105226
Summary DFG is too aggressive with eliding overflow checks in loops
Filip Pizlo
Reported 2012-12-17 16:06:25 PST
Example: function foo(a) { var x = a; // Make sure that this is the loop where we do OSR entry. for (var i = 0; i < 100000; ++i) x += 1; // Now trigger overflow that is so severe that the floating point result would be different than the bigint result. for (var i = 0; i < 160097152; ++i) x += 2147483647; return x | 0; } Calling foo(0) will return different results in the baseline JIT versus the DFG JIT. The baseline JIT will be right.
Attachments
the patch (3.59 KB, patch)
2012-12-17 16:09 PST, Filip Pizlo
oliver: review+
Filip Pizlo
Comment 1 2012-12-17 16:09:28 PST
Created attachment 179822 [details] the patch
Filip Pizlo
Comment 2 2012-12-17 17:37:23 PST
Note You need to log in before you can comment on or make changes to this bug.