RESOLVED FIXED Bug 155828
[JSC] In some cases, the integer range optimization phase never converges
https://bugs.webkit.org/show_bug.cgi?id=155828
Summary [JSC] In some cases, the integer range optimization phase never converges
Benjamin Poulain
Reported 2016-03-23 20:24:12 PDT
[JSC] In some cases, the integer range optimization phase never converges
Attachments
Patch (10.47 KB, patch)
2016-03-23 21:22 PDT, Benjamin Poulain
no flags
Benjamin Poulain
Comment 1 2016-03-23 21:22:37 PDT
Benjamin Poulain
Comment 2 2016-03-23 21:23:59 PDT
I intentionally do not change filter() accordingly to keep this fix simple. I don't see any perf impact from the extra filter: Conf#1 Conf#2 SunSpider: 3d-cube 5.0348+-0.0498 ? 5.0705+-0.0465 ? 3d-morph 5.1344+-0.0981 ? 5.1557+-0.0728 ? 3d-raytrace 5.5740+-0.0858 5.5391+-0.0596 access-binary-trees 2.1304+-0.0450 ? 2.1397+-0.0692 ? access-fannkuch 6.0844+-0.1923 5.9501+-0.0993 might be 1.0226x faster access-nbody 2.5194+-0.0380 ? 2.5352+-0.0512 ? access-nsieve 2.9987+-0.0299 2.9967+-0.0182 bitops-3bit-bits-in-byte 1.1130+-0.0152 ? 1.1317+-0.0215 ? might be 1.0168x slower bitops-bits-in-byte 2.7345+-0.0122 ? 2.7670+-0.0403 ? might be 1.0119x slower bitops-bitwise-and 2.0148+-0.0278 ? 2.0207+-0.0272 ? bitops-nsieve-bits 3.0779+-0.0118 3.0749+-0.0085 controlflow-recursive 2.3003+-0.0109 ? 2.3289+-0.0408 ? might be 1.0125x slower crypto-aes 3.9760+-0.0526 3.9565+-0.0368 crypto-md5 2.4385+-0.0147 ! 2.5295+-0.0718 ! definitely 1.0373x slower crypto-sha1 2.3283+-0.0197 2.3244+-0.0325 date-format-tofte 6.6788+-0.1469 ? 6.7074+-0.0749 ? date-format-xparb 4.8527+-0.2047 4.8119+-0.0740 math-cordic 2.8317+-0.0519 2.8009+-0.0218 might be 1.0110x faster math-partial-sums 4.9172+-0.0915 4.7855+-0.0473 might be 1.0275x faster math-spectral-norm 1.9773+-0.0262 1.9745+-0.0235 regexp-dna 6.3657+-0.2314 6.3456+-0.1636 string-base64 4.4586+-0.0960 ? 4.7087+-0.2580 ? might be 1.0561x slower string-fasta 5.8521+-0.0698 ? 5.9636+-0.2139 ? might be 1.0191x slower string-tagcloud 8.0364+-0.0846 ? 8.0531+-0.0896 ? string-unpack-code 19.0781+-0.5818 19.0359+-0.5866 string-validate-input 4.2418+-0.0385 ? 4.3085+-0.0843 ? might be 1.0157x slower <arithmetic> 4.5673+-0.0288 ? 4.5775+-0.0293 ? might be 1.0022x slower Conf#1 Conf#2 Octane: encrypt 0.16117+-0.00044 ? 0.16144+-0.00081 ? decrypt 2.79873+-0.00563 ? 2.80439+-0.01049 ? deltablue x2 0.13942+-0.00218 0.13862+-0.00219 earley 0.28200+-0.00124 0.28189+-0.00114 boyer 4.93616+-0.05738 4.88540+-0.06582 might be 1.0104x faster navier-stokes x2 4.92159+-0.01435 4.91695+-0.00767 raytrace x2 0.88911+-0.00229 0.88805+-0.00189 richards x2 0.08201+-0.00066 0.08118+-0.00050 might be 1.0102x faster splay x2 0.34694+-0.00252 ? 0.34791+-0.00189 ? regexp x2 19.54577+-0.18981 ? 19.71274+-0.12276 ? pdfjs x2 38.59829+-0.18960 38.43783+-0.17575 mandreel x2 42.22717+-0.10168 ? 42.33948+-0.07730 ? gbemu x2 24.37448+-0.17681 24.11620+-0.14455 might be 1.0107x faster closure 0.55011+-0.00131 0.54880+-0.00146 jquery 7.13691+-0.02993 7.11495+-0.02169 box2d x2 9.07796+-0.03644 9.03238+-0.03638 zlib x2 361.34559+-4.38287 360.57960+-2.40219 typescript x2 628.50105+-2.30263 ? 633.14951+-3.76226 ? <geometric> 5.12001+-0.00867 5.11163+-0.00784 might be 1.0016x faster Conf#1 Conf#2 Kraken: ai-astar 86.674+-0.359 ? 86.729+-0.315 ? audio-beat-detection 44.944+-0.325 44.797+-0.131 audio-dft 97.668+-1.186 97.245+-1.015 audio-fft 35.403+-0.038 ? 35.757+-0.472 ? might be 1.0100x slower audio-oscillator 47.843+-0.059 ? 48.316+-0.604 ? imaging-darkroom 60.341+-0.456 60.219+-0.179 imaging-desaturate 44.254+-0.124 ? 44.647+-0.679 ? imaging-gaussian-blur 63.901+-1.488 63.038+-1.316 might be 1.0137x faster json-parse-financial 36.969+-0.307 ? 37.253+-0.673 ? json-stringify-tinderbox 22.608+-0.594 ? 23.068+-0.850 ? might be 1.0203x slower stanford-crypto-aes 39.017+-0.246 ? 39.182+-0.423 ? stanford-crypto-ccm 34.571+-0.776 34.113+-0.902 might be 1.0134x faster stanford-crypto-pbkdf2 99.872+-3.240 97.883+-0.112 might be 1.0203x faster stanford-crypto-sha256-iterative 37.688+-0.512 37.379+-0.079 <arithmetic> 53.697+-0.267 53.545+-0.142 might be 1.0028x faster Conf#1 Conf#2 AsmBench: bigfib.cpp 437.7203+-3.0106 ? 438.3455+-3.0468 ? cray.c 360.3849+-1.2944 ? 360.5656+-1.5716 ? dry.c 432.7108+-17.3113 432.5710+-20.1896 FloatMM.c 715.6900+-0.9884 ? 715.8090+-1.0900 ? gcc-loops.cpp 3655.9495+-4.6668 ? 3658.3011+-5.2491 ? n-body.c 809.0068+-1.6828 808.6148+-2.3095 Quicksort.c 391.0468+-1.5917 390.1796+-0.8404 stepanov_container.cpp 3254.3714+-12.4799 ? 3255.9057+-7.6753 ? Towers.c 268.3456+-1.6323 267.4682+-0.5150 <geometric> 715.5762+-2.7843 715.2596+-3.5572 might be 1.0004x faster Conf#1 Conf#2 Geomean of preferred means: <scaled-result> 30.7870+-0.0625 30.7667+-0.0739 might be 1.0007x faster
Benjamin Poulain
Comment 3 2016-03-23 21:24:15 PDT
Filip Pizlo
Comment 4 2016-03-23 22:04:32 PDT
Comment on attachment 274815 [details] Patch Nice! This feels like a robust solution.
WebKit Commit Bot
Comment 5 2016-03-24 02:02:57 PDT
Comment on attachment 274815 [details] Patch Clearing flags on attachment: 274815 Committed r198621: <http://trac.webkit.org/changeset/198621>
WebKit Commit Bot
Comment 6 2016-03-24 02:03:00 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.