Bug 155063

Summary: [JSC] Simplify the overflow check of ArithAbs
Product: WebKit Reporter: Benjamin Poulain <benjamin>
Component: New BugsAssignee: Benjamin Poulain <benjamin>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, fpizlo, keith_miller, mark.lam, msaboff, sbarati
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Benjamin Poulain 2016-03-05 02:31:56 PST
[JSC] Simplify the overflow check of ArithAbs
Comment 1 Benjamin Poulain 2016-03-05 02:34:52 PST
Created attachment 273080 [details]
Patch
Comment 2 Benjamin Poulain 2016-03-06 20:23:46 PST
On Haswell:

SunSpider:
   3d-cube                                    4.7856+-0.0548     ?      4.8207+-0.1310        ?
   3d-morph                                   5.3725+-0.1251            5.2825+-0.0559          might be 1.0171x faster
   3d-raytrace                                5.7417+-0.1170            5.6902+-0.0454        
   access-binary-trees                        2.1692+-0.0313     ?      2.2476+-0.1125        ? might be 1.0361x slower
   access-fannkuch                            6.0703+-0.0753            5.9986+-0.1603          might be 1.0119x faster
   access-nbody                               2.6806+-0.0763            2.6597+-0.0260        
   access-nsieve                              3.0471+-0.0565     ?      3.0496+-0.0470        ?
   bitops-3bit-bits-in-byte                   1.1901+-0.0186            1.1871+-0.0236        
   bitops-bits-in-byte                        3.3331+-0.0262     ?      3.3533+-0.0543        ?
   bitops-bitwise-and                         2.0959+-0.0902            2.0381+-0.0350          might be 1.0283x faster
   bitops-nsieve-bits                         3.1103+-0.1510            3.0497+-0.0304          might be 1.0199x faster
   controlflow-recursive                      2.3931+-0.0362            2.3655+-0.0208          might be 1.0117x faster
   crypto-aes                                 4.0649+-0.0620            4.0557+-0.0441        
   crypto-md5                                 2.5895+-0.0159     ?      2.6721+-0.1192        ? might be 1.0319x slower
   crypto-sha1                                2.4031+-0.1327            2.3903+-0.0747        
   date-format-tofte                          7.1285+-0.2289            6.8601+-0.0953          might be 1.0391x faster
   date-format-xparb                          4.9558+-0.0749     ?      4.9838+-0.1390        ?
   math-cordic                                2.9353+-0.0206            2.9150+-0.0134        
   math-partial-sums                          4.9730+-0.1306            4.9600+-0.1150        
   math-spectral-norm                         2.0278+-0.0187     ?      2.0440+-0.0279        ?
   regexp-dna                                 6.2013+-0.3193            6.1352+-0.2132          might be 1.0108x faster
   string-base64                              4.4610+-0.0545     ?      4.5683+-0.2109        ? might be 1.0240x slower
   string-fasta                               6.0016+-0.1293            6.0001+-0.1553        
   string-tagcloud                            8.4228+-0.3017            8.1113+-0.0398          might be 1.0384x faster
   string-unpack-code                        19.3553+-0.7232           19.1201+-0.6404          might be 1.0123x faster
   string-validate-input                      4.3465+-0.0912            4.2759+-0.0546          might be 1.0165x faster

   <arithmetic>                               4.6868+-0.0315            4.6475+-0.0336          might be 1.0085x faster

                                                  Conf#1                    Conf#2                                      
