Bug 148943

Summary: The put_by_id IC store barrier contract should benefit transition over replace
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, benjamin, ggaren, mark.lam, mhahnenb, msaboff, nrotem, oliver, saam, sam
Priority: P2    
Version: Other   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 148717    
Attachments:
Description Flags
the patch mark.lam: review+

Description Filip Pizlo 2015-09-07 13:56:27 PDT
This means that the put_by_id callsite should emit a barrier without filtering the value being stored.
Comment 1 Filip Pizlo 2015-09-07 14:01:51 PDT
Created attachment 260748 [details]
the patch
Comment 2 Filip Pizlo 2015-09-07 21:05:19 PDT
Looks like this is perf-neutral:


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 (r189467)
"PutByIdStoreBarrier" at /Volumes/Data/quinary/OpenSource/WebKitBuild/Release/jsc (r189467)

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            PutByIdStoreBarrier                                
SunSpider:
   3d-cube                                            4.6134+-0.2783            4.5138+-0.2240          might be 1.0221x faster
   3d-morph                                           5.1722+-0.3574     ?      5.2055+-0.3032        ?
   3d-raytrace                                        5.0509+-0.1610     ?      5.2135+-0.4579        ? might be 1.0322x slower
   access-binary-trees                                2.0860+-0.1609            1.9800+-0.0652          might be 1.0535x faster
   access-fannkuch                                    5.3841+-0.2529            5.3759+-0.4113        
   access-nbody                                       2.6140+-0.4567            2.4485+-0.1085          might be 1.0676x faster
   access-nsieve                                      3.0238+-0.1127     ?      3.0516+-0.1419        ?
   bitops-3bit-bits-in-byte                           1.1136+-0.0372     ?      1.1191+-0.0598        ?
   bitops-bits-in-byte                                3.2717+-0.0662     ?      3.2994+-0.1544        ?
   bitops-bitwise-and                                 2.0603+-0.1095            2.0038+-0.0829          might be 1.0282x faster
   bitops-nsieve-bits                                 2.9286+-0.0916     ?      3.0406+-0.1702        ? might be 1.0383x slower
   controlflow-recursive                              2.1752+-0.1354            2.1239+-0.1184          might be 1.0242x faster
   crypto-aes                                         3.7360+-0.0550            3.7254+-0.1322        
   crypto-md5                                         2.3178+-0.0368     ?      2.3213+-0.0826        ?
   crypto-sha1                                        2.3182+-0.1577     ?      2.4876+-0.5223        ? might be 1.0731x slower
   date-format-tofte                                  6.8372+-0.4330            6.7985+-0.3064        
   date-format-xparb                                  4.6174+-0.3092            4.4815+-0.0431          might be 1.0303x faster
   math-cordic                                        2.7780+-0.1414     ?      2.8011+-0.1754        ?
   math-partial-sums                                  5.0646+-0.1605     ?      5.2845+-0.5957        ? might be 1.0434x slower
   math-spectral-norm                                 1.8713+-0.2215            1.8337+-0.0632          might be 1.0205x faster
   regexp-dna                                         6.5385+-0.3724     ?      6.5543+-0.3214        ?
   string-base64                                      4.3960+-0.2070            4.2760+-0.1135          might be 1.0281x faster
   string-fasta                                       5.6782+-0.1457     ?      5.8142+-0.3569        ? might be 1.0240x slower
   string-tagcloud                                    7.8492+-0.2998     ?      7.9444+-0.3580        ? might be 1.0121x slower
   string-unpack-code                                18.4221+-0.9864     ?     18.6182+-0.7366        ? might be 1.0106x slower
   string-validate-input                              5.0355+-0.2178     ?      5.1012+-0.1448        ? might be 1.0130x slower

   <arithmetic>                                       4.4982+-0.0863     ?      4.5161+-0.0651        ? might be 1.0040x slower

                                                        TipOfTree            PutByIdStoreBarrier                                
LongSpider:
   3d-cube                                          808.7059+-13.6842    ?    816.3277+-11.5967       ?
   3d-morph                                        1485.3774+-4.9710     ?   1489.4202+-9.1828        ?
   3d-raytrace                                      598.5153+-4.3808     ?    602.5488+-16.3481       ?
   access-binary-trees                              797.1367+-4.0925     ?    798.6993+-8.5532        ?
   access-fannkuch                                  273.4866+-3.8827     ?    274.3268+-7.3279        ?
   access-nbody                                     508.4868+-1.4017          508.0944+-1.3046        
   access-nsieve                                    367.8234+-11.5877         362.6473+-11.9310         might be 1.0143x faster
   bitops-3bit-bits-in-byte                          34.1922+-0.8732     ?     34.2316+-1.2263        ?
   bitops-bits-in-byte                               75.8007+-3.8783           75.6529+-0.9888        
   bitops-nsieve-bits                               402.4500+-9.3050          398.9909+-4.8294        
   controlflow-recursive                            420.2223+-7.6488     ?    426.8794+-7.1409        ? might be 1.0158x slower
   crypto-aes                                       579.1559+-4.0079          576.4729+-5.7733        
   crypto-md5                                       491.8049+-4.4771          491.4486+-4.7507        
   crypto-sha1                                      626.1080+-15.2766    ?    630.7100+-25.1097       ?
   date-format-tofte                                495.7249+-7.6935          492.9683+-2.4409        
   date-format-xparb                                656.2102+-2.9382     ?    658.3207+-9.8456        ?
   hash-map                                         168.0955+-2.7122          167.1251+-3.8965        
   math-cordic                                      474.9708+-2.4889     ?    476.6639+-2.7132        ?
   math-partial-sums                                453.3576+-2.0162     ?    454.8883+-0.5846        ?
   math-spectral-norm                               545.4184+-0.7081     ?    546.5890+-1.9221        ?
   string-base64                                    364.1272+-5.6287          362.5942+-4.0671        
   string-fasta                                     361.0107+-2.1468     ?    361.9681+-1.7554        ?
   string-tagcloud                                  174.4371+-1.4381     ?    175.3582+-2.6028        ?

   <geometric>                                      387.3759+-0.9441     ?    387.7406+-1.3611        ? might be 1.0009x slower

                                                        TipOfTree            PutByIdStoreBarrier                                
V8Spider:
   crypto                                            49.0780+-2.2310     ?     49.4786+-3.8267        ?
   deltablue                                         86.0125+-2.6186     ?     86.7982+-3.6315        ?
   earley-boyer                                      41.6850+-1.2687           41.2462+-1.3340          might be 1.0106x faster
   raytrace                                          32.1025+-0.8827           31.4628+-1.4687          might be 1.0203x faster
   regexp                                            61.4545+-0.8286     ?     62.8420+-1.2534        ? might be 1.0226x slower
   richards                                          65.2050+-2.5582     ?     65.3079+-1.2463        ?
   splay                                             34.8565+-3.2470     ?     35.1087+-0.7802        ?

   <geometric>                                       50.0359+-0.8461     ?     50.1656+-0.4190        ? might be 1.0026x slower

                                                        TipOfTree            PutByIdStoreBarrier                                
