Bug 144617

Summary: Large array shouldn't be slow
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, commit-queue, mark.lam, msaboff, rniwa, simon.fraser
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
the patch ggaren: review+

Description Filip Pizlo 2015-05-04 18:44:08 PDT
Currently if you allocate a large array with new Array(large number), you'll get an ArrayStorage array, which is slower than a Contiguous array.  That threshold is very low - around 10000. We should dramatically lift the threshold.
Comment 1 Filip Pizlo 2015-05-04 18:44:50 PDT
Performance results:

Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on dethklok (MacBookPro9,1).

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r183718)
"MoreContiguous" at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc (r183721)

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               MoreContiguous                                  
SunSpider:
   3d-cube                                            5.3164+-0.1794     ?      5.3700+-0.2710        ? might be 1.0101x slower
   3d-morph                                           5.8342+-0.2059     ?      6.0343+-0.7094        ? might be 1.0343x slower
   3d-raytrace                                        6.6427+-0.0832            6.5142+-0.0662          might be 1.0197x faster
   access-binary-trees                                2.5284+-0.2961     ?      2.5603+-0.2220        ? might be 1.0126x slower
   access-fannkuch                                    6.3661+-0.5139     ?      6.3776+-0.2798        ?
   access-nbody                                       3.0776+-0.2971     ?      3.0959+-0.4850        ?
   access-nsieve                                      3.5214+-0.3341     ?      3.6012+-0.2273        ? might be 1.0227x slower
   bitops-3bit-bits-in-byte                           1.6121+-0.0729            1.6005+-0.0373        
   bitops-bits-in-byte                                3.3408+-0.0457     ?      3.3524+-0.0402        ?
   bitops-bitwise-and                                 2.4364+-0.5014            2.3881+-0.4158          might be 1.0203x faster
   bitops-nsieve-bits                                 3.2037+-0.1535     ?      3.3072+-0.1069        ? might be 1.0323x slower
   controlflow-recursive                              2.3737+-0.1355            2.3385+-0.1349          might be 1.0151x faster
   crypto-aes                                         4.5207+-0.1367            4.4455+-0.1200          might be 1.0169x faster
   crypto-md5                                         3.0997+-0.1633     ^      2.7984+-0.0843        ^ definitely 1.1077x faster
   crypto-sha1                                        2.7003+-0.1021     ?      2.7303+-0.1718        ? might be 1.0111x slower
   date-format-tofte                                  9.4748+-0.2368     ?      9.5740+-0.3156        ? might be 1.0105x slower
   date-format-xparb                                  5.8776+-0.3071     ?      5.9547+-0.2473        ? might be 1.0131x slower
   math-cordic                                        3.1801+-0.0388     ?      3.3481+-0.4625        ? might be 1.0528x slower
   math-partial-sums                                  5.1960+-0.1610     ?      5.3765+-0.2830        ? might be 1.0347x slower
   math-spectral-norm                                 1.9782+-0.0855     ?      2.0730+-0.2083        ? might be 1.0479x slower
   regexp-dna                                         7.6557+-1.3177     ?      8.0805+-1.7195        ? might be 1.0555x slower
   string-base64                                      5.1188+-0.8990            4.8168+-0.1505          might be 1.0627x faster
   string-fasta                                       7.0008+-0.6974     ?      7.2632+-0.8398        ? might be 1.0375x slower
   string-tagcloud                                   10.0095+-0.7471     ?     10.0311+-0.9807        ?
   string-unpack-code                                19.8845+-0.7794     ?     20.0537+-0.4762        ?
   string-validate-input                              4.9489+-0.1286     ?      4.9875+-0.2036        ?

   <arithmetic>                                       5.2654+-0.1052     ?      5.3105+-0.1081        ? might be 1.0086x slower

                                                        TipOfTree               MoreContiguous                                  
LongSpider:
   3d-cube                                          884.7857+-13.5366    ?    892.1535+-11.9395       ?
   3d-morph                                        1536.7594+-13.4348        1533.4007+-7.4068        
   3d-raytrace                                      728.1648+-4.4521     ?    738.5507+-10.2173       ? might be 1.0143x slower
   access-binary-trees                             1028.5177+-12.1514    ?   1031.1358+-5.1743        ?
   access-fannkuch                                  332.2542+-13.1168    ?    333.0854+-7.9943        ?
   access-nbody                                     615.3638+-7.2006          612.3668+-3.5776        
   access-nsieve                                    880.2565+-10.6141    ^    477.4718+-6.6610        ^ definitely 1.8436x faster
   bitops-3bit-bits-in-byte                          44.5376+-0.5043           44.5107+-1.0352        
   bitops-bits-in-byte                              102.7576+-2.7817     ?    103.0568+-2.3476        ?
   bitops-nsieve-bits                               618.7826+-5.2431     ^    417.6654+-2.0517        ^ definitely 1.4815x faster
   controlflow-recursive                            481.3901+-5.5113     ?    483.9118+-1.2855        ?
   crypto-aes                                       704.6516+-7.1093     ?    709.2616+-7.1225        ?
   crypto-md5                                       529.5714+-6.5574          524.5315+-16.5021       
   crypto-sha1                                      599.2212+-8.7237     ?    600.6424+-6.6173        ?
   date-format-tofte                                759.4425+-9.3877     ?    771.9830+-16.2254       ? might be 1.0165x slower
   date-format-xparb                                776.7653+-15.7705    ?    794.3833+-23.2727       ? might be 1.0227x slower
   hash-map                                         222.9610+-3.0782     ^    175.1215+-2.1986        ^ definitely 1.2732x faster
   math-cordic                                      590.6663+-1.9066     ?    593.9672+-7.2558        ?
   math-partial-sums                                507.8475+-4.8448          505.7513+-4.2333        
   math-spectral-norm                               567.0182+-5.3691          565.3840+-2.8638        
   string-base64                                    374.2023+-4.5871     ?    378.8295+-8.9716        ? might be 1.0124x slower
   string-fasta                                     442.3020+-2.4748          438.9292+-5.4332        
   string-tagcloud                                  201.7249+-3.3892     ?    202.1418+-3.0338        ?

   <geometric>                                      477.6542+-1.6085     ^    453.8577+-0.7898        ^ definitely 1.0524x faster

                                                        TipOfTree               MoreContiguous                                  
V8Spider:
   crypto                                            55.3919+-2.4808           55.1911+-3.1391        
   deltablue                                         92.9568+-5.1698     ?     97.4315+-3.5538        ? might be 1.0481x slower
   earley-boyer                                      45.9108+-1.6637           44.7937+-0.7739          might be 1.0249x faster
   raytrace                                          41.3011+-3.7368     ?     42.2448+-2.9674        ? might be 1.0229x slower
   regexp                                            81.1961+-1.5399     ?     82.3695+-1.7575        ? might be 1.0145x slower
   richards                                          80.5929+-1.7450           79.9234+-2.2337        
   splay                                             41.1799+-1.8189     ?     42.2383+-1.9843        ? might be 1.0257x slower

   <geometric>                                       59.4206+-0.9651     ?     60.0509+-0.6714        ? might be 1.0106x slower

                                                        TipOfTree               MoreContiguous                                  