Octane:
   encrypt                                   0.15923+-0.00174          0.15882+-0.00169       
   decrypt                                   2.83926+-0.00583    ?     2.85139+-0.01125       ?
   deltablue                        x2       0.13966+-0.00679          0.13850+-0.00345       
   earley                                    0.28578+-0.00179          0.28479+-0.00109       
   boyer                                     4.87358+-0.08566    ?     4.93210+-0.05304       ? might be 1.0120x slower
   navier-stokes                    x2       4.93811+-0.01302          4.93421+-0.01598       
   raytrace                         x2       0.89026+-0.00184    ?     0.89479+-0.00431       ?
   richards                         x2       0.08302+-0.00083          0.08239+-0.00068       
   splay                            x2       0.34890+-0.00197          0.34773+-0.00159       
   regexp                           x2      19.87283+-0.25684         19.83057+-0.21000       
   pdfjs                            x2      39.46175+-0.47671         39.27575+-0.41332       
   mandreel                         x2      42.72600+-0.13902         42.50807+-0.15921       
   gbemu                            x2      24.78756+-0.19688         24.70680+-0.05377       
   closure                                   0.56833+-0.00198    ?     0.56959+-0.00162       ?
   jquery                                    7.43524+-0.03975    ?     7.46962+-0.04667       ?
   box2d                            x2       9.39669+-0.04391    ?     9.41259+-0.15368       ?
   zlib                             x2     386.84209+-5.70594        381.17715+-8.88199         might be 1.0149x faster
   typescript                       x2     663.35127+-4.82876        661.21490+-4.90204       

   <geometric>                               5.21782+-0.00943          5.20512+-0.00816         might be 1.0024x faster

                                                  Conf#1                    Conf#2                                      
Kraken:
   ai-astar                                   97.569+-1.075             97.545+-2.078         
   audio-beat-detection                       47.329+-0.392      ?      47.369+-0.366         ?
   audio-dft                                  96.693+-0.368      ?      97.978+-1.076         ? might be 1.0133x slower
   audio-fft                                  35.942+-0.479             35.689+-0.024         
   audio-oscillator                           48.481+-0.169      ?      49.083+-0.980         ? might be 1.0124x slower
   imaging-darkroom                           60.152+-0.129      ?      60.477+-0.766         ?
   imaging-desaturate                         44.467+-0.188             44.348+-0.210         
   imaging-gaussian-blur                      67.439+-1.491             66.710+-1.425           might be 1.0109x faster
   json-parse-financial                       37.286+-1.077      ?      38.065+-2.346         ? might be 1.0209x slower
   json-stringify-tinderbox                   24.492+-0.751             23.682+-0.415           might be 1.0342x faster
   stanford-crypto-aes                        40.248+-0.855      ?      40.647+-1.063         ?
   stanford-crypto-ccm                        36.224+-0.363      ?      36.677+-0.993         ? might be 1.0125x slower
   stanford-crypto-pbkdf2                    101.551+-0.869            101.488+-0.971         
   stanford-crypto-sha256-iterative           38.680+-0.147      ?      38.882+-0.301         ?

   <arithmetic>                               55.468+-0.213      ?      55.617+-0.285         ? might be 1.0027x slower

                                                  Conf#1                    Conf#2                                      
AsmBench:
   bigfib.cpp                               436.2413+-4.1508     ?    438.4149+-5.2125        ?
   cray.c                                   365.9619+-1.8848          365.8913+-2.3726        
   dry.c                                    451.3673+-29.6051         441.5889+-30.9445         might be 1.0221x faster
   FloatMM.c                                709.3479+-3.4799          708.3343+-3.6155        
   gcc-loops.cpp                           3672.0742+-8.8953     ?   3684.8484+-16.3618       ?
   n-body.c                                 808.3586+-1.3298     ?    810.3794+-2.4229        ?
   Quicksort.c                              395.0697+-1.4128     ?    395.1814+-1.5932        ?
   stepanov_container.cpp                  3289.6397+-13.2463        3277.0521+-14.6003       
   Towers.c                                 268.9848+-1.2906     ?    269.0375+-1.3590        ?

   <geometric>                              721.1718+-4.7547          719.8552+-5.2612          might be 1.0018x faster

                                                  Conf#1                    Conf#2                                      
Geomean of preferred means:
   <scaled-result>                           31.4483+-0.0698           31.3699+-0.1122          might be 1.0025x faster
Comment 3 Geoffrey Garen 2016-03-07 09:29:25 PST
Comment on attachment 273080 [details]
Patch

r=me
Comment 4 WebKit Commit Bot 2016-03-07 10:30:21 PST
Comment on attachment 273080 [details]
Patch

Clearing flags on attachment: 273080

Committed r197688: <http://trac.webkit.org/changeset/197688>
Comment 5 WebKit Commit Bot 2016-03-07 10:30:25 PST
All reviewed patches have been landed.  Closing bug.