Bug 149885 - Don't setOutOfBounds in JIT code for PutByVal, since the C++ slow path already does it
Summary: Don't setOutOfBounds in JIT code for PutByVal, since the C++ slow path alread...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks: 149852
  Show dependency treegraph
 
Reported: 2015-10-07 12:01 PDT by Filip Pizlo
Modified: 2015-10-07 13:28 PDT (History)
10 users (show)

See Also:


Attachments
the patch (4.83 KB, patch)
2015-10-07 12:35 PDT, Filip Pizlo
ggaren: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-10-07 12:01:01 PDT
Patch forthcoming.
Comment 1 Filip Pizlo 2015-10-07 12:32:50 PDT
Performance is OK:


Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on shakezilla (MacBookPro11,3).

VMs tested:
"TipOfTree" at /Volumes/Data/secondary/OpenSource/WebKitBuild/Release/jsc (r190675)
"SimplerPutPath" at /Volumes/Data/quinary/OpenSource/WebKitBuild/Release/jsc (r190676)

Collected 6 samples per benchmark/VM, with 6 VM invocations per benchmark. Emitted a call to gc() between sample measurements.
Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get microsecond-level
timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds.

                                                        TipOfTree               SimplerPutPath                                  
SunSpider:
   3d-cube                                            4.5937+-0.1238            4.5818+-0.2602        
   3d-morph                                           5.3879+-0.3167            5.3077+-0.1991          might be 1.0151x faster
   3d-raytrace                                        5.3010+-0.4242            5.2419+-0.5207          might be 1.0113x faster
   access-binary-trees                                2.1607+-0.1163            2.1462+-0.1108        
   access-fannkuch                                    5.6361+-0.4137            5.5177+-0.2821          might be 1.0215x faster
   access-nbody                                       2.5001+-0.0702     ?      2.5447+-0.1257        ? might be 1.0179x slower
   access-nsieve                                      3.4808+-0.2063            3.4558+-0.1697        
   bitops-3bit-bits-in-byte                           1.3322+-0.5296            1.1665+-0.0769          might be 1.1421x faster
   bitops-bits-in-byte                                3.2507+-0.1658            3.2279+-0.2755        
   bitops-bitwise-and                                 2.0743+-0.1111            2.0128+-0.0676          might be 1.0305x faster
   bitops-nsieve-bits                                 3.3542+-1.0793            3.1964+-0.3778          might be 1.0494x faster
   controlflow-recursive                              2.3747+-0.0866            2.3395+-0.0802          might be 1.0150x faster
   crypto-aes                                         3.8560+-0.0871     ?      3.9912+-0.1515        ? might be 1.0351x slower
   crypto-md5                                         2.4874+-0.1015     ?      2.5568+-0.2320        ? might be 1.0279x slower
   crypto-sha1                                        2.4182+-0.1977     ?      2.4594+-0.1369        ? might be 1.0171x slower
   date-format-tofte                                  6.6688+-0.3766            6.6411+-0.3028        
   date-format-xparb                                  4.4753+-0.0953     ?      4.6008+-0.1115        ? might be 1.0280x slower
   math-cordic                                        2.9007+-0.1995            2.7729+-0.0901          might be 1.0461x faster
   math-partial-sums                                  4.7853+-0.1793     ?      4.8406+-0.3275        ? might be 1.0115x slower
   math-spectral-norm                                 1.9505+-0.1653            1.9000+-0.0857          might be 1.0266x faster
   regexp-dna                                         6.0311+-0.1327     ?      6.2454+-0.3627        ? might be 1.0355x slower
   string-base64                                      4.3161+-0.2357     ?      4.3536+-0.5115        ?
   string-fasta                                       5.8743+-0.1635            5.8678+-0.2021        
   string-tagcloud                                    8.2430+-0.3925            7.8249+-0.1500          might be 1.0534x faster
   string-unpack-code                                18.1074+-1.1154     ?     18.4040+-0.9448        ? might be 1.0164x slower
   string-validate-input                              4.4063+-0.1524     ?      4.5342+-0.2969        ? might be 1.0290x slower

   <arithmetic>                                       4.5372+-0.0719            4.5281+-0.0569          might be 1.0020x faster

                                                        TipOfTree               SimplerPutPath                                  
LongSpider:
   3d-cube                                          798.3566+-6.2417     ^    783.6840+-6.9260        ^ definitely 1.0187x faster
   3d-morph                                        1490.0304+-5.2424     ?   1491.7212+-6.2052        ?
   3d-raytrace                                      591.6608+-7.5473     ?    592.9651+-3.7151        ?
   access-binary-trees                              795.5130+-10.8424         793.5085+-8.7999        
   access-fannkuch                                  275.4784+-6.3699     ?    275.9520+-4.7614        ?
   access-nbody                                     511.2359+-2.0026     ?    564.8616+-132.3492      ? might be 1.1049x slower
   access-nsieve                                    372.9994+-7.8781     ?    377.8623+-10.1600       ? might be 1.0130x slower
   bitops-3bit-bits-in-byte                          33.7945+-0.5523     ?     34.7181+-1.2863        ? might be 1.0273x slower
   bitops-bits-in-byte                               75.5139+-2.0859           74.4353+-2.2063          might be 1.0145x faster
   bitops-nsieve-bits                               400.7087+-5.0596     ?    404.2421+-4.6426        ?
   controlflow-recursive                            434.8642+-7.6368          432.5672+-11.4218       
   crypto-aes                                       552.6134+-13.4819    ?    555.8508+-10.2219       ?
   crypto-md5                                       477.0904+-38.7731         441.8479+-10.3877         might be 1.0798x faster
   crypto-sha1                                      627.8020+-11.7838    ?    636.0140+-3.7494        ? might be 1.0131x slower
   date-format-tofte                                483.9908+-4.0732     ?    493.7841+-13.1846       ? might be 1.0202x slower
   date-format-xparb                                654.7215+-2.3337     ?    673.1677+-28.3510       ? might be 1.0282x slower
   hash-map                                         149.5927+-2.2721     ?    149.9875+-2.7215        ?
   math-cordic                                      478.0200+-4.8550          476.2201+-3.3067        
   math-partial-sums                                463.1229+-17.7743         457.3290+-4.3433          might be 1.0127x faster
   math-spectral-norm                               553.5833+-10.7053         548.6068+-4.4182        
   string-base64                                    372.4869+-3.3502          372.2262+-3.1138        
   string-fasta                                     362.9683+-2.7387     !    369.0346+-2.3740        ! definitely 1.0167x slower
   string-tagcloud                                  175.8813+-1.8842          175.4689+-2.4896        

   <geometric>                                      385.3148+-2.5443     ?    386.6325+-3.6659        ? might be 1.0034x slower

                                                        TipOfTree               SimplerPutPath                                  
V8Spider:
   crypto                                            48.3583+-1.6707           47.2620+-1.8154          might be 1.0232x faster
   deltablue                                         76.8081+-5.8473           76.6888+-3.5455        
   earley-boyer                                      42.5542+-1.9330           42.4649+-1.6874        
   raytrace                                          30.9862+-1.3125     ?     31.5714+-1.9074        ? might be 1.0189x slower
   regexp                                            62.9048+-1.9933           62.4078+-2.2346        
   richards                                          54.5767+-1.7921           54.5111+-2.4276        
   splay                                             36.6508+-1.2448     ?     37.1499+-1.8278        ? might be 1.0136x slower

   <geometric>                                       48.2992+-0.5051           48.2790+-0.9665          might be 1.0004x faster

                                                        TipOfTree               SimplerPutPath                                  