Octane:
   encrypt                                           0.20524+-0.00632          0.20356+-0.00190       
   decrypt                                           3.56053+-0.02716    ?     3.56117+-0.03582       ?
   deltablue                                x2       0.20783+-0.00162    ?     0.20835+-0.00146       ?
   earley                                            0.54004+-0.00498          0.53993+-0.00248       
   boyer                                             6.76241+-0.09031          6.70848+-0.03482       
   navier-stokes                            x2       5.22490+-0.08085          5.17449+-0.00677       
   raytrace                                 x2       1.29120+-0.05856          1.26649+-0.04123         might be 1.0195x faster
   richards                                 x2       0.12297+-0.00157    ?     0.12361+-0.00155       ?
   splay                                    x2       0.40398+-0.00305    ?     0.40708+-0.00385       ?
   regexp                                   x2      32.08092+-0.30188    ?    32.54659+-0.46333       ? might be 1.0145x slower
   pdfjs                                    x2      43.95199+-0.22719    ?    44.53126+-0.63135       ? might be 1.0132x slower
   mandreel                                 x2      50.86215+-1.31063         50.35387+-1.05227         might be 1.0101x faster
   gbemu                                    x2      42.48585+-2.12887         41.52009+-0.40756         might be 1.0233x faster
   closure                                           0.56706+-0.00330    !     0.57843+-0.00449       ! definitely 1.0201x slower
   jquery                                            7.19058+-0.04752    ?     7.28381+-0.08494       ? might be 1.0130x slower
   box2d                                    x2      12.26534+-0.07006    ?    12.34652+-0.13517       ?
   zlib                                     x2     386.61411+-14.04044   ?   394.67131+-3.11404       ? might be 1.0208x slower
   typescript                               x2     845.05428+-11.10455       840.26306+-9.00204       

   <geometric>                                       6.75742+-0.01944    ?     6.76312+-0.03636       ? might be 1.0008x slower

                                                        TipOfTree               MoreContiguous                                  
Kraken:
   ai-astar                                          271.760+-3.469      ?     275.377+-2.085         ? might be 1.0133x slower
   audio-beat-detection                              107.123+-1.265            107.053+-0.395         
   audio-dft                                         151.027+-4.522      ^     121.047+-1.400         ^ definitely 1.2477x faster
   audio-fft                                          86.167+-5.381      ?      88.068+-2.382         ? might be 1.0221x slower
   audio-oscillator                                  207.366+-1.721      ?     210.501+-3.708         ? might be 1.0151x slower
   imaging-darkroom                                  105.664+-2.697            104.694+-1.611         
   imaging-desaturate                                 64.545+-1.531             63.469+-1.230           might be 1.0170x faster
   imaging-gaussian-blur                             112.460+-1.869      ?     114.009+-5.405         ? might be 1.0138x slower
   json-parse-financial                               46.953+-2.757             45.511+-2.295           might be 1.0317x faster
   json-stringify-tinderbox                           57.224+-1.818      ?      58.111+-1.383         ? might be 1.0155x slower
   stanford-crypto-aes                                59.363+-1.192      ?      60.975+-1.616         ? might be 1.0272x slower
   stanford-crypto-ccm                                60.578+-3.035             58.228+-1.792           might be 1.0404x faster
   stanford-crypto-pbkdf2                            137.422+-1.523      ?     139.165+-3.857         ? might be 1.0127x slower
   stanford-crypto-sha256-iterative                   55.270+-3.440             53.269+-4.178           might be 1.0376x faster

   <arithmetic>                                      108.780+-0.816      ^     107.106+-0.635         ^ definitely 1.0156x faster

                                                        TipOfTree               MoreContiguous                                  