Octane:
   encrypt                                           0.16769+-0.00138    ?     0.16805+-0.00252       ?
   decrypt                                           3.25353+-0.00823    ?     3.29423+-0.09176       ? might be 1.0125x slower
   deltablue                                x2       0.15574+-0.00217    ?     0.15669+-0.00252       ?
   earley                                            0.28224+-0.00274          0.28193+-0.00141       
   boyer                                             4.26934+-0.02015    ?     4.27783+-0.03102       ?
   navier-stokes                            x2       4.80415+-0.02087          4.80018+-0.01134       
   raytrace                                 x2       0.97983+-0.04563    ?     1.05137+-0.05781       ? might be 1.0730x slower
   richards                                 x2       0.10677+-0.00123    ?     0.10698+-0.00108       ?
   splay                                    x2       0.32513+-0.00366    ?     0.32691+-0.00362       ?
   regexp                                   x2      24.58980+-0.38224         24.00197+-0.24162         might be 1.0245x faster
   pdfjs                                    x2      36.47637+-0.41103    ?    36.54478+-0.27351       ?
   mandreel                                 x2      43.56859+-0.69915    ?    44.49333+-0.73722       ? might be 1.0212x slower
   gbemu                                    x2      34.59038+-2.02070    ?    34.72955+-2.73225       ?
   closure                                           0.56714+-0.00267    ?     0.57227+-0.00789       ?
   jquery                                            7.04659+-0.04530    ?     7.06664+-0.04341       ?
   box2d                                    x2       9.91311+-0.05604          9.88462+-0.08956       
   zlib                                     x2     374.80295+-9.39076    ?   385.39734+-5.54397       ? might be 1.0283x slower
   typescript                               x2     653.84953+-11.41863       639.71834+-14.27583        might be 1.0221x faster

   <geometric>                                       5.52136+-0.03816    ?     5.55872+-0.02701       ? might be 1.0068x slower

                                                        TipOfTree            PutByIdStoreBarrier                                
Kraken:
   ai-astar                                          219.512+-1.380      ?     222.315+-9.826         ? might be 1.0128x slower
   audio-beat-detection                               50.294+-0.449      ?      50.330+-0.208         ?
   audio-dft                                          95.006+-0.562      ?      97.196+-2.975         ? might be 1.0231x slower
   audio-fft                                          35.634+-1.277             35.155+-0.892           might be 1.0136x faster
   audio-oscillator                                   59.088+-0.808      ?      60.147+-1.371         ? might be 1.0179x slower
   imaging-darkroom                                   60.734+-0.304      ?      60.833+-0.254         ?
   imaging-desaturate                                 49.935+-2.070             49.288+-0.321           might be 1.0131x faster
   imaging-gaussian-blur                              86.918+-6.081      ?      87.391+-5.657         ?
   json-parse-financial                               38.438+-0.939      ?      40.361+-1.305         ? might be 1.0500x slower
   json-stringify-tinderbox                           22.727+-0.818             22.313+-1.212           might be 1.0185x faster
   stanford-crypto-aes                                40.513+-1.631      ?      41.379+-1.381         ? might be 1.0214x slower
   stanford-crypto-ccm                                35.544+-1.689      ?      35.942+-1.664         ? might be 1.0112x slower
   stanford-crypto-pbkdf2                             94.372+-1.596             93.225+-0.323           might be 1.0123x faster
   stanford-crypto-sha256-iterative                   36.367+-1.025             36.239+-0.633         

   <arithmetic>                                       66.077+-0.521      ?      66.580+-1.292         ? might be 1.0076x slower

                                                        TipOfTree            PutByIdStoreBarrier                                