Octane:
   encrypt                                           0.16732+-0.00339    ?     0.16752+-0.00427       ?
   decrypt                                           2.86374+-0.01761          2.85934+-0.01312       
   deltablue                                x2       0.13991+-0.00681          0.13773+-0.00214         might be 1.0158x faster
   earley                                            0.30236+-0.00889    ?     0.30315+-0.00357       ?
   boyer                                             4.35729+-0.09287          4.29697+-0.02793         might be 1.0140x faster
   navier-stokes                            x2       4.84524+-0.03780          4.83308+-0.02914       
   raytrace                                 x2       0.85766+-0.00751          0.85675+-0.00718       
   richards                                 x2       0.09054+-0.00269          0.08871+-0.00062         might be 1.0206x faster
   splay                                    x2       0.34577+-0.00533    ?     0.34913+-0.00488       ?
   regexp                                   x2      24.80801+-0.58684         24.01846+-0.58074         might be 1.0329x faster
   pdfjs                                    x2      36.22038+-0.46126    ?    36.82654+-0.59569       ? might be 1.0167x slower
   mandreel                                 x2      42.21075+-0.57211    ?    42.78202+-0.70537       ? might be 1.0135x slower
   gbemu                                    x2      31.69517+-0.19861         31.37268+-0.29380         might be 1.0103x faster
   closure                                           0.57769+-0.00938          0.57329+-0.00382       
   jquery                                            7.27446+-0.07004    ?     7.29131+-0.13973       ?
   box2d                                    x2       9.15209+-0.05120          9.13451+-0.08054       
   zlib                                     x2     390.14674+-4.03088        384.91111+-4.52540         might be 1.0136x faster
   typescript                               x2     669.23653+-18.43588       661.06934+-3.11557         might be 1.0124x faster

   <geometric>                                       5.35324+-0.02595          5.32571+-0.02199         might be 1.0052x faster

                                                        TipOfTree               SimplerPutPath                                  
Kraken:
   ai-astar                                          126.888+-1.728      ?     129.795+-6.415         ? might be 1.0229x slower
   audio-beat-detection                               50.168+-0.642             49.825+-0.405         
   audio-dft                                          97.170+-1.672             96.814+-1.352         
   audio-fft                                          35.317+-0.696             35.017+-0.336         
   audio-oscillator                                   55.972+-1.639      ?      56.191+-1.686         ?
   imaging-darkroom                                   60.206+-1.303             59.919+-0.476         
   imaging-desaturate                                 47.947+-0.470             47.841+-0.433         
   imaging-gaussian-blur                              85.560+-1.587             85.218+-0.371         
   json-parse-financial                               38.476+-0.846             37.503+-2.742           might be 1.0259x faster
   json-stringify-tinderbox                           23.538+-1.135             23.473+-1.149         
   stanford-crypto-aes                                40.521+-1.272      ?      40.620+-1.372         ?
   stanford-crypto-ccm                                35.349+-1.150             35.253+-1.532         
   stanford-crypto-pbkdf2                             95.618+-2.548             94.532+-0.436           might be 1.0115x faster
   stanford-crypto-sha256-iterative                   37.448+-2.313             36.419+-1.280           might be 1.0283x faster

   <arithmetic>                                       59.298+-0.372             59.173+-0.409           might be 1.0021x faster

                                                        TipOfTree               SimplerPutPath                                  