JSRegress:
   abs-boolean                                        2.6501+-0.0726     ?      2.7464+-0.1226        ? might be 1.0363x slower
   adapt-to-double-divide                            17.1700+-0.9783           16.7246+-0.5220          might be 1.0266x faster
   aliased-arguments-getbyval                         1.3042+-0.1743            1.2432+-0.0559          might be 1.0491x faster
   allocate-big-object                                2.8277+-0.1995     ?      2.8722+-0.1102        ? might be 1.0157x slower
   arguments-named-and-reflective                    12.7737+-0.3030     ?     13.0215+-0.7441        ? might be 1.0194x slower
   arguments-out-of-bounds                           14.9041+-0.2902     ?     14.9282+-0.4792        ?
   arguments-strict-mode                             12.4999+-0.9748           11.7915+-0.4721          might be 1.0601x faster
   arguments                                         11.3415+-1.4232     ?     11.6696+-1.2862        ? might be 1.0289x slower
   arity-mismatch-inlining                            0.8047+-0.0192     ?      0.8185+-0.0348        ? might be 1.0172x slower
   array-access-polymorphic-structure                 7.2664+-1.2766            6.8135+-0.1830          might be 1.0665x faster
   array-nonarray-polymorhpic-access                 34.9694+-2.9004           34.5563+-0.5965          might be 1.0120x faster
   array-prototype-every                             90.4080+-3.2729           88.3622+-1.4542          might be 1.0232x faster
   array-prototype-forEach                           85.4364+-1.8417     ?     86.2231+-2.0076        ?
   array-prototype-map                               94.6711+-3.0535           94.4213+-1.1874        
   array-prototype-some                              87.1526+-2.4706     ?     87.7965+-2.4630        ?
   array-splice-contiguous                           41.6617+-1.9165     ?     42.1752+-1.5729        ? might be 1.0123x slower
   array-with-double-add                              4.3388+-0.4330            4.2255+-0.2880          might be 1.0268x faster
   array-with-double-increment                        3.2393+-0.0750            3.2054+-0.0612          might be 1.0106x faster
   array-with-double-mul-add                          5.1108+-0.0804            5.1044+-0.1072        
   array-with-double-sum                              3.2548+-0.0594            3.2515+-0.0270        
   array-with-int32-add-sub                           6.7611+-0.0177     ?      6.7646+-0.1678        ?
   array-with-int32-or-double-sum                     3.3095+-0.0402     ?      3.3859+-0.0977        ? might be 1.0231x slower
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     32.9135+-0.8688     ?     36.1412+-3.1751        ? might be 1.0981x slower
   ArrayBuffer-DataView-alloc-long-lived             14.9201+-1.8376           14.5940+-1.1433          might be 1.0223x faster
   ArrayBuffer-Int32Array-byteOffset                  4.1930+-0.5488            4.1659+-0.4673        
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     33.5788+-1.4469     ?     33.6593+-2.0526        ?
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     23.7861+-2.1467           23.3998+-1.4222          might be 1.0165x faster
   ArrayBuffer-Int8Array-alloc-long-lived            12.8390+-0.2592     !     16.1198+-2.2945        ! definitely 1.2555x slower
   ArrayBuffer-Int8Array-alloc                       11.1448+-0.8481     ?     12.9184+-2.1064        ? might be 1.1591x slower
   asmjs_bool_bug                                     7.6351+-0.0520            7.6243+-0.0734        
   assign-custom-setter-polymorphic                   3.4672+-0.5963            3.1095+-0.1276          might be 1.1150x faster
   assign-custom-setter                               4.5154+-0.1425            4.5005+-0.8009        
   basic-set                                          8.4713+-0.0988     ?      8.4883+-0.1646        ?
   big-int-mul                                        4.1860+-0.4780            3.9674+-0.1137          might be 1.0551x faster
   boolean-test                                       3.0872+-0.0423     ?      3.2072+-0.3774        ? might be 1.0389x slower
   branch-fold                                        3.7342+-0.0502            3.6929+-0.0242          might be 1.0112x faster
   branch-on-string-as-boolean                       19.6793+-0.8839           19.3754+-1.0060          might be 1.0157x faster
   by-val-generic                                     8.8278+-0.7807            8.3361+-0.6907          might be 1.0590x faster
   call-spread-apply                                 31.7787+-2.6359     ?     33.4744+-2.1069        ? might be 1.0534x slower
   call-spread-call                                  25.8143+-1.3317     !     28.7217+-1.2526        ! definitely 1.1126x slower
   captured-assignments                               0.4296+-0.0103     ?      0.4428+-0.0190        ? might be 1.0307x slower
   cast-int-to-double                                 5.3449+-0.1814     ?      5.3808+-0.1893        ?
   cell-argument                                      8.6288+-0.2525            8.4317+-0.2783          might be 1.0234x faster
   cfg-simplify                                       3.0896+-0.1566            3.0538+-0.0820          might be 1.0117x faster
   chain-getter-access                               10.1065+-0.3477     ?     10.1471+-0.1113        ?
   cmpeq-obj-to-obj-other                            11.5184+-0.5782           11.1918+-1.0518          might be 1.0292x faster
   constant-test                                      4.9445+-0.0292     ?      5.1399+-0.3075        ? might be 1.0395x slower
   create-lots-of-functions                          11.6709+-0.3015     ?     11.7301+-0.3950        ?
   DataView-custom-properties                        38.5016+-2.4243     ?     39.4298+-1.8429        ? might be 1.0241x slower
   deconstructing-parameters-overridden-by-function   
                                                      0.5110+-0.0681     ?      0.5265+-0.0791        ? might be 1.0303x slower
   delay-tear-off-arguments-strictmode               14.3843+-0.3498           14.1201+-0.2740          might be 1.0187x faster
   deltablue-varargs                                204.7220+-3.7639          202.6405+-0.7358          might be 1.0103x faster
   destructuring-arguments                           18.3259+-0.6706     ?     18.3833+-0.8618        ?
   destructuring-swap                                 5.1574+-0.2180            5.0752+-0.0981          might be 1.0162x faster
   direct-arguments-getbyval                          1.2521+-0.0655     ?      1.3152+-0.2223        ? might be 1.0504x slower
   div-boolean-double                                 5.1894+-0.0444     ?      5.2249+-0.0610        ?
   div-boolean                                        7.8598+-0.1225     ?      7.8791+-0.2297        ?
   double-get-by-val-out-of-bounds                    4.5227+-0.0860     ?      4.5264+-0.0884        ?
   double-pollution-getbyval                          8.8144+-0.0453     ?      8.8421+-0.0687        ?
   double-pollution-putbyoffset                       4.3930+-0.1509     ?      4.6360+-0.2966        ? might be 1.0553x slower
   double-to-int32-typed-array-no-inline              2.2590+-0.0798     ?      2.5445+-0.3095        ? might be 1.1264x slower
   double-to-int32-typed-array                        2.0287+-0.1238     ?      2.1125+-0.2155        ? might be 1.0413x slower
   double-to-uint32-typed-array-no-inline             2.3435+-0.1325     ?      2.4958+-0.3081        ? might be 1.0650x slower
   double-to-uint32-typed-array                       2.1536+-0.2803            2.0826+-0.0710          might be 1.0341x faster
   elidable-new-object-dag                           44.8552+-2.3046           44.4521+-2.0983        
   elidable-new-object-roflcopter                    46.5834+-1.9698           46.4515+-1.7835        
   elidable-new-object-then-call                     39.9823+-1.4321           39.8495+-1.7209        
   elidable-new-object-tree                          47.4401+-1.8581           46.3003+-2.0859          might be 1.0246x faster
   empty-string-plus-int                              5.4089+-0.1125     !      5.6292+-0.0552        ! definitely 1.0407x slower
   emscripten-cube2hash                              39.6053+-1.4001           39.3867+-1.1924        
   exit-length-on-plain-object                       15.7920+-2.2680           14.3921+-1.6161          might be 1.0973x faster
   external-arguments-getbyval                        1.2660+-0.0543     ?      1.3818+-0.2057        ? might be 1.0915x slower
   external-arguments-putbyval                        2.4094+-0.2615            2.3558+-0.0791          might be 1.0227x faster
   fixed-typed-array-storage-var-index                1.2491+-0.0799            1.2428+-0.0568        
   fixed-typed-array-storage                          0.9329+-0.0402     ?      1.0306+-0.1332        ? might be 1.1047x slower
   Float32Array-matrix-mult                           4.6794+-0.3934            4.5595+-0.1707          might be 1.0263x faster
   Float32Array-to-Float64Array-set                  55.2214+-1.5438     ?     56.0462+-1.4418        ? might be 1.0149x slower
   Float64Array-alloc-long-lived                     75.2608+-1.6644     ^     70.9583+-1.3983        ^ definitely 1.0606x faster
   Float64Array-to-Int16Array-set                    68.8653+-1.1754     !     71.7477+-1.6564        ! definitely 1.0419x slower
   fold-double-to-int                                13.6940+-0.3393     ?     13.7084+-0.4205        ?
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     10.7682+-0.6319           10.3924+-1.3084          might be 1.0362x faster
   fold-get-by-id-to-multi-get-by-offset             10.7970+-0.9610            9.9921+-0.5140          might be 1.0805x faster
   fold-multi-get-by-offset-to-get-by-offset   
                                                     10.2699+-1.0062            9.2372+-1.3931          might be 1.1118x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      9.5518+-1.6340            8.8417+-1.0040          might be 1.0803x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                     10.0592+-1.2361            9.6772+-1.2367          might be 1.0395x faster
   fold-multi-put-by-offset-to-put-by-offset   
                                                      4.7666+-0.0905     !      7.8682+-1.3750        ! definitely 1.6507x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                      9.6925+-0.3319            9.6322+-0.4869        
   fold-put-by-id-to-multi-put-by-offset             10.5265+-1.2696           10.1635+-0.9704          might be 1.0357x faster
   fold-put-structure                                 4.0600+-0.0451     !      7.3849+-0.1473        ! definitely 1.8189x slower
   for-of-iterate-array-entries                       4.8256+-0.3857     ?      4.8472+-0.1751        ?
   for-of-iterate-array-keys                          3.9561+-0.3520     ?      4.0466+-0.1357        ? might be 1.0229x slower
   for-of-iterate-array-values                        3.9410+-0.2405     ?      4.0113+-0.3194        ? might be 1.0178x slower
   fround                                            21.2818+-0.9514           21.1075+-0.6498        
   ftl-library-inlining-dataview                     68.7347+-2.1373     ^     64.8441+-1.5343        ^ definitely 1.0600x faster
   ftl-library-inlining                              66.0472+-1.6609     ?     66.1025+-1.1654        ?
   function-dot-apply                                 2.2864+-0.1123     ?      2.3396+-0.1937        ? might be 1.0233x slower
   function-test                                      3.3993+-0.0285            3.3826+-0.0338        
   function-with-eval                               104.5631+-3.1942     ?    105.4439+-4.4617        ?
   gcse-poly-get-less-obvious                        18.5422+-0.8925     ?     19.1608+-1.1781        ? might be 1.0334x slower
   gcse-poly-get                                     23.5278+-2.3636           20.9838+-1.5971          might be 1.1212x faster
   gcse                                               4.4626+-0.3517     ?      4.5098+-0.5746        ? might be 1.0106x slower
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.7224+-0.1085     ?      2.8363+-0.1313        ? might be 1.0419x slower
   get-by-id-bimorphic-check-structure-elimination   
                                                      6.3700+-0.6037            6.0931+-0.1312          might be 1.0454x faster
   get-by-id-chain-from-try-block                     6.5670+-0.1405     ?      7.4124+-1.0426        ? might be 1.1287x slower
   get-by-id-check-structure-elimination              5.4455+-0.6619     ?      5.6458+-0.5759        ? might be 1.0368x slower
   get-by-id-proto-or-self                           17.1331+-0.8066     ?     17.2008+-0.6674        ?
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.3263+-0.4405            3.1971+-0.1139          might be 1.0404x faster
   get-by-id-self-or-proto                           17.1873+-0.3528     ?     17.4268+-0.5552        ? might be 1.0139x slower
   get-by-val-out-of-bounds                           4.5523+-0.3190            4.3314+-0.0244          might be 1.0510x faster
   get_callee_monomorphic                             2.8426+-0.0778     ?      2.8923+-0.1909        ? might be 1.0175x slower
   get_callee_polymorphic                             3.9594+-0.3297     ?      4.1008+-0.4563        ? might be 1.0357x slower
   getter-no-activation                               5.2644+-0.2943            4.9917+-0.3064          might be 1.0546x faster
   getter-richards                                  129.0467+-4.7603     ?    129.3918+-5.8889        ?
   getter                                             6.1409+-0.9331            5.9330+-0.7694          might be 1.0350x faster
   global-var-const-infer-fire-from-opt               0.8912+-0.0507     ?      1.0255+-0.0884        ? might be 1.1507x slower
   global-var-const-infer                             0.8040+-0.0571            0.7612+-0.0419          might be 1.0561x faster
   HashMap-put-get-iterate-keys                      26.1392+-1.1862     ?     26.9169+-1.1750        ? might be 1.0298x slower
   HashMap-put-get-iterate                           25.4892+-0.4640     !     29.2601+-1.3400        ! definitely 1.1479x slower
   HashMap-string-put-get-iterate                    27.9451+-1.3688     ?     28.4027+-1.3478        ? might be 1.0164x slower
   hoist-make-rope                                   11.9166+-0.6241     ?     12.6364+-1.0734        ? might be 1.0604x slower
   hoist-poly-check-structure-effectful-loop   
                                                      5.0551+-0.0665     ?      5.2345+-0.2989        ? might be 1.0355x slower
   hoist-poly-check-structure                         3.8660+-0.2576            3.7500+-0.1338          might be 1.0309x faster
   imul-double-only                                   8.8618+-0.1279     ^      7.5210+-0.0693        ^ definitely 1.1783x faster
   imul-int-only                                      9.7742+-0.1784     ?      9.7973+-0.1321        ?
   imul-mixed                                         8.0490+-0.2937     ?      8.4051+-0.4400        ? might be 1.0442x slower
   in-four-cases                                     20.6967+-0.2272     ?     21.4410+-0.8624        ? might be 1.0360x slower
   in-one-case-false                                 10.6558+-0.3518     ^      9.9272+-0.2960        ^ definitely 1.0734x faster
   in-one-case-true                                  10.4120+-0.3660           10.0463+-0.4312          might be 1.0364x faster
   in-two-cases                                      10.6497+-0.5361           10.3182+-0.4201          might be 1.0321x faster
   indexed-properties-in-objects                      3.0466+-0.0440     ^      2.8815+-0.0471        ^ definitely 1.0573x faster
   infer-closure-const-then-mov-no-inline             3.9060+-0.0442     !      4.5306+-0.4389        ! definitely 1.1599x slower
   infer-closure-const-then-mov                      20.2983+-0.4232           19.7559+-0.4658          might be 1.0275x faster
   infer-closure-const-then-put-to-scope-no-inline   
                                                     15.7356+-2.1344           13.9840+-0.3084          might be 1.1253x faster
   infer-closure-const-then-put-to-scope             22.1195+-0.6921     ?     23.7399+-1.8801        ? might be 1.0733x slower
   infer-closure-const-then-reenter-no-inline   
                                                     63.4714+-1.7848           63.1740+-1.2629        
   infer-closure-const-then-reenter                  22.8204+-0.7063     ?     23.3158+-1.6969        ? might be 1.0217x slower
   infer-constant-global-property                    30.8745+-1.7873           30.2427+-0.9865          might be 1.0209x faster
   infer-constant-property                            2.8024+-0.1754            2.7174+-0.0734          might be 1.0313x faster
   infer-one-time-closure-ten-vars                   13.5298+-1.4173           13.1294+-1.7608          might be 1.0305x faster
   infer-one-time-closure-two-vars                   12.3816+-0.8781           12.2787+-0.1277        
   infer-one-time-closure                            12.1328+-0.2642     ?     12.7151+-1.3647        ? might be 1.0480x slower
   infer-one-time-deep-closure                       22.0520+-1.7198     ?     22.3328+-1.3281        ? might be 1.0127x slower
   inline-arguments-access                            4.7694+-0.3487            4.5918+-0.0433          might be 1.0387x faster
   inline-arguments-aliased-access                    4.7465+-0.1521     ?      4.7906+-0.3392        ?
   inline-arguments-local-escape                      4.7665+-0.1808            4.7609+-0.1524        
   inline-get-scoped-var                              4.8094+-0.2051     ?      4.8342+-0.2608        ?
   inlined-put-by-id-transition                      11.5942+-0.7925           11.2152+-0.6313          might be 1.0338x faster
   int-or-other-abs-then-get-by-val                   4.7479+-0.1562            4.7275+-0.0444        
   int-or-other-abs-zero-then-get-by-val             18.6551+-1.5623           18.1880+-1.8769          might be 1.0257x faster
   int-or-other-add-then-get-by-val                   4.3169+-0.0724     ?      4.3293+-0.1035        ?
   int-or-other-add                                   5.3123+-0.0285     ?      5.4205+-0.1759        ? might be 1.0204x slower
   int-or-other-div-then-get-by-val                   4.2490+-0.0762     ?      4.3964+-0.2345        ? might be 1.0347x slower
   int-or-other-max-then-get-by-val                   4.3428+-0.0585     ?      4.4722+-0.1215        ? might be 1.0298x slower
   int-or-other-min-then-get-by-val                   4.4147+-0.0120     ?      4.5133+-0.1862        ? might be 1.0223x slower
   int-or-other-mod-then-get-by-val                   3.9541+-0.1593     ?      4.0054+-0.0493        ? might be 1.0130x slower
   int-or-other-mul-then-get-by-val                   3.9583+-0.0825     ?      4.0755+-0.1521        ? might be 1.0296x slower
   int-or-other-neg-then-get-by-val                   4.4436+-0.0324     ?      4.4803+-0.0410        ?
   int-or-other-neg-zero-then-get-by-val             17.3543+-0.8419     ?     17.8503+-0.9357        ? might be 1.0286x slower
   int-or-other-sub-then-get-by-val                   4.5907+-0.1579            4.5317+-0.0307          might be 1.0130x faster
   int-or-other-sub                                   3.5299+-0.0263     ?      3.5394+-0.0619        ?
   int-overflow-local                                 4.5747+-0.1492            4.5708+-0.0944        
   Int16Array-alloc-long-lived                       54.1247+-1.1662     ^     51.1766+-0.8826        ^ definitely 1.0576x faster
   Int16Array-bubble-sort-with-byteLength            21.3372+-1.6809     ?     21.5047+-1.6161        ?
   Int16Array-bubble-sort                            20.2310+-0.9032           19.8497+-0.5397          might be 1.0192x faster
   Int16Array-load-int-mul                            1.5767+-0.2003     ?      1.6031+-0.1453        ? might be 1.0168x slower
   Int16Array-to-Int32Array-set                      53.9047+-3.8650     ?     55.3427+-3.2419        ? might be 1.0267x slower
   Int32Array-alloc-large                            24.0466+-1.3053     ?     24.8381+-1.1618        ? might be 1.0329x slower
   Int32Array-alloc-long-lived                       60.1217+-1.8694     ^     56.7277+-1.3081        ^ definitely 1.0598x faster
   Int32Array-alloc                                   3.7216+-0.1837     ?      3.7662+-0.4411        ? might be 1.0120x slower
   Int32Array-Int8Array-view-alloc                    7.2631+-0.8854     ?      8.3357+-1.1811        ? might be 1.1477x slower
   int52-spill                                        6.4333+-0.2536     ?      6.6459+-0.2430        ? might be 1.0330x slower
   Int8Array-alloc-long-lived                        49.5846+-1.2873     ^     45.9976+-1.4350        ^ definitely 1.0780x faster
   Int8Array-load-with-byteLength                     3.3175+-0.0343     ?      3.6525+-0.5266        ? might be 1.1010x slower
   Int8Array-load                                     3.4204+-0.0961            3.3949+-0.1093        
   integer-divide                                    11.3833+-0.2957           11.1829+-0.1144          might be 1.0179x faster
   integer-modulo                                     2.1768+-0.2054            2.0558+-0.1010          might be 1.0589x faster
   is-boolean-fold-tricky                             4.6702+-0.5673            4.5062+-0.2041          might be 1.0364x faster
   is-boolean-fold                                    2.8571+-0.0899     ?      2.9080+-0.1279        ? might be 1.0178x slower
   is-function-fold-tricky-internal-function   
                                                      9.7693+-0.0784     !     10.4424+-0.5250        ! definitely 1.0689x slower
   is-function-fold-tricky                            4.6283+-0.1225            4.5847+-0.2342        
   is-function-fold                                   3.0507+-0.3234            2.9296+-0.1314          might be 1.0413x faster
   is-number-fold-tricky                              4.5528+-0.0464            4.4668+-0.1056          might be 1.0193x faster
   is-number-fold                                     3.0605+-0.4143            2.9082+-0.0995          might be 1.0524x faster
   is-object-or-null-fold-functions                   3.0044+-0.2613            2.9012+-0.0338          might be 1.0355x faster
   is-object-or-null-fold-less-tricky                 4.6037+-0.1565     ?      4.8720+-0.4587        ? might be 1.0583x slower
   is-object-or-null-fold-tricky                     10.6608+-1.2649           10.2041+-0.0702          might be 1.0447x faster
   is-object-or-null-fold                             2.8642+-0.0492     ?      2.8878+-0.1196        ?
   is-object-or-null-trickier-function                4.5681+-0.0584     ?      4.6066+-0.0982        ?
   is-object-or-null-trickier-internal-function   
                                                     12.2628+-0.4314           12.1610+-0.1118        
   is-object-or-null-tricky-function                  4.6140+-0.0994     ?      4.7240+-0.3713        ? might be 1.0238x slower
   is-object-or-null-tricky-internal-function   
                                                     10.9078+-0.7557           10.6544+-0.0749          might be 1.0238x faster
   is-string-fold-tricky                              4.6377+-0.1883            4.5870+-0.4164          might be 1.0110x faster
   is-string-fold                                     2.9878+-0.3482            2.8615+-0.0269          might be 1.0441x faster
   is-undefined-fold-tricky                           3.7477+-0.0744            3.6890+-0.0656          might be 1.0159x faster
   is-undefined-fold                                  2.8780+-0.1451     ?      2.9258+-0.1473        ? might be 1.0166x slower
   large-int-captured                                 4.7516+-0.2372            4.6498+-0.0684          might be 1.0219x faster
   large-int-neg                                     17.8549+-2.0426           16.9277+-0.7167          might be 1.0548x faster
   large-int                                         15.4990+-1.4016           15.2605+-0.9233          might be 1.0156x faster
   logical-not                                        4.5917+-0.0986     ?      4.7432+-0.2786        ? might be 1.0330x slower
   lots-of-fields                                    13.1956+-0.2371     ?     13.6794+-0.6256        ? might be 1.0367x slower
   make-indexed-storage                               3.2168+-0.3294            2.9823+-0.3144          might be 1.0786x faster
   make-rope-cse                                      4.7973+-0.0991     ?      4.8990+-0.4057        ? might be 1.0212x slower
   marsaglia-larger-ints                             36.5059+-1.0656     ?     36.5491+-1.4022        ?
   marsaglia-osr-entry                               23.3242+-0.3278     ?     24.3902+-1.5271        ? might be 1.0457x slower
   max-boolean                                        2.4677+-0.0104     ?      2.4900+-0.0336        ?
   method-on-number                                  17.1327+-0.3400     ?     17.4175+-0.6843        ? might be 1.0166x slower
   min-boolean                                        2.4886+-0.0268     ?      2.5177+-0.0413        ? might be 1.0117x slower
   minus-boolean-double                               3.3692+-0.3427            3.2908+-0.3458          might be 1.0238x faster
   minus-boolean                                      2.4670+-0.2920            2.3914+-0.0894          might be 1.0316x faster
   misc-strict-eq                                    38.2176+-1.1012           37.3161+-0.4074          might be 1.0242x faster
   mod-boolean-double                                11.0337+-0.2180           10.9633+-0.3153        
   mod-boolean                                        7.9065+-0.1690            7.8253+-0.0379          might be 1.0104x faster
   mul-boolean-double                                 3.7623+-0.1083     ?      3.8231+-0.2916        ? might be 1.0162x slower
   mul-boolean                                        2.9102+-0.0850            2.8770+-0.1084          might be 1.0115x faster
   neg-boolean                                        3.3532+-0.3684            3.1613+-0.0480          might be 1.0607x faster
   negative-zero-divide                               0.3444+-0.0134     ?      0.3724+-0.0341        ? might be 1.0812x slower
   negative-zero-modulo                               0.3500+-0.0264     ?      0.3733+-0.0252        ? might be 1.0664x slower
   negative-zero-negate                               0.3365+-0.0191     ?      0.3413+-0.0148        ? might be 1.0141x slower
   nested-function-parsing                           39.8082+-1.4500     ?     40.0496+-1.3848        ?
   new-array-buffer-dead                            112.7081+-2.3954     ?    113.3539+-3.1892        ?
   new-array-buffer-push                              6.8611+-0.0699     ?      7.4465+-0.9758        ? might be 1.0853x slower
   new-array-dead                                    19.5033+-0.6321           19.1084+-0.6449          might be 1.0207x faster
   new-array-push                                     4.0328+-0.2338            3.8494+-0.0356          might be 1.0476x faster
   no-inline-constructor                            126.2435+-3.0336          125.5250+-2.1300        
   number-test                                        3.0813+-0.1137            3.0755+-0.0851        
   object-closure-call                                5.9255+-0.6142            5.7793+-0.2122          might be 1.0253x faster
   object-test                                        3.1584+-0.0521            3.1317+-0.0377        
   obvious-sink-pathology-taken                     140.9318+-2.1531          140.0677+-2.3033        
   obvious-sink-pathology                           130.6925+-3.2613     ?    131.1231+-1.6621        ?
   obviously-elidable-new-object                     35.2340+-0.9591     ?     36.0698+-1.9242        ? might be 1.0237x slower
   plus-boolean-arith                                 2.5620+-0.1961     ?      2.6228+-0.3266        ? might be 1.0237x slower
   plus-boolean-double                                3.1836+-0.0678     ?      3.3272+-0.1174        ? might be 1.0451x slower
   plus-boolean                                       2.4246+-0.1099     ?      2.4420+-0.1105        ?
   poly-chain-access-different-prototypes-simple   
                                                      3.2747+-0.0524     ?      3.3343+-0.1505        ? might be 1.0182x slower
   poly-chain-access-different-prototypes             2.6046+-0.1046     ?      2.6293+-0.1461        ?
   poly-chain-access-simpler                          3.3024+-0.0593            3.2937+-0.0339        
   poly-chain-access                                  2.7637+-0.3937            2.6984+-0.3052          might be 1.0242x faster
   poly-stricteq                                     62.6534+-0.6079           62.4565+-0.8048        
   polymorphic-array-call                             1.4395+-0.1172            1.3041+-0.0713          might be 1.1038x faster
   polymorphic-get-by-id                              3.2858+-0.3690            3.1666+-0.0569          might be 1.0376x faster
   polymorphic-put-by-id                             30.9922+-3.2258     ?     31.1428+-1.5208        ?
   polymorphic-structure                             15.4581+-1.5601     ?     15.6654+-1.2756        ? might be 1.0134x slower
   polyvariant-monomorphic-get-by-id                  8.6719+-0.2067            8.5400+-0.1047          might be 1.0154x faster
   proto-getter-access                               10.0412+-0.1277     ?     10.1429+-0.2514        ? might be 1.0101x slower
   put-by-id-replace-and-transition                   9.0136+-0.0778     ?      9.4312+-0.3600        ? might be 1.0463x slower
   put-by-id-slightly-polymorphic                     2.8650+-0.0691     ?      2.9419+-0.2337        ? might be 1.0268x slower
   put-by-id                                         12.5975+-0.2781           12.5283+-0.3873        
   put-by-val-direct                                  0.4208+-0.0211            0.4121+-0.0190          might be 1.0211x faster
   put-by-val-large-index-blank-indexing-type   
                                                      6.2288+-0.4481     ?      6.4093+-1.0992        ? might be 1.0290x slower
   put-by-val-machine-int                             2.7937+-0.0500     ?      2.8536+-0.0989        ? might be 1.0214x slower
   rare-osr-exit-on-local                            16.0055+-0.7500           15.2010+-0.6382          might be 1.0529x faster
   register-pressure-from-osr                        21.4800+-0.1417     ?     21.6744+-0.4374        ?
   setter                                             6.1018+-0.7033     ^      5.2645+-0.0901        ^ definitely 1.1590x faster
   simple-activation-demo                            24.8003+-0.2890     ?     25.3175+-0.7645        ? might be 1.0209x slower
   simple-getter-access                              12.8585+-0.2857     ?     13.2382+-0.5982        ? might be 1.0295x slower
   simple-poly-call-nested                            8.3831+-0.4899            8.2844+-0.2115          might be 1.0119x faster
   simple-poly-call                                   1.3372+-0.0954            1.3024+-0.0382          might be 1.0267x faster
   sin-boolean                                       23.0273+-0.9542     ?     23.1317+-1.0363        ?
   singleton-scope                                   67.0205+-0.7758     ?     67.5812+-1.0025        ?
   sink-function                                     12.6301+-0.9092           12.4038+-0.3671          might be 1.0182x faster
   sinkable-new-object-dag                           71.7736+-2.8624           69.8967+-1.5630          might be 1.0269x faster
   sinkable-new-object-taken                         51.4017+-2.7555     ?     53.2157+-2.6095        ? might be 1.0353x slower
   sinkable-new-object                               39.1752+-1.0394           39.0607+-1.5128        
   slow-array-profile-convergence                     2.8586+-0.1739     ?      2.9787+-0.4064        ? might be 1.0420x slower
   slow-convergence                                   2.8804+-0.3631            2.7864+-0.1042          might be 1.0337x faster
   sorting-benchmark                                 20.9266+-0.7486     ?     20.9731+-0.3448        ?
   sparse-conditional                                 1.1344+-0.0808     ?      1.1523+-0.0663        ? might be 1.0158x slower
   splice-to-remove                                  17.0200+-0.3813     ?     17.5205+-0.8074        ? might be 1.0294x slower
   string-char-code-at                               17.2075+-0.5691     ?     17.9261+-1.4283        ? might be 1.0418x slower
   string-concat-object                               2.8219+-0.3207            2.6626+-0.1171          might be 1.0598x faster
   string-concat-pair-object                          2.5936+-0.2128     ?      2.5948+-0.1032        ?
   string-concat-pair-simple                         12.0952+-1.1104           11.6756+-0.3389          might be 1.0359x faster
   string-concat-simple                              12.6032+-1.1768     ?     13.0687+-1.0111        ? might be 1.0369x slower
   string-cons-repeat                                 8.3725+-0.7884            8.2157+-0.8129          might be 1.0191x faster
   string-cons-tower                                  8.9882+-1.0731            7.9448+-0.1320          might be 1.1313x faster
   string-equality                                   17.7662+-1.4138     ?     18.2210+-0.8105        ? might be 1.0256x slower
   string-get-by-val-big-char                         7.1493+-0.1137     !      7.3383+-0.0606        ! definitely 1.0264x slower
   string-get-by-val-out-of-bounds-insane             3.8024+-0.0604     ?      3.9332+-0.5340        ? might be 1.0344x slower
   string-get-by-val-out-of-bounds                    5.2869+-0.1897     ?      5.3257+-0.2222        ?
   string-get-by-val                                  3.4008+-0.0779            3.3914+-0.0258        
   string-hash                                        2.0427+-0.0378     ?      2.1380+-0.1621        ? might be 1.0467x slower
   string-long-ident-equality                        15.1040+-0.1601     ?     15.8271+-0.9809        ? might be 1.0479x slower
   string-out-of-bounds                              14.9458+-0.3333           14.9019+-0.1790        
   string-repeat-arith                               35.6300+-2.6124           33.8952+-1.9429          might be 1.0512x faster
   string-sub                                        66.0225+-4.8152     ?     69.7011+-1.9270        ? might be 1.0557x slower
   string-test                                        2.9293+-0.0294     ?      2.9439+-0.0585        ?
   string-var-equality                               32.8712+-1.2104           31.9210+-0.3893          might be 1.0298x faster
   structure-hoist-over-transitions                   2.7470+-0.1675            2.6286+-0.1673          might be 1.0450x faster
   substring-concat-weird                            39.6422+-0.6064     ?     40.7181+-2.0572        ? might be 1.0271x slower
   substring-concat                                  42.1106+-1.6515           41.6064+-1.3326          might be 1.0121x faster
   substring                                         47.7675+-2.0867           47.0080+-1.6682          might be 1.0162x faster
   switch-char-constant                               2.7316+-0.0577     ?      2.7561+-0.1030        ?
   switch-char                                        6.4019+-0.8536     ?      6.6479+-0.6684        ? might be 1.0384x slower
   switch-constant                                    8.5650+-0.3397            8.3582+-0.0966          might be 1.0247x faster
   switch-string-basic-big-var                       18.0952+-0.4432     ?     18.9166+-0.7594        ? might be 1.0454x slower
   switch-string-basic-big                           15.1300+-0.9829           14.5828+-0.2572          might be 1.0375x faster
   switch-string-basic-var                           14.9099+-0.5459     ?     15.1759+-1.2317        ? might be 1.0178x slower
   switch-string-basic                               13.6796+-0.4165           13.6250+-0.1637        
   switch-string-big-length-tower-var                21.4414+-1.2231           20.6513+-1.4621          might be 1.0383x faster
   switch-string-length-tower-var                    15.3040+-0.1699           15.2735+-0.2783        
   switch-string-length-tower                        12.8699+-0.2532     ?     12.9859+-0.1529        ?
   switch-string-short                               12.8198+-0.1438     ?     12.9264+-0.1147        ?
   switch                                            12.7591+-0.2912           12.7367+-0.2653        
   tear-off-arguments-simple                          3.7465+-0.3362            3.4753+-0.1207          might be 1.0780x faster
   tear-off-arguments                                 4.8756+-0.3001     ?      4.9015+-0.2638        ?
   temporal-structure                                12.1994+-0.0614     ?     12.3112+-0.2179        ?
   to-int32-boolean                                  13.5200+-0.1211     ?     14.4574+-1.1276        ? might be 1.0693x slower
   try-catch-get-by-val-cloned-arguments             14.5040+-0.1079     ?     15.0992+-1.5531        ? might be 1.0410x slower
   try-catch-get-by-val-direct-arguments              6.8255+-0.8604            6.5403+-0.2303          might be 1.0436x faster
   try-catch-get-by-val-scoped-arguments              8.7947+-1.4280            7.9851+-0.9564          might be 1.1014x faster
   typed-array-get-set-by-val-profiling              33.0471+-3.6861     ?     33.3977+-2.1332        ? might be 1.0106x slower
   undefined-property-access                        359.0500+-4.0426          358.8743+-5.9870        
   undefined-test                                     3.1605+-0.3547            3.0040+-0.0383          might be 1.0521x faster
   unprofiled-licm                                   23.1676+-0.6661     ?     23.6561+-0.8007        ? might be 1.0211x slower
   varargs-call                                      16.1403+-1.0940           15.9808+-0.9152        
   varargs-construct-inline                          23.1110+-1.3852           22.7297+-0.2630          might be 1.0168x faster
   varargs-construct                                 32.5328+-0.4809           32.2319+-0.7970        
   varargs-inline                                     9.5499+-0.1391     ?      9.6461+-0.3671        ? might be 1.0101x slower
   varargs-strict-mode                               10.2897+-0.2343           10.2717+-0.1638        
   varargs                                           10.6200+-0.5910           10.2454+-0.1487          might be 1.0366x faster
   weird-inlining-const-prop                          2.3887+-0.0966            2.3010+-0.1387          might be 1.0381x faster

   <geometric>                                        8.6257+-0.0462     ?      8.6579+-0.0205        ? might be 1.0037x slower

                                                        TipOfTree               MoreContiguous                                  