JSRegress:
   abc-forward-loop-equal                            30.6716+-1.0420           30.0244+-1.0759          might be 1.0216x faster
   abc-postfix-backward-loop                         29.7332+-0.9758           29.1484+-0.3375          might be 1.0201x faster
   abc-simple-backward-loop                          29.2157+-0.5068     ?     29.7903+-0.8736        ? might be 1.0197x slower
   abc-simple-forward-loop                           29.2229+-0.6679     ?     29.3986+-0.8858        ?
   abc-skippy-loop                                   21.2741+-0.3604     ?     21.9622+-0.9012        ? might be 1.0323x slower
   abs-boolean                                        2.4521+-0.1597            2.4384+-0.0917        
   adapt-to-double-divide                            16.3015+-0.3315     ?     16.8920+-1.3691        ? might be 1.0362x slower
   aliased-arguments-getbyval                         1.1431+-0.0258            1.1269+-0.0230          might be 1.0144x faster
   allocate-big-object                                2.6208+-0.3350            2.3865+-0.1262          might be 1.0982x faster
   arguments-named-and-reflective                    11.0392+-0.7132           10.6930+-0.2379          might be 1.0324x faster
   arguments-out-of-bounds                            9.2615+-0.4666            9.2465+-0.4877        
   arguments-strict-mode                              9.1445+-0.1872     ?      9.2923+-0.2997        ? might be 1.0162x slower
   arguments                                          8.4042+-0.7198            8.1318+-0.2889          might be 1.0335x faster
   arity-mismatch-inlining                            0.9410+-0.2220            0.8351+-0.0426          might be 1.1268x faster
   array-access-polymorphic-structure                 5.7730+-0.1232     ?      6.0951+-0.8998        ? might be 1.0558x slower
   array-nonarray-polymorhpic-access                 24.8050+-0.5515           24.3481+-0.5875          might be 1.0188x faster
   array-prototype-every                             75.5295+-1.6674           75.1535+-0.6601        
   array-prototype-forEach                           73.9080+-1.2826     ?     74.2545+-1.3430        ?
   array-prototype-map                               80.8368+-1.3705     ?     80.9195+-0.9863        ?
   array-prototype-reduce                            70.9432+-1.2550           70.6597+-0.6730        
   array-prototype-reduceRight                       70.4577+-0.9129     ?     71.0966+-2.0418        ?
   array-prototype-some                              74.6948+-0.7121     ?     76.8719+-1.9483        ? might be 1.0291x slower
   array-splice-contiguous                           21.1844+-0.3373           20.3394+-0.6603          might be 1.0415x faster
   array-with-double-add                              3.4033+-0.0881     ?      3.4724+-0.1906        ? might be 1.0203x slower
   array-with-double-increment                        3.0048+-0.0370     ?      3.0323+-0.1217        ?
   array-with-double-mul-add                          4.1875+-0.1529            4.1386+-0.1348          might be 1.0118x faster
   array-with-double-sum                              3.1461+-0.0912            3.1296+-0.0543        
   array-with-int32-add-sub                           5.6676+-0.2259     ?      5.7654+-0.3818        ? might be 1.0173x slower
   array-with-int32-or-double-sum                     3.2363+-0.0436            3.2256+-0.0891        
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     27.1701+-1.9697           26.1201+-1.3419          might be 1.0402x faster
   ArrayBuffer-DataView-alloc-long-lived             11.9124+-0.3786           11.7662+-0.4071          might be 1.0124x faster
   ArrayBuffer-Int32Array-byteOffset                  3.4704+-0.0603     ?      3.5671+-0.0987        ? might be 1.0279x slower
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     31.5277+-1.5511           31.1611+-1.3758          might be 1.0118x faster
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     20.2463+-0.4129     ?     20.6500+-1.5174        ? might be 1.0199x slower
   ArrayBuffer-Int8Array-alloc-long-lived            12.1256+-0.4651           11.9690+-0.4851          might be 1.0131x faster
   ArrayBuffer-Int8Array-alloc                        9.3665+-0.3008     ?      9.7030+-0.7534        ? might be 1.0359x slower
   arrowfunction-call                                 9.8776+-0.1339     ?     10.0226+-0.1694        ? might be 1.0147x slower
   asmjs_bool_bug                                     7.7467+-0.3218            7.7004+-0.3445        
   assign-custom-setter-polymorphic                   2.3809+-0.2374            2.3617+-0.0639        
   assign-custom-setter                               3.2085+-0.1011     ?      3.2686+-0.1227        ? might be 1.0187x slower
   basic-set                                          7.3227+-0.5104     ?      7.4859+-0.5085        ? might be 1.0223x slower
   big-int-mul                                        3.4154+-0.0813            3.4018+-0.0534        
   boolean-test                                       3.0608+-0.3634            2.9041+-0.0578          might be 1.0539x faster
   branch-fold                                        3.5592+-0.0475            3.5135+-0.0395          might be 1.0130x faster
   branch-on-string-as-boolean                       17.2035+-0.6706           16.5273+-0.6369          might be 1.0409x faster
   by-val-generic                                     2.3411+-0.1158            2.2623+-0.0580          might be 1.0348x faster
   call-spread-apply                                 26.7190+-1.2770           26.2876+-0.7653          might be 1.0164x faster
   call-spread-call                                  20.9036+-0.4050     ?     21.1895+-0.6024        ? might be 1.0137x slower
   captured-assignments                               0.4178+-0.0287            0.4081+-0.0218          might be 1.0237x faster
   cast-int-to-double                                 5.0280+-0.1551     ?      5.1619+-0.2311        ? might be 1.0266x slower
   cell-argument                                      6.5245+-0.4514            6.2676+-0.2285          might be 1.0410x faster
   cfg-simplify                                       2.7643+-0.0653     ?      2.8166+-0.0573        ? might be 1.0189x slower
   chain-getter-access                                8.3531+-0.3109            8.2680+-0.3322          might be 1.0103x faster
   cmpeq-obj-to-obj-other                            12.4012+-1.8523     ?     12.9677+-0.4836        ? might be 1.0457x slower
   constant-test                                      4.8923+-0.2941            4.8202+-0.1934          might be 1.0150x faster
   create-lots-of-functions                           9.5858+-0.8539            9.4941+-0.7057        
   cse-new-array-buffer                               2.1824+-0.1157            2.1430+-0.1609          might be 1.0184x faster
   cse-new-array                                      2.2903+-0.0872     ?      2.3064+-0.0819        ?
   DataView-custom-properties                        30.5328+-1.2442     ?     31.6949+-1.3159        ? might be 1.0381x slower
   delay-tear-off-arguments-strictmode               12.1220+-0.3260           11.9240+-0.2609          might be 1.0166x faster
   deltablue-varargs                                159.2483+-3.4215     ?    162.5692+-12.3575       ? might be 1.0209x slower
   destructuring-arguments                          159.4379+-1.0914          159.2973+-1.3661        
   destructuring-parameters-overridden-by-function   
                                                      0.5795+-0.2282            0.4490+-0.0420          might be 1.2908x faster
   destructuring-swap                                 4.5699+-0.0608     ?      4.6496+-0.1109        ? might be 1.0174x slower
   direct-arguments-getbyval                          1.1808+-0.0888            1.1256+-0.0239          might be 1.0491x faster
   div-boolean-double                                 5.2468+-0.0778     ?      5.3411+-0.1480        ? might be 1.0180x slower
   div-boolean                                        8.0542+-0.0330     ?      8.1936+-0.2279        ? might be 1.0173x slower
   double-get-by-val-out-of-bounds                    4.0704+-0.1702            4.0058+-0.0747          might be 1.0161x faster
   double-pollution-getbyval                          8.7479+-0.1523            8.7115+-0.2023        
   double-pollution-putbyoffset                       3.8227+-0.2770            3.6592+-0.1867          might be 1.0447x faster
   double-real-use                                   24.2330+-0.5254           24.2002+-0.6187        
   double-to-int32-typed-array-no-inline              2.0185+-0.2233            1.9722+-0.0410          might be 1.0234x faster
   double-to-int32-typed-array                        1.7434+-0.0252     ?      1.8083+-0.1457        ? might be 1.0372x slower
   double-to-uint32-typed-array-no-inline             2.0254+-0.0200     ?      2.1605+-0.3384        ? might be 1.0667x slower
   double-to-uint32-typed-array                       1.8453+-0.0836     ?      1.9855+-0.2769        ? might be 1.0759x slower
   elidable-new-object-dag                           33.7323+-0.4129     ?     34.6260+-1.3482        ? might be 1.0265x slower
   elidable-new-object-roflcopter                    32.9954+-2.0079     ?     33.9685+-0.9342        ? might be 1.0295x slower
   elidable-new-object-then-call                     31.1446+-0.3278     ?     31.7043+-1.4765        ? might be 1.0180x slower
   elidable-new-object-tree                          37.4687+-1.1778     ?     37.9421+-1.0337        ? might be 1.0126x slower
   empty-string-plus-int                              4.5905+-0.0819     ?      4.9162+-0.4050        ? might be 1.0709x slower
   emscripten-cube2hash                              27.6095+-1.3901     ?     29.6549+-2.4117        ? might be 1.0741x slower
   exit-length-on-plain-object                       12.6001+-0.5724           12.3111+-0.6667          might be 1.0235x faster
   external-arguments-getbyval                        1.2049+-0.0534            1.1684+-0.1217          might be 1.0313x faster
   external-arguments-putbyval                        2.1475+-0.1589     ?      2.3277+-0.4352        ? might be 1.0839x slower
   fixed-typed-array-storage-var-index                1.2670+-0.2600            1.1132+-0.0417          might be 1.1382x faster
   fixed-typed-array-storage                          0.8491+-0.0447            0.8248+-0.0366          might be 1.0295x faster
   Float32Array-matrix-mult                           3.8398+-0.1147            3.8067+-0.0436        
   Float32Array-to-Float64Array-set                  47.0553+-0.9961           46.6865+-0.9425        
   Float64Array-alloc-long-lived                     68.9510+-1.7620     ?     69.6156+-2.2826        ?
   Float64Array-to-Int16Array-set                    58.0717+-1.4520           56.3794+-1.2119          might be 1.0300x faster
   fold-double-to-int                                12.1211+-0.4917           11.8984+-0.2686          might be 1.0187x faster
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     12.2603+-1.2520           11.2328+-1.4199          might be 1.0915x faster
   fold-get-by-id-to-multi-get-by-offset              9.9454+-0.7498     ?     10.2338+-1.2031        ? might be 1.0290x slower
   fold-multi-get-by-offset-to-get-by-offset   
                                                      8.8018+-0.5814            7.9441+-1.7532          might be 1.1080x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      8.9829+-1.0898            7.3075+-1.5765          might be 1.2293x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      7.5798+-2.2399     ?      8.8006+-0.8412        ? might be 1.1611x slower
   fold-multi-put-by-offset-to-put-by-offset   
                                                      3.6350+-0.2183     ?      4.7167+-1.2161        ? might be 1.2976x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                      7.8263+-0.2633     ?      7.8510+-0.1946        ?
   fold-put-by-id-to-multi-put-by-offset              9.7490+-2.2345     ?     11.3090+-2.5475        ? might be 1.1600x slower
   fold-put-by-val-with-string-to-multi-put-by-offset   
                                                     11.0558+-0.9466            9.9220+-0.8267          might be 1.1143x faster
   fold-put-by-val-with-symbol-to-multi-put-by-offset   
                                                     10.0721+-1.6838     ?     10.7543+-0.3679        ? might be 1.0677x slower
   fold-put-structure                                 4.4218+-0.7923     ?      4.5352+-0.4964        ? might be 1.0256x slower
   for-of-iterate-array-entries                      11.1519+-0.5485           10.7069+-0.2199          might be 1.0416x faster
   for-of-iterate-array-keys                          3.7694+-0.3663     ?      3.9113+-0.5955        ? might be 1.0377x slower
   for-of-iterate-array-values                        3.5236+-0.3924            3.4985+-0.0932        
   fround                                            17.9457+-0.8511           17.8829+-0.9381        
   ftl-library-inlining-dataview                     56.0087+-0.9768           55.8658+-0.8083        
   ftl-library-inlining                              95.0548+-1.4746           94.0549+-1.5657          might be 1.0106x faster
   function-call                                      9.7705+-0.1006     ?     10.0697+-0.3592        ? might be 1.0306x slower
   function-dot-apply                                 1.9425+-0.0986     ?      2.2310+-0.4467        ? might be 1.1485x slower
   function-test                                      2.6726+-0.0594     ?      2.6908+-0.0560        ?
   function-with-eval                               100.5482+-2.9231           99.5798+-2.5784        
   gcse-poly-get-less-obvious                        14.1908+-0.2506     ?     14.3886+-0.9319        ? might be 1.0139x slower
   gcse-poly-get                                     16.1764+-0.7066           15.8516+-0.3565          might be 1.0205x faster
   gcse                                               3.9089+-0.1803     ?      3.9460+-0.2670        ?
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.6538+-0.1428            2.6115+-0.1122          might be 1.0162x faster
   get-by-id-bimorphic-check-structure-elimination   
                                                      5.6303+-0.0558     ?      5.7401+-0.2641        ? might be 1.0195x slower
   get-by-id-chain-from-try-block                     5.3935+-0.0193     ?      5.5004+-0.2556        ? might be 1.0198x slower
   get-by-id-check-structure-elimination              4.4228+-0.0941     ?      4.4333+-0.0615        ?
   get-by-id-proto-or-self                           15.3825+-0.3406           15.1423+-0.8179          might be 1.0159x faster
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      2.8446+-0.0472     ?      2.9195+-0.1580        ? might be 1.0263x slower
   get-by-id-self-or-proto                           15.1005+-0.4566     ?     15.8159+-1.1577        ? might be 1.0474x slower
   get-by-val-out-of-bounds                           3.7865+-0.1304            3.7317+-0.0662          might be 1.0147x faster
   get-by-val-with-string-bimorphic-check-structure-elimination-simple   
                                                      2.7581+-0.0428     ?      2.7735+-0.0122        ?
   get-by-val-with-string-bimorphic-check-structure-elimination   
                                                      6.0125+-0.1633            5.9598+-0.0733        
   get-by-val-with-string-chain-from-try-block   
                                                      5.6658+-0.1794     ?      5.8369+-0.6937        ? might be 1.0302x slower
   get-by-val-with-string-check-structure-elimination   
                                                      5.1777+-0.1497            5.1462+-0.2906        
   get-by-val-with-string-proto-or-self              15.0388+-0.8538           14.9299+-0.3539        
   get-by-val-with-string-quadmorphic-check-structure-elimination-simple   
                                                      3.3401+-0.1177            3.2988+-0.0714          might be 1.0125x faster
   get-by-val-with-string-self-or-proto              14.9555+-0.7823     ?     15.4024+-0.7689        ? might be 1.0299x slower
   get-by-val-with-symbol-bimorphic-check-structure-elimination-simple   
                                                      3.0681+-0.0195     ?      3.0687+-0.0241        ?
   get-by-val-with-symbol-bimorphic-check-structure-elimination   
                                                     12.2242+-0.0601     ?     12.4027+-0.2864        ? might be 1.0146x slower
   get-by-val-with-symbol-chain-from-try-block   
                                                      5.6116+-0.1665            5.4283+-0.0887          might be 1.0338x faster
   get-by-val-with-symbol-check-structure-elimination   
                                                     10.8974+-0.0277     ?     11.0434+-0.2422        ? might be 1.0134x slower
   get-by-val-with-symbol-proto-or-self              15.2691+-0.4995     ?     15.6677+-0.9328        ? might be 1.0261x slower
   get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple   
                                                      3.8200+-0.3552            3.6213+-0.0682          might be 1.0549x faster
   get-by-val-with-symbol-self-or-proto              14.9799+-0.5222     ?     15.1685+-0.7022        ? might be 1.0126x slower
   get_callee_monomorphic                             2.3281+-0.0699     ?      2.6810+-0.5097        ? might be 1.1516x slower
   get_callee_polymorphic                             3.1944+-0.1040     ?      3.1965+-0.0836        ?
   getter-no-activation                               4.8034+-0.2505            4.7118+-0.1828          might be 1.0194x faster
   getter-prototype                                   8.9182+-0.1671            8.8294+-0.1755          might be 1.0101x faster
   getter-richards                                  121.0393+-7.2718          118.1642+-1.9962          might be 1.0243x faster
   getter                                             5.5558+-0.7343            5.4097+-0.5772          might be 1.0270x faster
   global-object-access-with-mutating-structure   
                                                      5.7707+-0.5293            5.5756+-0.0824          might be 1.0350x faster
   global-var-const-infer-fire-from-opt               0.8579+-0.0972            0.7949+-0.0751          might be 1.0792x faster
   global-var-const-infer                             0.6233+-0.0567     ?      0.6395+-0.1029        ? might be 1.0260x slower
   hard-overflow-check-equal                         33.9080+-1.3830           32.9800+-1.0504          might be 1.0281x faster
   hard-overflow-check                               33.1561+-1.2879           32.7723+-0.9170          might be 1.0117x faster
   HashMap-put-get-iterate-keys                      27.1592+-1.7125           25.7343+-2.0234          might be 1.0554x faster
   HashMap-put-get-iterate                           28.1949+-1.7967     ?     28.5048+-2.7539        ? might be 1.0110x slower
   HashMap-string-put-get-iterate                    24.6145+-1.7279     ?     24.9476+-2.1609        ? might be 1.0135x slower
   hoist-make-rope                                    9.2733+-1.1397            9.0087+-1.0973          might be 1.0294x faster
   hoist-poly-check-structure-effectful-loop   
                                                      4.1795+-0.2280     ?      4.1870+-0.3712        ?
   hoist-poly-check-structure                         3.2741+-0.2177            3.2489+-0.0689        
   imul-double-only                                   7.4156+-0.5566     ?      7.9171+-0.9285        ? might be 1.0676x slower
   imul-int-only                                      8.5839+-0.8806     ?      8.6989+-1.6597        ? might be 1.0134x slower
   imul-mixed                                         7.2759+-0.7455            7.1208+-0.5896          might be 1.0218x faster
   in-four-cases                                     16.6899+-0.5348     ?     16.7566+-0.5395        ?
   in-one-case-false                                 10.0785+-0.4433            9.6799+-0.4643          might be 1.0412x faster
   in-one-case-true                                  10.1156+-0.6700            9.6798+-0.3432          might be 1.0450x faster
   in-two-cases                                      10.0907+-0.4271           10.0107+-0.6323        
   indexed-properties-in-objects                      2.7148+-0.0593     ?      2.7259+-0.0820        ?
   infer-closure-const-then-mov-no-inline             3.0488+-0.1450     ?      3.0684+-0.2094        ?
   infer-closure-const-then-mov                      18.2481+-0.7041     ?     18.3477+-0.8430        ?
   infer-closure-const-then-put-to-scope-no-inline   
                                                     10.2025+-0.5759     ?     10.2535+-0.8819        ?
   infer-closure-const-then-put-to-scope             22.4618+-0.7479     ?     22.9252+-0.3909        ? might be 1.0206x slower
   infer-closure-const-then-reenter-no-inline   
                                                     44.9107+-1.3162           44.4138+-0.5993          might be 1.0112x faster
   infer-closure-const-then-reenter                  22.5591+-0.8636           21.9935+-1.0283          might be 1.0257x faster
   infer-constant-global-property                     3.3960+-0.0774     ?      3.4127+-0.0499        ?
   infer-constant-property                            2.5763+-0.0436     ?      2.5788+-0.0350        ?
   infer-one-time-closure-ten-vars                    7.6834+-0.4373            7.6501+-0.1422        
   infer-one-time-closure-two-vars                    7.5114+-0.6290            7.3100+-0.3358          might be 1.0276x faster
   infer-one-time-closure                             7.3893+-0.2491            7.3053+-0.4556          might be 1.0115x faster
   infer-one-time-deep-closure                       10.7733+-0.5007           10.5885+-0.3378          might be 1.0175x faster
   inline-arguments-access                            3.6153+-0.0409     ?      3.7330+-0.3231        ? might be 1.0325x slower
   inline-arguments-aliased-access                    3.6580+-0.0985     ?      3.7027+-0.1230        ? might be 1.0122x slower
   inline-arguments-local-escape                      3.5222+-0.0886     ?      3.6746+-0.3551        ? might be 1.0433x slower
   inline-get-scoped-var                              4.7191+-0.4089            4.6431+-0.2070          might be 1.0164x faster
   inlined-put-by-id-transition                      10.1283+-0.8848           10.0675+-0.4699        
   inlined-put-by-val-with-string-transition   
                                                     71.0215+-1.3527           69.9360+-0.5053          might be 1.0155x faster
   inlined-put-by-val-with-symbol-transition   
                                                     69.9036+-2.2749           69.7537+-2.3170        
   int-or-other-abs-then-get-by-val                   4.2470+-0.2581            4.1025+-0.0472          might be 1.0352x faster
   int-or-other-abs-zero-then-get-by-val             15.1613+-0.2393           15.0789+-0.1954        
   int-or-other-add-then-get-by-val                   4.0020+-0.0552     ?      4.2454+-0.6894        ? might be 1.0608x slower
   int-or-other-add                                   4.8149+-0.0599            4.8120+-0.0701        
   int-or-other-div-then-get-by-val                   3.7684+-0.0743            3.7232+-0.0678          might be 1.0121x faster
   int-or-other-max-then-get-by-val                   3.7087+-0.1212            3.6792+-0.0851        
   int-or-other-min-then-get-by-val                   3.7863+-0.0993            3.7552+-0.0560        
   int-or-other-mod-then-get-by-val                   3.4386+-0.0873            3.4196+-0.0556        
   int-or-other-mul-then-get-by-val                   3.5343+-0.0727     ?      3.5426+-0.0687        ?
   int-or-other-neg-then-get-by-val                   3.9045+-0.1941            3.8112+-0.0668          might be 1.0245x faster
   int-or-other-neg-zero-then-get-by-val             15.5847+-0.7183           15.4306+-0.4234        
   int-or-other-sub-then-get-by-val                   4.2300+-0.4309            4.1494+-0.5262          might be 1.0194x faster
   int-or-other-sub                                   3.3558+-0.0585     ?      3.3940+-0.0531        ? might be 1.0114x slower
   int-overflow-local                                 3.9493+-0.0406     ?      4.0118+-0.0873        ? might be 1.0158x slower
   Int16Array-alloc-long-lived                       46.9739+-2.1115           46.7673+-1.0235        
   Int16Array-bubble-sort-with-byteLength            18.7115+-1.2184           17.5956+-0.4597          might be 1.0634x faster
   Int16Array-bubble-sort                            17.7745+-0.6778           17.3437+-0.7691          might be 1.0248x faster
   Int16Array-load-int-mul                            1.3993+-0.0373     ?      1.4532+-0.0898        ? might be 1.0385x slower
   Int16Array-to-Int32Array-set                      44.9549+-0.3458     ^     42.9620+-0.5349        ^ definitely 1.0464x faster
   Int32Array-alloc-large                            12.2570+-0.3123     ?     12.3785+-0.4748        ?
   Int32Array-alloc-long-lived                       53.8957+-1.7011     ?     54.3021+-1.3777        ?
   Int32Array-alloc                                   2.9254+-0.5114            2.8097+-0.1227          might be 1.0412x faster
   Int32Array-Int8Array-view-alloc                    5.9706+-0.2139            5.7622+-0.0547          might be 1.0362x faster
   int52-spill                                        4.5653+-0.2337     ?      4.5752+-0.1046        ?
   Int8Array-alloc-long-lived                        41.2211+-0.7988           40.3333+-0.6285          might be 1.0220x faster
   Int8Array-load-with-byteLength                     3.3669+-0.0355     ?      3.4384+-0.1227        ? might be 1.0212x slower
   Int8Array-load                                     3.3957+-0.0808     ?      3.4265+-0.3028        ?
   integer-divide                                    10.3143+-0.2067           10.2791+-0.1528        
   integer-modulo                                     1.5506+-0.0880            1.5152+-0.0385          might be 1.0234x faster
   is-boolean-fold-tricky                             3.7087+-0.1343            3.6577+-0.0788          might be 1.0139x faster
   is-boolean-fold                                    2.6739+-0.1527            2.6069+-0.0479          might be 1.0257x faster
   is-function-fold-tricky-internal-function   
                                                      9.8188+-0.2880            9.6345+-0.2513          might be 1.0191x faster
   is-function-fold-tricky                            3.6887+-0.0292     ?      3.9081+-0.5791        ? might be 1.0595x slower
   is-function-fold                                   2.6244+-0.0504     ?      2.6655+-0.1148        ? might be 1.0157x slower
   is-number-fold-tricky                              3.6270+-0.0966     ?      3.7378+-0.1632        ? might be 1.0305x slower
   is-number-fold                                     2.6676+-0.1094            2.5811+-0.0279          might be 1.0335x faster
   is-object-or-null-fold-functions                   2.6347+-0.0251     ?      2.6938+-0.2062        ? might be 1.0225x slower
   is-object-or-null-fold-less-tricky                 3.6921+-0.0764     ?      3.8632+-0.2490        ? might be 1.0463x slower
   is-object-or-null-fold-tricky                      4.5001+-0.1331     ?      4.5883+-0.2319        ? might be 1.0196x slower
   is-object-or-null-fold                             2.6692+-0.0799            2.6214+-0.0609          might be 1.0182x faster
   is-object-or-null-trickier-function                3.7447+-0.1236     ?      3.8050+-0.1456        ? might be 1.0161x slower
   is-object-or-null-trickier-internal-function   
                                                      9.5813+-0.1710     ?      9.9423+-0.4498        ? might be 1.0377x slower
   is-object-or-null-tricky-function                  3.7231+-0.0757     ?      3.8290+-0.1520        ? might be 1.0284x slower
   is-object-or-null-tricky-internal-function   
                                                      7.2456+-0.1253     ?      7.3461+-0.2592        ? might be 1.0139x slower
   is-string-fold-tricky                              3.6202+-0.0396     ?      3.7263+-0.2604        ? might be 1.0293x slower
   is-string-fold                                     2.6440+-0.0539            2.6385+-0.0983        
   is-undefined-fold-tricky                           2.7900+-0.0411     ?      2.9008+-0.1650        ? might be 1.0397x slower
   is-undefined-fold                                  2.6091+-0.0486            2.6085+-0.0339        
   JSONP-negative-0                                   0.2362+-0.0043     ?      0.2391+-0.0098        ? might be 1.0124x slower
   large-int-captured                                 3.7781+-0.0793     ?      3.8368+-0.2088        ? might be 1.0156x slower
   large-int-neg                                     13.6908+-0.2437     ?     13.9954+-0.2249        ? might be 1.0222x slower
   large-int                                         12.7660+-0.3736     ?     12.8860+-0.3616        ?
   load-varargs-elimination                          21.1295+-0.9873           20.7059+-0.7756          might be 1.0205x faster
   logical-not-weird-types                            2.9460+-0.2092            2.7332+-0.0394          might be 1.0779x faster
   logical-not                                        3.9770+-0.3702     ?      4.1495+-0.3336        ? might be 1.0434x slower
   lots-of-fields                                     9.8760+-1.0576            9.1335+-1.1501          might be 1.0813x faster
   make-indexed-storage                               2.8846+-0.1986     ?      2.9046+-0.1790        ?
   make-rope-cse                                      3.6215+-0.2312            3.6154+-0.2481        
   marsaglia-larger-ints                             31.4187+-0.9201     ?     32.0338+-1.8414        ? might be 1.0196x slower
   marsaglia-osr-entry                               21.1569+-0.6861           21.1493+-0.8667        
   math-with-out-of-bounds-array-values              21.6841+-0.3563     ?     21.9156+-1.0131        ? might be 1.0107x slower
   max-boolean                                        2.6684+-0.1150            2.6007+-0.0634          might be 1.0261x faster
   method-on-number                                  16.4914+-1.3070           16.2004+-1.2141          might be 1.0180x faster
   min-boolean                                        2.6824+-0.2240            2.5579+-0.0722          might be 1.0487x faster
   minus-boolean-double                               3.0977+-0.0760            3.0865+-0.1038        
   minus-boolean                                      2.2815+-0.0444            2.2639+-0.0230        
   misc-strict-eq                                    28.9098+-1.8273     ?     29.2534+-1.3149        ? might be 1.0119x slower
   mod-boolean-double                                11.0623+-0.1595     ?     11.5962+-1.0800        ? might be 1.0483x slower
   mod-boolean                                        8.2292+-0.0250     ?      8.2513+-0.1408        ?
   mul-boolean-double                                 3.5861+-0.0766     ?      3.6658+-0.1113        ? might be 1.0222x slower
   mul-boolean                                        2.7984+-0.1242     ?      2.9080+-0.3229        ? might be 1.0392x slower
   neg-boolean                                        3.1434+-0.1076            3.0542+-0.0366          might be 1.0292x faster
   negative-zero-divide                               0.3448+-0.0173     ?      0.3640+-0.0317        ? might be 1.0556x slower
   negative-zero-modulo                               0.3324+-0.0094     ?      0.3568+-0.0381        ? might be 1.0732x slower
   negative-zero-negate                               0.3469+-0.0407     ?      0.3629+-0.0420        ? might be 1.0460x slower
   nested-function-parsing                           44.9926+-1.0491     ?     45.0933+-0.6396        ?
   new-array-buffer-dead                             87.6685+-1.3210     ?     87.6948+-1.5873        ?
   new-array-buffer-push                              6.1867+-0.4552            5.9194+-0.3135          might be 1.0451x faster
   new-array-dead                                    14.9611+-0.9640     ?     15.0120+-0.5035        ?
   new-array-push                                     3.4495+-0.2202     ?      3.7495+-0.5190        ? might be 1.0870x slower
   no-inline-constructor                             31.9483+-1.0460           31.8905+-1.1136        
   number-test                                        2.8877+-0.0805            2.8768+-0.1144        
   object-closure-call                                5.1980+-0.2103            5.1448+-0.1034          might be 1.0103x faster
   object-get-own-property-symbols-on-large-array   
                                                      4.3658+-0.5374            4.0872+-0.2663          might be 1.0682x faster
   object-test                                        2.6408+-0.0914     ?      2.6876+-0.0597        ? might be 1.0177x slower
   obvious-sink-pathology-taken                      98.8625+-1.4345     ?     99.3583+-2.9339        ?
   obvious-sink-pathology                            92.9952+-1.0214     ?     94.9648+-3.2730        ? might be 1.0212x slower
   obviously-elidable-new-object                     28.8544+-0.8354           28.6289+-0.5902        
   plus-boolean-arith                                 2.3553+-0.0659            2.3201+-0.0439          might be 1.0152x faster
   plus-boolean-double                                3.0600+-0.0682     ?      3.0723+-0.0516        ?
   plus-boolean                                       2.8800+-0.8208            2.4651+-0.0768          might be 1.1683x faster
   poly-chain-access-different-prototypes-simple   
                                                      3.2144+-0.0548     ?      3.2177+-0.0598        ?
   poly-chain-access-different-prototypes             3.2054+-0.0180     ?      3.2955+-0.2225        ? might be 1.0281x slower
   poly-chain-access-simpler                          3.2580+-0.1629     ?      3.3157+-0.1601        ? might be 1.0177x slower
   poly-chain-access                                  3.2402+-0.0841            3.1717+-0.0346          might be 1.0216x faster
   poly-stricteq                                     50.8937+-0.8563           50.6244+-1.2908        
   polymorphic-array-call                             1.1946+-0.0641     ?      1.2930+-0.1829        ? might be 1.0823x slower
   polymorphic-get-by-id                              2.7512+-0.0291     ?      2.7814+-0.1078        ? might be 1.0110x slower
   polymorphic-put-by-id                             24.2752+-0.4959           24.2447+-0.6375        
   polymorphic-put-by-val-with-string                26.1414+-1.0894     ?     26.3088+-1.5369        ?
   polymorphic-put-by-val-with-symbol                25.3302+-0.9638           24.8885+-0.6425          might be 1.0177x faster
   polymorphic-structure                             13.1867+-0.7229           13.0627+-0.2102        
   polyvariant-monomorphic-get-by-id                  7.5327+-1.3053            6.9163+-1.3788          might be 1.0891x faster
   proto-getter-access                                8.3775+-0.2694            8.2059+-0.1448          might be 1.0209x faster
   prototype-access-with-mutating-prototype           5.7245+-0.6631            5.6277+-0.5620          might be 1.0172x faster
   put-by-id-replace-and-transition                   8.0684+-0.5842     ?      8.2038+-1.0566        ? might be 1.0168x slower
   put-by-id-slightly-polymorphic                     2.7236+-0.1857            2.6524+-0.1323          might be 1.0268x faster
   put-by-id                                          9.6330+-0.3686     ?      9.6657+-0.3566        ?
   put-by-val-direct                                  0.3295+-0.0086     ?      0.3643+-0.1157        ? might be 1.1057x slower
   put-by-val-large-index-blank-indexing-type   
                                                      5.2282+-0.1832     ?      5.4023+-0.4635        ? might be 1.0333x slower
   put-by-val-machine-int                             2.3688+-0.2002     ?      2.5081+-0.3054        ? might be 1.0588x slower
   put-by-val-with-string-replace-and-transition   
                                                     10.1513+-0.4150     ?     10.6024+-0.8651        ? might be 1.0444x slower
   put-by-val-with-string-slightly-polymorphic   
                                                      2.8645+-0.1409     ?      2.9473+-0.1800        ? might be 1.0289x slower
   put-by-val-with-string                            10.4363+-0.8616           10.3316+-0.6204          might be 1.0101x faster
   put-by-val-with-symbol-replace-and-transition   
                                                     12.2537+-0.4275           11.8601+-0.6348          might be 1.0332x faster
   put-by-val-with-symbol-slightly-polymorphic   
                                                      3.1289+-0.0919            3.0791+-0.0588          might be 1.0161x faster
   put-by-val-with-symbol                            10.7435+-0.2760           10.5838+-0.7414          might be 1.0151x faster
   rare-osr-exit-on-local                            14.3977+-1.6465           13.6914+-0.4222          might be 1.0516x faster
   register-pressure-from-osr                        16.5409+-1.2085     ?     16.8109+-1.1890        ? might be 1.0163x slower
   repeat-multi-get-by-offset                        21.5756+-0.8547           21.2437+-0.3270          might be 1.0156x faster
   setter-prototype                                   7.5858+-0.3067     ?      7.6340+-0.1062        ?
   setter                                             5.6136+-0.5991     ?      5.7214+-0.7179        ? might be 1.0192x slower
   simple-activation-demo                            24.4250+-0.8768           24.3874+-0.6825        
   simple-getter-access                              10.6471+-0.4669           10.6084+-0.2359        
   simple-poly-call-nested                            8.6609+-0.9070     ?      8.9349+-0.9250        ? might be 1.0316x slower
   simple-poly-call                                   1.1323+-0.0258     ?      1.2280+-0.2956        ? might be 1.0845x slower
   sin-boolean                                       20.1206+-2.5404           19.8953+-2.4963          might be 1.0113x faster
   singleton-scope                                   55.7279+-0.5647           54.8424+-0.9172          might be 1.0161x faster
   sink-function                                     10.8064+-1.1502           10.4907+-0.7537          might be 1.0301x faster
   sink-huge-activation                              16.4819+-0.5647           16.1673+-1.0047          might be 1.0195x faster
   sinkable-new-object-dag                           55.4661+-2.5256           54.4034+-0.8833          might be 1.0195x faster
   sinkable-new-object-taken                         43.5351+-0.7790           43.1528+-0.7909        
   sinkable-new-object                               30.7168+-1.0266           29.8632+-0.7928          might be 1.0286x faster
   slow-array-profile-convergence                     2.4460+-0.1873     ?      2.6835+-0.5408        ? might be 1.0971x slower
   slow-convergence                                   2.2928+-0.1074     ?      2.3431+-0.1714        ? might be 1.0220x slower
   slow-ternaries                                    17.7675+-1.2761     ?     18.4453+-1.7328        ? might be 1.0381x slower
   sorting-benchmark                                 16.4582+-0.3814     ?     16.5653+-0.6557        ?
   sparse-conditional                                 1.1566+-0.0642            1.1338+-0.0437          might be 1.0201x faster
   splice-to-remove                                  12.2554+-0.5916     ?     12.3818+-0.6159        ? might be 1.0103x slower
   string-char-code-at                               12.8519+-0.2841     ?     13.0855+-0.4839        ? might be 1.0182x slower
   string-concat-object                               2.0904+-0.1000     ?      2.1760+-0.2288        ? might be 1.0410x slower
   string-concat-pair-object                          2.0535+-0.1148     ?      2.1127+-0.1803        ? might be 1.0288x slower
   string-concat-pair-simple                          9.5682+-0.6390            9.2844+-0.6067          might be 1.0306x faster
   string-concat-simple                               9.6270+-0.5694            9.3173+-0.5302          might be 1.0332x faster
   string-cons-repeat                                 6.6521+-0.6318            6.6085+-0.5545        
   string-cons-tower                                  6.6996+-0.3577            6.6177+-0.4547          might be 1.0124x faster
   string-equality                                   16.0086+-0.2219     ?     16.1148+-0.3597        ?
   string-get-by-val-big-char                         6.6268+-0.6712            6.4869+-0.1155          might be 1.0216x faster
   string-get-by-val-out-of-bounds-insane             3.0547+-0.0779     ?      3.1391+-0.1037        ? might be 1.0276x slower
   string-get-by-val-out-of-bounds                    3.9979+-0.2338            3.9006+-0.0352          might be 1.0249x faster
   string-get-by-val                                  2.8003+-0.0595     ?      2.8094+-0.0349        ?
   string-hash                                        1.8023+-0.0489     ?      1.8745+-0.2467        ? might be 1.0401x slower
   string-long-ident-equality                        13.4843+-0.3617     ?     13.5830+-0.4857        ?
   string-out-of-bounds                              10.2790+-0.4376           10.1876+-0.1833        
   string-repeat-arith                               26.5408+-0.4528           26.1739+-0.6550          might be 1.0140x faster
   string-sub                                        51.5286+-1.0123     ?     52.3738+-1.2531        ? might be 1.0164x slower
   string-test                                        2.7747+-0.0696            2.7661+-0.1147        
   string-var-equality                               25.9031+-0.7487           25.2646+-0.5937          might be 1.0253x faster
   structure-hoist-over-transitions                   2.3291+-0.0646     ?      2.3355+-0.1940        ?
   substring-concat-weird                            36.7516+-1.7582           35.7534+-0.6108          might be 1.0279x faster
   substring-concat                                  39.6751+-1.3520           39.2270+-0.8758          might be 1.0114x faster
   substring                                         45.3443+-3.2326           44.4585+-0.7007          might be 1.0199x faster
   switch-char-constant                               2.6171+-0.0424     ?      2.6903+-0.0827        ? might be 1.0280x slower
   switch-char                                        6.0413+-1.3139            5.6741+-0.8585          might be 1.0647x faster
   switch-constant                                    7.9991+-0.7084     ?      8.4102+-0.7021        ? might be 1.0514x slower
   switch-string-basic-big-var                       13.4947+-0.4144     ?     13.5722+-0.3479        ?
   switch-string-basic-big                           13.6734+-0.3968           13.4147+-0.2303          might be 1.0193x faster
   switch-string-basic-var                           12.6429+-0.2348     ?     13.0856+-0.8436        ? might be 1.0350x slower
   switch-string-basic                               12.5280+-0.4309           12.4780+-0.4505        
   switch-string-big-length-tower-var                17.7282+-0.7170     ?     18.0709+-0.9450        ? might be 1.0193x slower
   switch-string-length-tower-var                    13.1156+-0.4060           13.0381+-0.3034        
   switch-string-length-tower                        11.8302+-0.4166           11.7398+-0.2795        
   switch-string-short                               11.8117+-0.2697     ?     11.9108+-0.5969        ?
   switch                                            11.3878+-0.4042           11.0621+-0.7969          might be 1.0294x faster
   tear-off-arguments-simple                          3.1315+-0.2828            2.9814+-0.0807          might be 1.0503x faster
   tear-off-arguments                                 4.4192+-1.2565            4.0379+-0.3920          might be 1.0944x faster
   temporal-structure                                11.7065+-0.2673     ?     11.8497+-0.3495        ? might be 1.0122x slower
   to-int32-boolean                                  12.7025+-0.5110           12.4993+-0.3625          might be 1.0163x faster
   try-catch-get-by-val-cloned-arguments             13.6805+-0.3327     ?     14.1167+-0.7081        ? might be 1.0319x slower
   try-catch-get-by-val-direct-arguments              6.2188+-0.1013     ?      6.3262+-0.2313        ? might be 1.0173x slower
   try-catch-get-by-val-scoped-arguments              8.0114+-0.8201            7.5072+-0.1735          might be 1.0672x faster
   typed-array-get-set-by-val-profiling              27.1529+-1.3602           26.8843+-1.4151        
   undefined-property-access                        224.6456+-1.2530     ?    225.3051+-0.6129        ?
   undefined-test                                     2.8957+-0.0768            2.8830+-0.0884        
   unprofiled-licm                                   13.7661+-0.4159     ?     13.9130+-0.9577        ? might be 1.0107x slower
   varargs-call                                      12.7628+-0.7266           12.6008+-0.2954          might be 1.0129x faster
   varargs-construct-inline                          21.6807+-0.6564     ?     22.1389+-1.2076        ? might be 1.0211x slower
   varargs-construct                                 19.5114+-0.6853           19.5026+-0.5638        
   varargs-inline                                     8.2212+-0.5038            7.8134+-0.1330          might be 1.0522x faster
   varargs-strict-mode                                8.8729+-0.4360            8.7598+-0.3932          might be 1.0129x faster
   varargs                                            8.7142+-0.3069            8.6048+-0.0459          might be 1.0127x faster
   weird-inlining-const-prop                          2.0158+-0.2525            2.0115+-0.1820        

   <geometric>                                        7.7623+-0.0227            7.7580+-0.0173          might be 1.0006x faster

                                                        TipOfTree            PutByIdStoreBarrier                                