JSRegress:
   abc-forward-loop-equal                            31.1240+-2.3152           30.4501+-1.4001          might be 1.0221x faster
   abc-postfix-backward-loop                         30.3663+-1.2112     ?     30.4505+-2.8870        ?
   abc-simple-backward-loop                          29.2332+-1.3269     ?     29.9855+-1.6258        ? might be 1.0257x slower
   abc-simple-forward-loop                           29.5632+-0.9530           29.0823+-0.8007          might be 1.0165x faster
   abc-skippy-loop                                   21.5726+-0.8527           21.5410+-1.3160        
   abs-boolean                                        2.4932+-0.0741            2.4524+-0.0712          might be 1.0166x faster
   adapt-to-double-divide                            16.4488+-0.3674           16.3407+-0.8495        
   aliased-arguments-getbyval                         1.2493+-0.0598     ?      1.2546+-0.0799        ?
   allocate-big-object                                2.5250+-0.2779            2.2785+-0.0672          might be 1.1082x faster
   arguments-named-and-reflective                    10.5913+-0.2545           10.4307+-0.2843          might be 1.0154x faster
   arguments-out-of-bounds                            9.2409+-0.0655     ?      9.6485+-0.6504        ? might be 1.0441x slower
   arguments-strict-mode                              9.6305+-0.5045            9.3240+-0.4646          might be 1.0329x faster
   arguments                                          8.8785+-0.4778            8.5950+-0.1037          might be 1.0330x faster
   arity-mismatch-inlining                            0.8535+-0.0283     ?      0.8732+-0.0610        ? might be 1.0231x slower
   array-access-polymorphic-structure                 7.0194+-0.4599            6.9615+-0.3084        
   array-nonarray-polymorhpic-access                 23.9100+-0.7872           23.4508+-0.6370          might be 1.0196x faster
   array-prototype-every                             75.8080+-1.3868           75.6228+-1.4798        
   array-prototype-forEach                           82.5174+-18.1885          74.3130+-0.8883          might be 1.1104x faster
   array-prototype-map                               83.2347+-1.6335           80.8219+-1.1811          might be 1.0299x faster
   array-prototype-reduce                            72.2549+-1.6369           70.9947+-0.9553          might be 1.0178x faster
   array-prototype-reduceRight                       72.3810+-1.8402           71.3413+-1.2750          might be 1.0146x faster
   array-prototype-some                              75.8256+-1.7484     ?     78.6589+-4.2983        ? might be 1.0374x slower
   array-splice-contiguous                           20.9038+-0.7468     ?     20.9072+-0.4977        ?
   array-with-double-add                              3.4759+-0.1073     ?      3.5704+-0.4296        ? might be 1.0272x slower
   array-with-double-increment                        3.0865+-0.0492            3.0754+-0.1673        
   array-with-double-mul-add                          4.2738+-0.2057            4.2246+-0.0868          might be 1.0116x faster
   array-with-double-sum                              3.4388+-0.5996            3.1820+-0.0826          might be 1.0807x faster
   array-with-int32-add-sub                           5.8158+-0.2093            5.6547+-0.1347          might be 1.0285x faster
   array-with-int32-or-double-sum                     3.2412+-0.1119            3.2230+-0.0593        
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     25.6715+-0.1710     ?     26.4493+-1.5970        ? might be 1.0303x slower
   ArrayBuffer-DataView-alloc-long-lived             12.1870+-0.6928           11.8700+-0.1566          might be 1.0267x faster
   ArrayBuffer-Int32Array-byteOffset                  3.5689+-0.1969     ?      3.5861+-0.1771        ?
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     26.0708+-0.8206           26.0663+-0.7966        
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     20.2666+-2.2198           19.5059+-0.9508          might be 1.0390x faster
   ArrayBuffer-Int8Array-alloc-long-lived            11.6762+-0.6253           11.3704+-0.5844          might be 1.0269x faster
   ArrayBuffer-Int8Array-alloc                        9.5243+-0.5668     ?      9.8371+-0.4231        ? might be 1.0328x slower
   arrowfunction-call                                11.1782+-0.6956           11.1534+-0.7790        
   asmjs_bool_bug                                     7.4659+-0.1765     ?      7.6262+-0.2354        ? might be 1.0215x slower
   assign-custom-setter-polymorphic                   2.3675+-0.0290     ?      2.3942+-0.0473        ? might be 1.0113x slower
   assign-custom-setter                               3.1586+-0.0336     !      3.3219+-0.1164        ! definitely 1.0517x slower
   basic-set                                          7.5695+-0.8525     ?      7.6742+-0.3093        ? might be 1.0138x slower
   big-int-mul                                        3.4558+-0.0507     ?      3.4638+-0.0440        ?
   boolean-test                                       2.9777+-0.1112     ?      3.0238+-0.2249        ? might be 1.0155x slower
   branch-fold                                        3.7196+-0.1533            3.5879+-0.0777          might be 1.0367x faster
   branch-on-string-as-boolean                       16.7180+-0.8844     ?     18.0432+-0.4975        ? might be 1.0793x slower
   by-val-generic                                     2.4413+-0.0619     ?      2.4482+-0.0587        ?
   call-spread-apply                                 26.4749+-0.8826     ?     27.4182+-1.5633        ? might be 1.0356x slower
   call-spread-call                                  21.0172+-0.7173     ?     21.3829+-1.0514        ? might be 1.0174x slower
   captured-assignments                               0.4311+-0.0393     ?      0.4357+-0.0324        ? might be 1.0107x slower
   cast-int-to-double                                 5.1774+-0.2405            5.0662+-0.0806          might be 1.0220x faster
   cell-argument                                      5.8328+-0.3480            5.8107+-0.2472        
   cfg-simplify                                       2.8688+-0.0513            2.8257+-0.0498          might be 1.0152x faster
   chain-getter-access                                8.5730+-0.2883            8.3754+-0.1303          might be 1.0236x faster
   cmpeq-obj-to-obj-other                            12.3461+-1.0902           12.0895+-1.2623          might be 1.0212x faster
   constant-test                                      4.9102+-0.1330            4.7642+-0.0176          might be 1.0306x faster
   create-lots-of-functions                           9.9830+-1.3449            9.4967+-0.6858          might be 1.0512x faster
   cse-new-array-buffer                               2.3451+-0.1856            2.2707+-0.1836          might be 1.0328x faster
   cse-new-array                                      2.3816+-0.0988            2.3313+-0.1106          might be 1.0216x faster
   DataView-custom-properties                        30.8785+-1.2190     ?     31.3129+-1.2222        ? might be 1.0141x slower
   delay-tear-off-arguments-strictmode               11.7926+-0.2735           11.7717+-0.2627        
   deltablue-varargs                                173.8668+-4.4075          170.2944+-4.5829          might be 1.0210x faster
   destructuring-arguments                          160.2000+-3.9942          158.1260+-2.9214          might be 1.0131x faster
   destructuring-parameters-overridden-by-function   
                                                      0.5510+-0.2172            0.4715+-0.0354          might be 1.1685x faster
   destructuring-swap                                 4.7647+-0.0397            4.7619+-0.0351        
   direct-arguments-getbyval                          1.1926+-0.0517     ?      1.2379+-0.1082        ? might be 1.0380x slower
   div-boolean-double                                 5.3681+-0.1068     ?      5.6671+-0.4602        ? might be 1.0557x slower
   div-boolean                                        8.2008+-0.2647            8.1611+-0.1330        
   double-get-by-val-out-of-bounds                    4.6706+-0.6003            4.4996+-0.1571          might be 1.0380x faster
   double-pollution-getbyval                          8.8752+-0.3220            8.6606+-0.0888          might be 1.0248x faster
   double-pollution-putbyoffset                       3.5950+-0.0252     ?      3.7397+-0.2680        ? might be 1.0403x slower
   double-real-use                                   23.8542+-0.7163     ?     24.6846+-1.2839        ? might be 1.0348x slower
   double-to-int32-typed-array-no-inline              2.1869+-0.0925     ?      2.2149+-0.1043        ? might be 1.0128x slower
   double-to-int32-typed-array                        2.0574+-0.0683            2.0404+-0.0458        
   double-to-uint32-typed-array-no-inline             2.2911+-0.1188            2.2465+-0.1173          might be 1.0198x faster
   double-to-uint32-typed-array                       2.2375+-0.3229            2.1367+-0.1424          might be 1.0472x faster
   elidable-new-object-dag                           35.0214+-1.9241           33.6957+-1.0493          might be 1.0393x faster
   elidable-new-object-roflcopter                    32.8034+-0.8106     ?     32.8256+-1.5483        ?
   elidable-new-object-then-call                     31.5361+-1.0750           31.4079+-0.9203        
   elidable-new-object-tree                          37.3628+-0.8620           37.1302+-1.5373        
   empty-string-plus-int                              4.8310+-0.2412     ?      5.5710+-0.6920        ? might be 1.1532x slower
   emscripten-cube2hash                              26.9150+-1.3839     ?     28.2801+-2.2707        ? might be 1.0507x slower
   exit-length-on-plain-object                       15.0349+-0.4529     ?     15.1326+-0.6428        ?
   external-arguments-getbyval                        1.3042+-0.2041            1.2106+-0.1166          might be 1.0773x faster
   external-arguments-putbyval                        2.4492+-0.3521            2.2196+-0.1282          might be 1.1035x faster
   fixed-typed-array-storage-var-index                1.1820+-0.0219     ?      1.2327+-0.0688        ? might be 1.0429x slower
   fixed-typed-array-storage                          0.9594+-0.0975            0.9353+-0.0915          might be 1.0257x faster
   Float32Array-matrix-mult                           4.0170+-0.0896     ?      4.0402+-0.1076        ?
   Float32Array-to-Float64Array-set                  49.2087+-1.7974     ?     49.9964+-2.7872        ? might be 1.0160x slower
   Float64Array-alloc-long-lived                     59.7202+-2.0971     ?     60.3405+-2.2037        ? might be 1.0104x slower
   Float64Array-to-Int16Array-set                    58.9578+-1.6201     ?     60.2605+-2.9097        ? might be 1.0221x slower
   fold-double-to-int                                12.4453+-0.5988           12.2906+-0.4347          might be 1.0126x faster
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     10.4577+-1.7976     ?     11.8353+-1.0651        ? might be 1.1317x slower
   fold-get-by-id-to-multi-get-by-offset              9.1526+-1.6608     ?      9.7150+-0.2820        ? might be 1.0614x slower
   fold-multi-get-by-offset-to-get-by-offset   
                                                      9.3267+-1.4652            7.6806+-2.5600          might be 1.2143x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      8.6034+-1.9855            8.2935+-1.6092          might be 1.0374x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                     10.0243+-0.9944            9.5217+-1.8453          might be 1.0528x faster
   fold-multi-put-by-offset-to-put-by-offset   
                                                     10.6790+-2.8189     ?     11.5736+-1.6873        ? might be 1.0838x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                      9.5153+-0.6102            9.1377+-0.1505          might be 1.0413x faster
   fold-put-by-id-to-multi-put-by-offset             11.2713+-1.3190     ?     11.3493+-1.3625        ?
   fold-put-by-val-with-string-to-multi-put-by-offset   
                                                     12.2257+-1.1101           11.5007+-1.0224          might be 1.0630x faster
   fold-put-by-val-with-symbol-to-multi-put-by-offset   
                                                     11.6285+-1.4503     ?     11.9628+-1.9921        ? might be 1.0287x slower
   fold-put-structure                                 8.1910+-1.0471     ?      8.2600+-0.1756        ?
   for-of-iterate-array-entries                      10.6944+-0.2150     ?     11.1614+-1.1555        ? might be 1.0437x slower
   for-of-iterate-array-keys                          3.6174+-0.8075            3.3477+-0.0943          might be 1.0806x faster
   for-of-iterate-array-values                        3.3522+-0.1253            3.3256+-0.0793        
   fround                                            17.9018+-0.8752     ?     18.2906+-1.8751        ? might be 1.0217x slower
   ftl-library-inlining-dataview                     56.6535+-0.8474     ?     56.6785+-1.4596        ?
   ftl-library-inlining                              96.4855+-0.3888     ?     97.4093+-1.7885        ?
   function-call                                     10.7961+-0.1577           10.7055+-0.2884        
   function-dot-apply                                 2.1750+-0.3430     ?      2.2953+-0.2904        ? might be 1.0553x slower
   function-test                                      2.6986+-0.0689     ?      2.7022+-0.0659        ?
   function-with-eval                                85.3630+-1.3438           85.1863+-3.7707        
   gcse-poly-get-less-obvious                        21.5798+-0.6303     ?     21.8790+-0.5789        ? might be 1.0139x slower
   gcse-poly-get                                     23.1087+-2.5651     ?     23.2740+-2.5257        ?
   gcse                                               3.3438+-0.0251     ?      3.5098+-0.1540        ? might be 1.0496x slower
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.5878+-0.0383     ?      2.6042+-0.0395        ?
   get-by-id-bimorphic-check-structure-elimination   
                                                      4.6482+-0.0391     ?      4.8758+-0.6647        ? might be 1.0490x slower
   get-by-id-chain-from-try-block                     2.4042+-0.0421     ?      2.5238+-0.2852        ? might be 1.0498x slower
   get-by-id-check-structure-elimination              3.8880+-0.1049     ?      3.9797+-0.2437        ? might be 1.0236x slower
   get-by-id-proto-or-self                           15.4588+-0.5324     ?     16.3663+-1.4267        ? might be 1.0587x slower
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      2.8881+-0.0757     ?      2.9083+-0.0920        ?
   get-by-id-self-or-proto                           15.9906+-1.5655           15.6370+-1.4439          might be 1.0226x faster
   get-by-val-out-of-bounds                           4.2206+-0.1684            4.1545+-0.1627          might be 1.0159x faster
   get-by-val-with-string-bimorphic-check-structure-elimination-simple   
                                                      2.7022+-0.0765            2.6905+-0.0341        
   get-by-val-with-string-bimorphic-check-structure-elimination   
                                                      6.0925+-0.2128            5.8852+-0.0378          might be 1.0352x faster
   get-by-val-with-string-chain-from-try-block   
                                                      2.4415+-0.0601     ?      2.4455+-0.0570        ?
   get-by-val-with-string-check-structure-elimination   
                                                      5.2255+-0.2147            5.1694+-0.0914          might be 1.0109x faster
   get-by-val-with-string-proto-or-self              16.2204+-0.8525           15.6285+-0.5817          might be 1.0379x faster
   get-by-val-with-string-quadmorphic-check-structure-elimination-simple   
                                                      3.3348+-0.4552            3.1297+-0.1374          might be 1.0655x faster
   get-by-val-with-string-self-or-proto              16.1639+-1.0648           15.8643+-1.5540          might be 1.0189x faster
   get-by-val-with-symbol-bimorphic-check-structure-elimination-simple   
                                                      2.9561+-0.0684            2.8809+-0.0317          might be 1.0261x faster
   get-by-val-with-symbol-bimorphic-check-structure-elimination   
                                                     12.2534+-0.0928     ?     12.5938+-0.2972        ? might be 1.0278x slower
   get-by-val-with-symbol-chain-from-try-block   
                                                      2.5067+-0.1312     ?      2.5136+-0.1913        ?
   get-by-val-with-symbol-check-structure-elimination   
                                                     10.9850+-0.0493     ?     11.0123+-0.0577        ?
   get-by-val-with-symbol-proto-or-self              15.3425+-0.5165     ?     15.7916+-0.9816        ? might be 1.0293x slower
   get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple   
                                                      3.6705+-0.0539     ?      3.8054+-0.2875        ? might be 1.0367x slower
   get-by-val-with-symbol-self-or-proto              15.7792+-1.0178     ?     16.0565+-0.7904        ? might be 1.0176x slower
   get_callee_monomorphic                             2.5128+-0.2944            2.3202+-0.1841          might be 1.0830x faster
   get_callee_polymorphic                             3.3790+-0.1252     ?      3.5839+-0.1703        ? might be 1.0606x slower
   getter-no-activation                               4.9157+-0.2552            4.8009+-0.2377          might be 1.0239x faster
   getter-prototype                                   7.8921+-0.1475            7.8693+-0.3285        
   getter-richards-try-catch                        988.5895+-9.2441          984.8180+-24.7334       
   getter-richards                                  116.2349+-7.2094     ?    116.4076+-9.7245        ?
   getter                                             6.0014+-0.9337     ?      6.4010+-0.7798        ? might be 1.0666x slower
   global-object-access-with-mutating-structure   
                                                      5.6621+-0.2019     ?      5.8916+-0.4774        ? might be 1.0405x slower
   global-var-const-infer-fire-from-opt               0.8841+-0.1311            0.8482+-0.0689          might be 1.0423x faster
   global-var-const-infer                             0.6439+-0.0285            0.6412+-0.0211        
   hard-overflow-check-equal                         28.5472+-1.3421           28.3611+-1.7982        
   hard-overflow-check                               27.3359+-0.2516     ?     27.7917+-0.4603        ? might be 1.0167x slower
   HashMap-put-get-iterate-keys                      26.5159+-2.2192           25.4065+-1.6120          might be 1.0437x faster
   HashMap-put-get-iterate                           28.4772+-1.4592           27.8341+-0.9604          might be 1.0231x faster
   HashMap-string-put-get-iterate                    24.1648+-1.6613     ?     25.7485+-2.1486        ? might be 1.0655x slower
   hoist-make-rope                                    8.8420+-0.8777     ?      8.8681+-0.9053        ?
   hoist-poly-check-structure-effectful-loop   
                                                      3.7158+-0.2632     ?      3.7347+-0.1728        ?
   hoist-poly-check-structure                         3.1002+-0.0676     ?      3.3950+-0.4925        ? might be 1.0951x slower
   imul-double-only                                   7.6105+-0.4877     ?      7.6310+-0.5411        ?
   imul-int-only                                      8.1093+-0.9172     ?      8.4431+-0.7783        ? might be 1.0412x slower
   imul-mixed                                         6.8530+-0.2198     ?      7.0945+-0.5621        ? might be 1.0352x slower
   in-four-cases                                     17.4873+-1.0079           16.9604+-0.3925          might be 1.0311x faster
   in-one-case-false                                  9.5947+-0.3957     ?      9.8575+-0.8974        ? might be 1.0274x slower
   in-one-case-true                                   9.7429+-0.9300            9.6483+-0.6758        
   in-two-cases                                       9.8130+-0.3681            9.7472+-0.4332        
   indexed-properties-in-objects                      2.7985+-0.0219     ?      2.8457+-0.0730        ? might be 1.0169x slower
   infer-closure-const-then-mov-no-inline             3.7861+-0.3150            3.5515+-0.0705          might be 1.0660x faster
   infer-closure-const-then-mov                      18.7323+-0.6335     ?     18.7792+-1.1248        ?
   infer-closure-const-then-put-to-scope-no-inline   
                                                     10.8452+-0.1591     ?     11.0126+-0.1248        ? might be 1.0154x slower
   infer-closure-const-then-put-to-scope             23.5568+-2.0508           22.6897+-1.1348          might be 1.0382x faster
   infer-closure-const-then-reenter-no-inline   
                                                     48.7842+-1.9409     ?     48.7922+-1.5856        ?
   infer-closure-const-then-reenter                  23.6844+-0.6251           23.4492+-0.7171          might be 1.0100x faster
   infer-constant-global-property                     3.3874+-0.0612     ?      3.4832+-0.0879        ? might be 1.0283x slower
   infer-constant-property                            2.6713+-0.1403            2.6034+-0.0525          might be 1.0261x faster
   infer-one-time-closure-ten-vars                    7.7928+-0.6903            7.7786+-0.2626        
   infer-one-time-closure-two-vars                    7.5607+-0.5519            7.4326+-0.3357          might be 1.0172x faster
   infer-one-time-closure                             7.4395+-0.1484            7.3341+-0.4164          might be 1.0144x faster
   infer-one-time-deep-closure                       10.9277+-0.5981     ?     11.2007+-0.5617        ? might be 1.0250x slower
   inline-arguments-access                            3.6995+-0.2501     ?      3.8199+-0.4754        ? might be 1.0326x slower
   inline-arguments-aliased-access                    3.5390+-0.1364     ?      3.6019+-0.0652        ? might be 1.0178x slower
   inline-arguments-local-escape                      3.5760+-0.0961     ?      3.7084+-0.2365        ? might be 1.0370x slower
   inline-get-scoped-var                              4.6024+-0.2209     ?      4.6099+-0.1965        ?
   inlined-put-by-id-transition                       9.6954+-0.9802            9.3885+-0.5677          might be 1.0327x faster
   inlined-put-by-val-with-string-transition   
                                                     42.0626+-1.4184           40.6265+-1.2038          might be 1.0354x faster
   inlined-put-by-val-with-symbol-transition   
                                                     41.6254+-2.3220           40.2871+-2.4252          might be 1.0332x faster
   int-or-other-abs-then-get-by-val                   4.5507+-0.0738     ?      4.5740+-0.2443        ?
   int-or-other-abs-zero-then-get-by-val             15.3571+-0.3657     ?     15.8780+-0.8846        ? might be 1.0339x slower
   int-or-other-add-then-get-by-val                   4.8512+-0.5442            4.6492+-0.4274          might be 1.0434x faster
   int-or-other-add                                   4.9350+-0.0844     ?      5.0074+-0.1514        ? might be 1.0147x slower
   int-or-other-div-then-get-by-val                   3.7154+-0.0427     ?      3.7220+-0.0788        ?
   int-or-other-max-then-get-by-val                   3.9396+-0.1628            3.8970+-0.0477          might be 1.0109x faster
   int-or-other-min-then-get-by-val                   3.7450+-0.0356     ?      4.0613+-0.5089        ? might be 1.0844x slower
   int-or-other-mod-then-get-by-val                   3.5112+-0.1403     ?      3.6037+-0.3733        ? might be 1.0264x slower
   int-or-other-mul-then-get-by-val                   3.6514+-0.1779     ?      3.7807+-0.3063        ? might be 1.0354x slower
   int-or-other-neg-then-get-by-val                   4.3595+-0.5040            4.0124+-0.0444          might be 1.0865x faster
   int-or-other-neg-zero-then-get-by-val             16.2285+-1.4224           15.3628+-0.3810          might be 1.0563x faster
   int-or-other-sub-then-get-by-val                   4.3797+-0.0466     ?      4.5299+-0.4640        ? might be 1.0343x slower
   int-or-other-sub                                   3.4329+-0.0518     ?      3.4353+-0.0598        ?
   int-overflow-local                                 4.2666+-0.3743            4.2263+-0.3509        
   Int16Array-alloc-long-lived                       43.7890+-1.4869     ?     44.1681+-2.1129        ?
   Int16Array-bubble-sort-with-byteLength            16.9350+-0.3247     !     20.4690+-1.4552        ! definitely 1.2087x slower
   Int16Array-bubble-sort                            17.6527+-1.2882           17.0944+-0.6039          might be 1.0327x faster
   Int16Array-load-int-mul                            1.4190+-0.0762     ?      1.6014+-0.3656        ? might be 1.1285x slower
   Int16Array-to-Int32Array-set                      46.5149+-2.2783           46.3017+-1.0179        
   Int32Array-alloc-large                            12.6820+-1.0257           12.6135+-0.6826        
   Int32Array-alloc-long-lived                       52.3064+-7.8335           48.9578+-1.3061          might be 1.0684x faster
   Int32Array-alloc                                   3.0718+-0.3252            2.7528+-0.2562          might be 1.1159x faster
   Int32Array-Int8Array-view-alloc                    6.1065+-0.4221     ?      6.1569+-0.3978        ?
   int52-spill                                        4.5057+-0.0812     ?      4.6123+-0.1163        ? might be 1.0237x slower
   Int8Array-alloc-long-lived                        38.7169+-1.0729           38.3855+-0.9333        
   Int8Array-load-with-byteLength                     3.4045+-0.0769     ?      3.4191+-0.1178        ?
   Int8Array-load                                     3.3216+-0.0605     ?      3.3711+-0.1056        ? might be 1.0149x slower
   integer-divide                                    10.6351+-0.3788           10.3204+-0.1809          might be 1.0305x faster
   integer-modulo                                     1.6097+-0.0782     ?      1.6648+-0.2123        ? might be 1.0343x slower
   is-boolean-fold-tricky                             3.8448+-0.2169     ?      3.8872+-0.3028        ? might be 1.0110x slower
   is-boolean-fold                                    2.6520+-0.0394            2.6265+-0.0875        
   is-function-fold-tricky-internal-function   
                                                      9.2745+-0.1023     ?      9.5977+-0.3926        ? might be 1.0348x slower
   is-function-fold-tricky                            4.0870+-0.1496     ?      4.0935+-0.0459        ?
   is-function-fold                                   2.6692+-0.0504     ?      2.6721+-0.0695        ?
   is-number-fold-tricky                              3.9912+-0.1082            3.9509+-0.0564          might be 1.0102x faster
   is-number-fold                                     2.6656+-0.0632            2.6334+-0.0382          might be 1.0122x faster
   is-object-or-null-fold-functions                   2.7201+-0.0864            2.7197+-0.1477        
   is-object-or-null-fold-less-tricky                 4.0358+-0.1337     ?      4.1363+-0.1686        ? might be 1.0249x slower
   is-object-or-null-fold-tricky                      4.8367+-0.2195            4.8057+-0.0915        
   is-object-or-null-fold                             2.6700+-0.0412     ?      2.7114+-0.1198        ? might be 1.0155x slower
   is-object-or-null-trickier-function                4.1442+-0.1543            4.1310+-0.1900        
   is-object-or-null-trickier-internal-function   
                                                     10.0459+-0.6259            9.7509+-0.2360          might be 1.0303x faster
   is-object-or-null-tricky-function                  4.1870+-0.3248     ?      4.2946+-0.6598        ? might be 1.0257x slower
   is-object-or-null-tricky-internal-function   
                                                      7.5673+-0.3130            7.2372+-0.2033          might be 1.0456x faster
   is-string-fold-tricky                              3.9427+-0.0634     ?      3.9959+-0.0576        ? might be 1.0135x slower
   is-string-fold                                     2.6391+-0.0446     ?      2.7794+-0.1678        ? might be 1.0531x slower
   is-undefined-fold-tricky                           3.3368+-0.0928     ?      3.6723+-0.8981        ? might be 1.1006x slower
   is-undefined-fold                                  2.7941+-0.1263            2.6926+-0.1416          might be 1.0377x faster
   JSONP-negative-0                                   0.2553+-0.0074            0.2454+-0.0046          might be 1.0405x faster
   large-int-captured                                 4.2113+-0.3226            4.1780+-0.2991        
   large-int-neg                                     13.9733+-0.5132     ?     14.0009+-0.3815        ?
   large-int                                         13.4235+-0.4399           13.3840+-0.4535        
   load-varargs-elimination                          21.4317+-1.2962           20.9780+-0.6660          might be 1.0216x faster
   logical-not-weird-types                            3.0488+-0.0543     ?      3.0696+-0.0982        ?
   logical-not                                        4.3687+-0.0783            4.3597+-0.1925        
   lots-of-fields                                     8.8830+-0.2838     ?      9.2035+-0.4940        ? might be 1.0361x slower
   make-indexed-storage                               2.8757+-0.2307            2.7916+-0.1153          might be 1.0301x faster
   make-rope-cse                                      3.7414+-0.3610     ?      3.8092+-0.4055        ? might be 1.0181x slower
   marsaglia-larger-ints                             32.3546+-1.3815     ?     33.0549+-1.3582        ? might be 1.0216x slower
   marsaglia-osr-entry                               21.7100+-0.5046     ?     21.7769+-0.7385        ?
   math-with-out-of-bounds-array-values              21.3008+-0.3411     ?     21.9972+-0.9768        ? might be 1.0327x slower
   max-boolean                                        2.5887+-0.0299     ?      2.6678+-0.1040        ? might be 1.0305x slower
   method-on-number                                  15.7077+-0.6259           15.6193+-0.3283        
   min-boolean                                        2.6998+-0.2001            2.6136+-0.0688          might be 1.0330x faster
   minus-boolean-double                               3.0553+-0.0472     ?      3.2167+-0.1352        ? might be 1.0528x slower
   minus-boolean                                      2.3754+-0.1337            2.3314+-0.0384          might be 1.0189x faster
   misc-strict-eq                                    29.9679+-1.5188           27.8944+-1.0284          might be 1.0743x faster
   mod-boolean-double                                11.1141+-0.2868     ?     11.2596+-0.4948        ? might be 1.0131x slower
   mod-boolean                                        8.4957+-0.5266            8.4427+-0.2956        
   mul-boolean-double                                 3.5693+-0.0451     ?      3.6584+-0.1746        ? might be 1.0250x slower
   mul-boolean                                        2.8610+-0.0531            2.7999+-0.0486          might be 1.0218x faster
   neg-boolean                                        3.1493+-0.1867     ?      3.2025+-0.1275        ? might be 1.0169x slower
   negative-zero-divide                               0.3451+-0.0261            0.3354+-0.0130          might be 1.0288x faster
   negative-zero-modulo                               0.3267+-0.0056     ?      0.3344+-0.0187        ? might be 1.0238x slower
   negative-zero-negate                               0.4218+-0.2464            0.3280+-0.0248          might be 1.2858x faster
   nested-function-parsing                           45.5972+-1.7022           45.0191+-0.8866          might be 1.0128x faster
   new-array-buffer-dead                             87.8387+-1.9651           86.7271+-0.7245          might be 1.0128x faster
   new-array-buffer-push                              5.9877+-0.4086     ?      6.1186+-0.1861        ? might be 1.0219x slower
   new-array-dead                                    15.8818+-1.4622           15.0636+-0.9911          might be 1.0543x faster
   new-array-push                                     3.5423+-0.2763     ?      3.5485+-0.2862        ?
   no-inline-constructor                             31.9204+-1.1590     ?     32.6326+-1.3792        ? might be 1.0223x slower
   number-test                                        2.9546+-0.0627            2.9450+-0.0468        
   object-closure-call                                4.8563+-0.1139     ?      4.9154+-0.1290        ? might be 1.0122x slower
   object-get-own-property-symbols-on-large-array   
                                                      4.2769+-0.2901     ?      4.3917+-0.6324        ? might be 1.0268x slower
   object-test                                        2.7627+-0.0877            2.6631+-0.0534          might be 1.0374x faster
   obvious-sink-pathology-taken                      97.5841+-0.8140     ?     97.6783+-1.6911        ?
   obvious-sink-pathology                            92.2847+-1.2265     ?     92.3541+-0.7299        ?
   obviously-elidable-new-object                     28.0870+-0.2771     ?     29.0813+-1.3552        ? might be 1.0354x slower
   plus-boolean-arith                                 2.4518+-0.0802     ?      2.4653+-0.1491        ?
   plus-boolean-double                                3.0905+-0.0112     ?      3.1652+-0.1146        ? might be 1.0242x slower
   plus-boolean                                       2.6922+-0.2812            2.5325+-0.0631          might be 1.0631x faster
   poly-chain-access-different-prototypes-simple   
                                                      2.7792+-0.4627            2.5903+-0.0866          might be 1.0729x faster
   poly-chain-access-different-prototypes             2.5193+-0.0454     ?      2.5625+-0.0560        ? might be 1.0172x slower
   poly-chain-access-simpler                          2.6469+-0.0909            2.5909+-0.0645          might be 1.0216x faster
   poly-chain-access                                  2.5372+-0.0587            2.4849+-0.0385          might be 1.0210x faster
   poly-stricteq                                     49.6910+-0.9373     ?     55.3575+-15.3564       ? might be 1.1140x slower
   polymorphic-array-call                             1.2867+-0.0469     ?      1.3428+-0.2550        ? might be 1.0436x slower
   polymorphic-get-by-id                              3.1853+-0.5936            2.8733+-0.1211          might be 1.1086x faster
   polymorphic-put-by-id                             28.4878+-0.6956           28.3821+-1.1617        
   polymorphic-put-by-val-with-string                29.6341+-2.1080           29.0091+-1.6158          might be 1.0215x faster
   polymorphic-put-by-val-with-symbol                29.0791+-1.6725     ?     29.2801+-1.0682        ?
   polymorphic-structure                             12.9622+-1.3114           12.8423+-1.0227        
   polyvariant-monomorphic-get-by-id                  6.8554+-1.1159            6.2793+-0.7934          might be 1.0917x faster
   proto-getter-access                                8.4306+-0.1719            8.3401+-0.1702          might be 1.0108x faster
   prototype-access-with-mutating-prototype           5.3208+-0.1613     ?      5.4528+-0.2851        ? might be 1.0248x slower
   put-by-id-replace-and-transition                   7.4833+-0.3607     ?      8.4059+-0.8343        ? might be 1.1233x slower
   put-by-id-slightly-polymorphic                     2.6883+-0.0720            2.6840+-0.0602        
   put-by-id                                          9.5776+-0.3670     ?      9.9238+-0.9628        ? might be 1.0361x slower
   put-by-val-direct                                  0.3326+-0.0200     ?      0.3796+-0.0892        ? might be 1.1412x slower
   put-by-val-large-index-blank-indexing-type   
                                                      5.3602+-0.4214            5.2416+-0.3287          might be 1.0226x faster
   put-by-val-machine-int                             2.5098+-0.2536            2.4253+-0.1119          might be 1.0348x faster
   put-by-val-with-string-replace-and-transition   
                                                     10.3461+-0.3316     ?     10.4257+-1.2379        ?
   put-by-val-with-string-slightly-polymorphic   
                                                      2.9441+-0.1004            2.9097+-0.0859          might be 1.0118x faster
   put-by-val-with-string                            10.6089+-1.1933           10.4230+-0.7275          might be 1.0178x faster
   put-by-val-with-symbol-replace-and-transition   
                                                     12.3831+-0.7039           11.7854+-0.4911          might be 1.0507x faster
   put-by-val-with-symbol-slightly-polymorphic   
                                                      3.2172+-0.0858            3.2004+-0.1169        
   put-by-val-with-symbol                            10.9246+-0.9605           10.7673+-0.9121          might be 1.0146x faster
   rare-osr-exit-on-local                            13.9286+-0.4678           13.4974+-0.2639          might be 1.0319x faster
   raytrace-with-empty-try-catch                      5.0987+-0.0820            5.0678+-0.0885        
   raytrace-with-try-catch                            9.7770+-0.1335            9.6529+-0.2125          might be 1.0129x faster
   register-pressure-from-osr                        16.5005+-0.3010           16.4755+-0.6238        
   repeat-multi-get-by-offset                        21.8426+-0.7611     ?     21.9126+-0.5598        ?
   richards-empty-try-catch                          72.3240+-1.5042           72.0399+-2.5508        
   richards-try-catch                               239.7158+-3.5785          237.6239+-2.6632        
   setter-prototype                                   7.7324+-0.1783     ?      7.7837+-0.2833        ?
   setter                                             5.5273+-0.7478            5.2602+-0.1457          might be 1.0508x faster
   simple-activation-demo                            25.0794+-0.8204           24.1632+-0.7573          might be 1.0379x faster
   simple-getter-access                              10.7924+-0.4605           10.6514+-0.2641          might be 1.0132x faster
   simple-poly-call-nested                            8.7078+-0.5088            8.5845+-0.6312          might be 1.0144x faster
   simple-poly-call                                   1.3068+-0.0316     ?      1.3083+-0.1096        ?
   sin-boolean                                       20.9993+-1.4151     ?     21.0657+-1.5600        ?
   singleton-scope                                   64.1461+-1.2894     ?     64.3475+-0.5541        ?
   sink-function                                      9.9991+-1.1061            9.9012+-0.3695        
   sink-huge-activation                              17.3971+-0.9185           16.9467+-0.6435          might be 1.0266x faster
   sinkable-new-object-dag                           54.5467+-1.0004     ?     55.0567+-1.0581        ?
   sinkable-new-object-taken                         44.1518+-2.5116           43.5515+-2.2610          might be 1.0138x faster
   sinkable-new-object                               30.1760+-1.3233     ?     30.3503+-1.6064        ?
   slow-array-profile-convergence                     2.5313+-0.2544     ?      2.6158+-0.2837        ? might be 1.0334x slower
   slow-convergence                                   2.3475+-0.0282     ?      2.4161+-0.1314        ? might be 1.0292x slower
   slow-ternaries                                    17.1063+-0.2807     ?     17.5118+-0.6358        ? might be 1.0237x slower
   sorting-benchmark                                 16.7992+-0.5438     ?     16.9448+-0.4834        ?
   sparse-conditional                                 1.1951+-0.0971            1.1863+-0.0597        
   splice-to-remove                                  11.9344+-0.3058     ?     12.7351+-0.7009        ? might be 1.0671x slower
   string-char-code-at                               13.4112+-0.3337           13.3388+-0.5350        
   string-concat-object                               2.1232+-0.0588     ?      2.2289+-0.1419        ? might be 1.0498x slower
   string-concat-pair-object                          2.1071+-0.1212     ?      2.2041+-0.1285        ? might be 1.0461x slower
   string-concat-pair-simple                          9.2939+-0.7066     ?      9.8210+-0.9734        ? might be 1.0567x slower
   string-concat-simple                              10.2297+-1.2191            9.7924+-0.8654          might be 1.0447x faster
   string-cons-repeat                                 6.4616+-0.0846     ?      6.6652+-0.4610        ? might be 1.0315x slower
   string-cons-tower                                  6.5574+-0.2100     ?      6.6185+-0.4368        ?
   string-equality                                   15.9157+-0.5821     ?     16.1047+-0.6260        ? might be 1.0119x slower
   string-get-by-val-big-char                         6.8041+-0.5701            6.5305+-0.2359          might be 1.0419x faster
   string-get-by-val-out-of-bounds-insane             3.2231+-0.2023            3.0901+-0.0851          might be 1.0430x faster
   string-get-by-val-out-of-bounds                    4.1715+-0.4537            3.9517+-0.0654          might be 1.0556x faster
   string-get-by-val                                  3.1058+-0.7267            2.8564+-0.1030          might be 1.0873x faster
   string-hash                                        1.8136+-0.0251     ?      1.8376+-0.0238        ? might be 1.0133x slower
   string-long-ident-equality                        13.5824+-0.3924     ?     14.5070+-1.0724        ? might be 1.0681x slower
   string-out-of-bounds                              10.2027+-0.1596     ?     10.2155+-0.4792        ?
   string-repeat-arith                               26.7487+-1.0581           26.5970+-0.9475        
   string-sub                                        55.2487+-1.3794           54.0056+-0.9671          might be 1.0230x faster
   string-test                                        2.8169+-0.0305            2.7826+-0.0650          might be 1.0123x faster
   string-var-equality                               24.9091+-0.6941     ?     25.6539+-0.7007        ? might be 1.0299x slower
   structure-hoist-over-transitions                   2.5636+-0.4415            2.4499+-0.1988          might be 1.0464x faster
   substring-concat-weird                            35.4772+-0.8962     ?     35.7562+-1.5984        ?
   substring-concat                                  40.1775+-2.0860     ?     40.2559+-1.2769        ?
   substring                                         46.6287+-5.0892           45.4709+-1.1378          might be 1.0255x faster
   switch-char-constant                               2.6684+-0.0408            2.6646+-0.0705        
   switch-char                                        6.5760+-1.0737     ?      6.7502+-1.0730        ? might be 1.0265x slower
   switch-constant                                    8.5647+-1.1581            8.5088+-1.3340        
   switch-string-basic-big-var                       14.3324+-0.2370     ?     15.0182+-0.9196        ? might be 1.0478x slower
   switch-string-basic-big                           14.4681+-0.4012     ?     14.6738+-0.4345        ? might be 1.0142x slower
   switch-string-basic-var                           13.9053+-0.8372           13.3035+-0.2426          might be 1.0452x faster
   switch-string-basic                               12.8811+-0.5719     ?     13.0268+-0.6688        ? might be 1.0113x slower
   switch-string-big-length-tower-var                18.3865+-1.2151           18.0925+-0.6305          might be 1.0163x faster
   switch-string-length-tower-var                    13.5498+-0.8284     ?     13.5569+-0.5694        ?
   switch-string-length-tower                        11.3538+-0.3290     ?     11.6910+-0.4895        ? might be 1.0297x slower
   switch-string-short                               11.5105+-0.5655     ?     11.6159+-0.4828        ?
   switch                                            11.3587+-0.9161           11.2852+-0.9262        
   tear-off-arguments-simple                          2.9930+-0.0833     ?      3.0522+-0.1159        ? might be 1.0198x slower
   tear-off-arguments                                 3.9771+-0.1129     ?      4.0864+-0.2856        ? might be 1.0275x slower
   temporal-structure                                11.7991+-0.2827     ?     11.9939+-0.5661        ? might be 1.0165x slower
   to-int32-boolean                                  12.5715+-0.3114     ?     12.7070+-0.8261        ? might be 1.0108x slower
   try-catch-get-by-val-cloned-arguments              9.0809+-0.6892            8.7898+-0.1226          might be 1.0331x faster
   try-catch-get-by-val-direct-arguments              2.3163+-0.4996            2.2509+-0.3962          might be 1.0291x faster
   try-catch-get-by-val-scoped-arguments              4.4937+-0.1731     ?      4.5391+-0.5343        ? might be 1.0101x slower
   typed-array-get-set-by-val-profiling              27.5318+-0.7653           26.7850+-0.5899          might be 1.0279x faster
   undefined-property-access                        219.4653+-6.5850          218.8767+-6.4179        
   undefined-test                                     2.9961+-0.1105            2.9443+-0.0647          might be 1.0176x faster
   unprofiled-licm                                    9.3355+-0.2414     ?      9.4221+-0.2219        ?
   v8-raytrace-with-empty-try-catch                  23.9919+-0.5608           23.6311+-0.3717          might be 1.0153x faster
   v8-raytrace-with-try-catch                        61.4048+-1.3263     ?     62.3697+-3.0825        ? might be 1.0157x slower
   varargs-call                                      13.1865+-0.3395           13.0844+-0.1463        
   varargs-construct-inline                          22.3252+-0.5502           21.8190+-0.5570          might be 1.0232x faster
   varargs-construct                                 20.9810+-1.0368           20.9582+-0.7861        
   varargs-inline                                     8.8227+-0.3422            8.7943+-0.1878        
   varargs-strict-mode                               10.0084+-0.3637     ?     10.2067+-0.4807        ? might be 1.0198x slower
   varargs                                            9.9468+-0.2505     ?     10.2112+-0.3802        ? might be 1.0266x slower
   weird-inlining-const-prop                          2.1602+-0.1545     ?      2.1827+-0.1358        ? might be 1.0104x slower

   <geometric>                                        8.0902+-0.0311            8.0846+-0.0236          might be 1.0007x faster

                                                        TipOfTree               SimplerPutPath                                  