AsmBench:
   bigfib.cpp                                       499.0017+-6.9327     ?    499.6385+-7.3868        ?
   cray.c                                           425.8257+-3.4337     ?    426.0557+-5.4046        ?
   dry.c                                            487.8049+-8.3093          487.6383+-7.3018        
   FloatMM.c                                        733.3719+-11.0231    ?    737.8465+-21.0527       ?
   gcc-loops.cpp                                   4518.9675+-609.3180       4272.0263+-9.8271          might be 1.0578x faster
   n-body.c                                         986.6908+-9.8873          981.2976+-6.1296        
   Quicksort.c                                      420.1909+-4.1494          419.1851+-4.2653        
   stepanov_container.cpp                          3632.9393+-42.1251        3620.7932+-29.9688       
   Towers.c                                         260.3874+-0.9016          259.6245+-0.6120        

   <geometric>                                      799.8150+-11.1199         794.7190+-2.3529          might be 1.0064x faster

                                                        TipOfTree               MoreContiguous                                  
CompressionBench:
   huffman                                          371.2688+-1.9484          364.7447+-8.7541          might be 1.0179x faster
   arithmetic-simple                                397.9051+-9.9740          393.3864+-4.7753          might be 1.0115x faster
   arithmetic-precise                               303.8306+-5.6079          297.5702+-5.5244          might be 1.0210x faster
   arithmetic-complex-precise                       300.7327+-3.5432          300.0023+-6.6560        
   arithmetic-precise-order-0                       426.2111+-10.2010    ?    432.3674+-8.5352        ? might be 1.0144x slower
   arithmetic-precise-order-1                       329.9871+-5.8803     ?    333.0349+-9.4745        ?
   arithmetic-precise-order-2                       363.8460+-5.1471          360.2196+-6.2842          might be 1.0101x faster
   arithmetic-simple-order-1                        422.3760+-1.7509     ?    422.5983+-5.1418        ?
   arithmetic-simple-order-2                        466.3583+-2.6591          466.2340+-5.3304        
   lz-string                                        325.7708+-8.1882     ?    335.5986+-21.4023       ? might be 1.0302x slower

   <geometric>                                      366.9642+-2.2455          366.5834+-3.0920          might be 1.0010x faster

                                                        TipOfTree               MoreContiguous                                  