AsmBench:
   bigfib.cpp                                       459.4797+-9.6979          455.6215+-8.6539        
   cray.c                                           400.0902+-3.3705     ?    400.4123+-5.1647        ?
   dry.c                                            417.3533+-10.0715    ?    419.0076+-8.7100        ?
   FloatMM.c                                        680.3883+-1.6794     ?    683.9124+-10.6101       ?
   gcc-loops.cpp                                   3403.0178+-8.7563     ?   3430.4378+-41.8467       ?
   n-body.c                                         820.8087+-3.4927          820.0885+-3.1539        
   Quicksort.c                                      404.6746+-4.5188          403.0627+-3.9263        
   stepanov_container.cpp                          3555.0559+-27.1624        3544.4705+-26.5141       
   Towers.c                                         237.5326+-4.0157     ?    237.6719+-2.2605        ?

   <geometric>                                      716.5608+-5.0451     ?    716.7352+-4.0046        ? might be 1.0002x slower

                                                        TipOfTree            PutByIdStoreBarrier                                
CompressionBench:
   huffman                                           59.6794+-1.4573           59.2519+-0.6456        
   arithmetic-simple                                273.1248+-1.3125          271.8300+-1.8807        
   arithmetic-precise                               243.2015+-1.2649          242.1473+-1.5078        
   arithmetic-complex-precise                       240.1620+-3.9433     ?    242.2836+-1.8686        ?
   arithmetic-precise-order-0                       281.2991+-2.6651          279.7106+-1.8947        
   arithmetic-precise-order-1                       303.1898+-1.4186          302.7640+-0.5800        
   arithmetic-precise-order-2                       354.4633+-7.6449          349.6923+-2.3391          might be 1.0136x faster
   arithmetic-simple-order-1                        326.2825+-1.0935     ?    326.9353+-2.5837        ?
   arithmetic-simple-order-2                        377.5732+-5.1836          372.7420+-0.4190          might be 1.0130x faster
   lz-string                                        313.5054+-5.6922          310.3522+-2.8509          might be 1.0102x faster

   <geometric>                                      253.8438+-1.3528          252.6128+-0.6024          might be 1.0049x faster

                                                        TipOfTree            PutByIdStoreBarrier                                
Geomean of preferred means:
   <scaled-result>                                   50.8779+-0.1489     ?     50.9841+-0.1681        ? might be 1.0021x slower
Comment 3 Mark Lam 2015-09-08 09:48:23 PDT
Comment on attachment 260748 [details]
the patch

r=me
Comment 4 Filip Pizlo 2015-09-08 10:00:33 PDT
Landed in http://trac.webkit.org/changeset/189492