AsmBench:
   bigfib.cpp                                       452.9093+-9.4337          449.9729+-8.8749        
   cray.c                                           394.8634+-4.6170          390.6325+-2.5465          might be 1.0108x faster
   dry.c                                            426.7283+-11.0328         425.5854+-2.0681        
   FloatMM.c                                        685.3360+-4.2901     ?    685.8255+-6.0118        ?
   gcc-loops.cpp                                   3452.3479+-73.1482    ?   3463.9544+-56.0467       ?
   n-body.c                                         830.5774+-6.5978          825.6173+-4.4092        
   Quicksort.c                                      406.2400+-5.3113     ?    408.8646+-4.4159        ?
   stepanov_container.cpp                          3508.7983+-47.0341    ?   3627.3859+-355.9051      ? might be 1.0338x slower
   Towers.c                                         232.0310+-0.7035     ?    233.9385+-2.2341        ?

   <geometric>                                      716.1799+-4.4513     ?    718.0509+-9.0237        ? might be 1.0026x slower

                                                        TipOfTree               SimplerPutPath                                  
CompressionBench:
   huffman                                           59.8179+-1.0541           59.6162+-1.0873        
   arithmetic-simple                                274.8180+-5.1165          272.0908+-1.3839          might be 1.0100x faster
   arithmetic-precise                               243.0261+-0.9334     ?    244.7514+-3.0038        ?
   arithmetic-complex-precise                       246.9423+-3.3571     ?    249.1310+-7.1646        ?
   arithmetic-precise-order-0                       281.8013+-3.0764     ?    282.6088+-6.4868        ?
   arithmetic-precise-order-1                       300.6028+-1.6442     ?    301.4009+-2.0426        ?
   arithmetic-precise-order-2                       348.7463+-10.7980         345.0329+-2.0548          might be 1.0108x faster
   arithmetic-simple-order-1                        320.3902+-1.8686     ?    320.4757+-3.1819        ?
   arithmetic-simple-order-2                        381.9323+-18.9119         374.1611+-7.1572          might be 1.0208x faster
   lz-string                                        308.1424+-4.6198     ?    312.3224+-10.0000       ? might be 1.0136x slower

   <geometric>                                      253.5295+-1.3450          253.3025+-1.6928          might be 1.0009x faster

                                                        TipOfTree               SimplerPutPath                                  
Geomean of preferred means:
   <scaled-result>                                   50.0486+-0.1473           50.0150+-0.2255          might be 1.0007x faster
Comment 2 Filip Pizlo 2015-10-07 12:35:25 PDT
Created attachment 262625 [details]
the patch
Comment 3 Geoffrey Garen 2015-10-07 13:20:55 PDT
Comment on attachment 262625 [details]
the patch

r=me
Comment 4 Filip Pizlo 2015-10-07 13:28:31 PDT
Landed in http://trac.webkit.org/changeset/190682