Geomean of preferred means:
   <scaled-result>                                   63.9012+-0.2493           63.5008+-0.1605          might be 1.0063x faster
Comment 2 Filip Pizlo 2015-05-04 18:58:21 PDT
Created attachment 252363 [details]
the patch
Comment 3 Geoffrey Garen 2015-05-04 19:21:06 PDT
Comment on attachment 252363 [details]
the patch

r=me
Comment 4 Mark Lam 2015-05-04 19:22:18 PDT
(In reply to comment #3)
> Comment on attachment 252363 [details]
> the patch
> 
> r=me

Bummer.  grain beat me to it.
Comment 5 Mark Lam 2015-05-04 19:22:57 PDT
(In reply to comment #4)
> (In reply to comment #3)
> > Comment on attachment 252363 [details]
> > the patch
> > 
> > r=me
> 
> Bummer.  grain beat me to it.

s/grain/ggaren/
Comment 6 Filip Pizlo 2015-05-04 19:42:37 PDT
Landed in http://trac.webkit.org/changeset/183787
Comment 7 Simon Fraser (smfr) 2015-05-04 20:27:47 PDT
** The following Mozilla test failures have been introduced:
	js1_5/Array/regress-101964.js
Comment 8 Filip Pizlo 2015-05-04 20:28:43 PDT
(In reply to comment #7)
> ** The following Mozilla test failures have been introduced:
> 	js1_5/Array/regress-101964.js

Details?  I don't see it locally.
Comment 9 Filip Pizlo 2015-05-04 20:31:18 PDT
(In reply to comment #8)
> (In reply to comment #7)
> > ** The following Mozilla test failures have been introduced:
> > 	js1_5/Array/regress-101964.js
> 
> Details?  I don't see it locally.

I think I see it.  It appears to be asserting the performance of exotic operations.  I believe we should either skip the test or edit it.  Looking now.
Comment 11 Filip Pizlo 2015-05-04 20:53:11 PDT
(In reply to comment #10)
> https://build.webkit.org/builders/
> Apple%20Mavericks%20LLINT%20CLoop%20%28BuildAndTest%29

I think I fixed it: http://trac.webkit.org/changeset/183791.
Comment 12 Filip Pizlo 2015-05-04 21:21:49 PDT
Fixed even harder in http://trac.webkit.org/changeset/183792
Comment 13 Michael Saboff 2015-05-05 09:27:12 PDT
It appears that this broke mozilla-tests.yaml/js1_5/Array/regress-157652.js on iOS.  That test now appears to be flakey.  Here are some of the test outputs since <http://trac.webkit.org/changeset/183787>.  Note that these are 64 bit results, but the failure is seen on 32 bit systems as well.

Failures	                                                                                183786   183787
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-dfg-eager-no-cjit-validate-phases      Passed   Failed

Failures	                                                                                183787   183788
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla                                        Passed   Failed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-baseline                               Passed   Failed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-dfg-eager-no-cjit-validate-phases      Failed   Failed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-llint                                  Passed   Failed

Failures	                                                                                183796   183797
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla                                        Passed   Failed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-dfg-eager-no-cjit-validate-phases	Passed   Failed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-ftl                                    Failed   Passed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-ftl-eager-no-cjit-validate-phases      Failed   Passed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-llint                                  Failed   Failed

Failures	                                                                                183797   183798
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla                                        Failed   Passed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-baseline                               Passed   Failed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-dfg-eager-no-cjit-validate-phases	Failed   Passed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-llint                                  Failed   Failed

Failures	                                                                                183798   183801
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla                                        Passed   Failed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-baseline                               Failed   Failed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-ftl                                    Passed   Failed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-ftl-eager-no-cjit-validate-phases      Passed   Failed
mozilla-tests.yaml/js1_5/Array/regress-157652.js.mozilla-llint                                  Failed   Passed
Comment 14 Mark Lam 2015-05-05 09:39:57 PDT
(In reply to comment #13)
> It appears that this broke mozilla-tests.yaml/js1_5/Array/regress-157652.js
> on iOS.  That test now appears to be flakey. …

I’ll try to address this with https://bugs.webkit.org/show_bug.cgi?id=144622 today.
Comment 15 Chris Dumez 2015-05-06 16:42:08 PDT
Looks like a 2.9% progression on Kraken on the bots.