Bug 143851 - Inline JSFunction allocation in FTL
Summary: Inline JSFunction allocation in FTL
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Enhancement
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-16 15:43 PDT by Basile Clement
Modified: 2015-04-17 11:13 PDT (History)
4 users (show)

See Also:


Attachments
Tentative patch (3.47 KB, patch)
2015-04-16 15:46 PDT, Basile Clement
no flags Details | Formatted Diff | Diff
Define JSFunction::allocationSize() instead of using sizeof(JSFunction) (4.32 KB, patch)
2015-04-16 16:11 PDT, Basile Clement
no flags Details | Formatted Diff | Diff
Cleaned up patch (5.13 KB, patch)
2015-04-16 16:54 PDT, Basile Clement
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Basile Clement 2015-04-16 15:43:06 PDT
Patch forthcoming
Comment 1 Basile Clement 2015-04-16 15:46:26 PDT
Created attachment 250959 [details]
Tentative patch
Comment 2 Filip Pizlo 2015-04-16 15:58:03 PDT
Comment on attachment 250959 [details]
Tentative patch

View in context: https://bugs.webkit.org/attachment.cgi?id=250959&action=review

Looks good!

> Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2943
> +        // We don't need memory barriers since we just fast-created the activation, so the
> +        // activation must be young.

probably don't need this comment, or you can replace "activation" with "function"
Comment 3 Basile Clement 2015-04-16 16:01:31 PDT
(In reply to comment #2)
> Comment on attachment 250959 [details]
> Tentative patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=250959&action=review
> 
> Looks good!
> 
> > Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2943
> > +        // We don't need memory barriers since we just fast-created the activation, so the
> > +        // activation must be young.
> 
> probably don't need this comment, or you can replace "activation" with
> "function"

It was there in the createCompileActivation() inlining, so I supposed it would make sense to have here as well. Good catch on "activation"/"function", fixing that.
Comment 4 Basile Clement 2015-04-16 16:11:12 PDT
Created attachment 250969 [details]
Define JSFunction::allocationSize() instead of using sizeof(JSFunction)
Comment 5 Basile Clement 2015-04-16 16:37:59 PDT
Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on Basiles-MacBook-Pro (MacBookPro11,3).

VMs tested:
"Conf#1" at /Volumes/Data/Baseline/OpenSource/WebKitBuild/Release/jsc (r182899)
"Conf#2" at /Volumes/Data/WIP/OpenSource/WebKitBuild/Release/jsc (r182899)

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.

                                                          Conf#1                    Conf#2                                      
SunSpider:
   3d-cube                                            4.5990+-0.4221            4.5580+-0.4000        
   3d-morph                                           5.3000+-0.2380     ?      5.7707+-0.5599        ? might be 1.0888x slower
   3d-raytrace                                        5.2030+-0.1255            5.1391+-0.1589          might be 1.0124x faster
   access-binary-trees                                2.0130+-0.1379     ?      2.1147+-0.2031        ? might be 1.0505x slower
   access-fannkuch                                    5.2538+-0.2003            5.1330+-0.0866          might be 1.0235x faster
   access-nbody                                       2.4436+-0.0668     ?      2.5848+-0.1917        ? might be 1.0578x slower
   access-nsieve                                      3.0695+-0.0978            3.0288+-0.0482          might be 1.0134x faster
   bitops-3bit-bits-in-byte                           1.4302+-0.0547     ?      1.4372+-0.0600        ?
   bitops-bits-in-byte                                3.1510+-0.0900     ?      3.1742+-0.0953        ?
   bitops-bitwise-and                                 1.9744+-0.0459     ?      2.0336+-0.0831        ? might be 1.0300x slower
   bitops-nsieve-bits                                 3.3628+-0.2180            3.3339+-0.1496        
   controlflow-recursive                              2.1097+-0.5539            1.9800+-0.1972          might be 1.0655x faster
   crypto-aes                                         3.6970+-0.3664            3.6661+-0.3406        
   crypto-md5                                         2.1835+-0.1504     ?      2.1943+-0.1653        ?
   crypto-sha1                                        2.3311+-0.2203     ?      2.4919+-0.2643        ? might be 1.0690x slower
   date-format-tofte                                  7.1383+-0.8088            6.8739+-0.4691          might be 1.0385x faster
   date-format-xparb                                  4.5496+-0.4182     ?      4.9247+-0.3355        ? might be 1.0824x slower
   math-cordic                                        2.8370+-0.1048     ?      2.9555+-0.2449        ? might be 1.0418x slower
   math-partial-sums                                  4.6330+-0.3963            4.4578+-0.0867          might be 1.0393x faster
   math-spectral-norm                                 1.9716+-0.2931            1.7439+-0.0396          might be 1.1306x faster
   regexp-dna                                         6.2935+-0.2762     ?      6.4294+-0.3350        ? might be 1.0216x slower
   string-base64                                      4.4842+-0.4132            4.1725+-0.0447          might be 1.0747x faster
   string-fasta                                       5.9849+-0.1679     ?      6.0536+-0.2466        ? might be 1.0115x slower
   string-tagcloud                                    9.1351+-0.3214            8.9260+-0.3835          might be 1.0234x faster
   string-unpack-code                                19.3884+-1.0826     ?     19.4414+-0.8618        ?
   string-validate-input                              4.6764+-0.1425     ^      4.4034+-0.0963        ^ definitely 1.0620x faster

   <arithmetic>                                       4.5851+-0.0275            4.5778+-0.0672          might be 1.0016x faster

                                                          Conf#1                    Conf#2                                      
LongSpider:
   3d-cube                                          803.0699+-19.4063    ?    809.0305+-22.9386       ?
   3d-morph                                        1564.8647+-9.0996     ?   1592.0244+-36.2075       ? might be 1.0174x slower
   3d-raytrace                                      683.3388+-7.9320     ?    689.4224+-19.0132       ?
   access-binary-trees                              875.1529+-11.8724         875.0818+-10.3352       
   access-fannkuch                                  272.9062+-2.2378     ?    276.8879+-9.3927        ? might be 1.0146x slower
   access-nbody                                     570.1220+-7.6976     ?    572.7385+-5.7348        ?
   access-nsieve                                    671.2916+-11.8369         663.4910+-11.6132         might be 1.0118x faster
   bitops-3bit-bits-in-byte                          42.5070+-1.2714     ?     42.7292+-0.9330        ?
   bitops-bits-in-byte                               90.3566+-5.8304     ?     92.7364+-10.6011       ? might be 1.0263x slower
   bitops-nsieve-bits                               702.1930+-15.8141         701.4176+-27.2682       
   controlflow-recursive                            477.7046+-9.0323          469.2044+-4.1564          might be 1.0181x faster
   crypto-aes                                       579.1833+-13.0341         578.3113+-9.3444        
   crypto-md5                                       549.2771+-7.2576     ?    549.8418+-12.2125       ?
   crypto-sha1                                      589.8635+-5.6536     ?    598.7798+-19.0848       ? might be 1.0151x slower
   date-format-tofte                                526.1929+-8.1329     ?    532.0518+-11.3256       ? might be 1.0111x slower
   date-format-xparb                                681.3737+-32.6099         650.3320+-6.2473          might be 1.0477x faster
   math-cordic                                      520.5151+-2.9877     ?    523.9935+-4.3744        ?
   math-partial-sums                                441.5575+-17.0293         440.5492+-8.6003        
   math-spectral-norm                               585.5274+-13.4977         574.2784+-3.4286          might be 1.0196x faster
   string-base64                                    334.0148+-3.9755     ?    336.6573+-9.9106        ?
   string-fasta                                     385.5599+-4.3994     ?    392.4106+-17.3611       ? might be 1.0178x slower
   string-tagcloud                                  205.2707+-4.4528     ?    207.0415+-3.9943        ?

   <geometric>                                      450.5265+-2.6040     ?    451.4909+-2.5574        ? might be 1.0021x slower

                                                          Conf#1                    Conf#2                                      
V8Spider:
   crypto                                            54.0365+-1.3280           52.2855+-3.1355          might be 1.0335x faster
   deltablue                                         83.9845+-5.3576     ?     88.6670+-8.8956        ? might be 1.0558x slower
   earley-boyer                                      43.1970+-2.9738           40.6932+-1.0516          might be 1.0615x faster
   raytrace                                          33.5772+-1.7996           32.2699+-1.9154          might be 1.0405x faster
   regexp                                            59.2108+-2.3339     ?     61.2446+-2.4999        ? might be 1.0343x slower
   richards                                          73.3956+-2.4970           72.6655+-2.8048          might be 1.0100x faster
   splay                                             35.4069+-1.8101     ?     38.1630+-2.1307        ? might be 1.0778x slower

   <geometric>                                       51.8508+-1.2358     ?     51.9804+-0.7505        ? might be 1.0025x slower

                                                          Conf#1                    Conf#2                                      
Octane:
   encrypt                                           0.20654+-0.00216          0.20399+-0.00331         might be 1.0125x faster
   decrypt                                           3.68884+-0.13734          3.63728+-0.11008         might be 1.0142x faster
   deltablue                                x2       0.16711+-0.00213    ?     0.16839+-0.00228       ?
   earley                                            0.48790+-0.00581    ^     0.45680+-0.00475       ^ definitely 1.0681x faster
   boyer                                             5.94139+-0.14081    ?     5.96870+-0.22438       ?
   navier-stokes                            x2       5.29282+-0.07064          5.28472+-0.05824       
   raytrace                                 x2       1.01948+-0.01012    ?     1.08758+-0.07561       ? might be 1.0668x slower
   richards                                 x2       0.09749+-0.00287    ?     0.09881+-0.00126       ? might be 1.0136x slower
   splay                                    x2       0.36818+-0.00904    ?     0.36949+-0.00561       ?
   regexp                                   x2      29.75310+-0.29887    ?    33.22591+-9.28795       ? might be 1.1167x slower
   pdfjs                                    x2      40.68228+-0.48934         40.56041+-0.44654       
   mandreel                                 x2      47.57093+-0.91062    ?    47.79446+-0.59973       ?
   gbemu                                    x2      32.51786+-0.42407    ?    34.14483+-2.56798       ? might be 1.0500x slower
   closure                                           0.51076+-0.00803    ?     0.51717+-0.01498       ? might be 1.0125x slower
   jquery                                            6.33312+-0.10046    ?     6.36897+-0.07959       ?
   box2d                                    x2      10.76840+-0.20003         10.72413+-0.10087       
   zlib                                     x2     364.63312+-21.52860   ?   370.22668+-16.85547      ? might be 1.0153x slower
   typescript                               x2     677.01628+-10.09086       671.84550+-16.64095      

   <geometric>                                       5.96377+-0.03872    ?     6.04088+-0.11905       ? might be 1.0129x slower

                                                          Conf#1                    Conf#2                                      
Kraken:
   ai-astar                                          286.006+-6.358      ?     289.807+-14.165        ? might be 1.0133x slower
   audio-beat-detection                              103.218+-1.358      ?     103.284+-2.454         ?
   audio-dft                                         171.470+-6.639            168.479+-5.258           might be 1.0178x faster
   audio-fft                                          82.698+-3.331             81.769+-1.331           might be 1.0114x faster
   audio-oscillator                                  189.286+-4.257            187.925+-3.023         
   imaging-darkroom                                   99.996+-1.531      ^      96.974+-1.263         ^ definitely 1.0312x faster
   imaging-desaturate                                 59.568+-2.109      ?      60.793+-3.393         ? might be 1.0206x slower
   imaging-gaussian-blur                              91.527+-2.680             91.223+-2.118         
   json-parse-financial                               40.964+-2.532             38.903+-1.628           might be 1.0530x faster
   json-stringify-tinderbox                           53.079+-3.025      ?      53.270+-2.721         ?
   stanford-crypto-aes                                59.757+-1.597             59.332+-3.018         
   stanford-crypto-ccm                                47.465+-4.762      ?      52.497+-4.608         ? might be 1.1060x slower
   stanford-crypto-pbkdf2                            152.617+-0.850      ?     154.951+-2.227         ? might be 1.0153x slower
   stanford-crypto-sha256-iterative                   50.950+-1.876      ?      52.015+-4.015         ? might be 1.0209x slower

   <arithmetic>                                      106.329+-1.144      ?     106.516+-0.966         ? might be 1.0018x slower

                                                          Conf#1                    Conf#2                                      
JSRegress:
   abs-boolean                                        2.7480+-0.4438            2.3927+-0.0552          might be 1.1485x faster
   adapt-to-double-divide                            16.8929+-0.7533     ?     17.2890+-0.8639        ? might be 1.0234x slower
   aliased-arguments-getbyval                         1.2045+-0.0916            1.1359+-0.0327          might be 1.0604x faster
   allocate-big-object                                2.7470+-0.3407            2.5776+-0.2086          might be 1.0657x faster
   arguments-named-and-reflective                    11.7227+-0.6724           11.2056+-0.5321          might be 1.0461x faster
   arguments-out-of-bounds                           10.6211+-0.1652     ?     10.9550+-0.8114        ? might be 1.0314x slower
   arguments-strict-mode                             10.5998+-1.0592           10.3425+-0.3434          might be 1.0249x faster
   arguments                                          9.2973+-0.4011     ?      9.5707+-1.0173        ? might be 1.0294x slower
   arity-mismatch-inlining                            0.8181+-0.0546     ?      0.8242+-0.0283        ?
   array-access-polymorphic-structure                 6.2909+-0.5219            6.2135+-0.1936          might be 1.0125x faster
   array-nonarray-polymorhpic-access                 29.8688+-1.1692           28.6213+-0.7186          might be 1.0436x faster
   array-prototype-every                             84.4322+-4.7173     ?     84.6002+-4.4236        ?
   array-prototype-forEach                           79.9800+-2.3311     ?     82.1193+-2.8389        ? might be 1.0267x slower
   array-prototype-map                               89.8567+-3.8944     ?     91.7608+-3.6254        ? might be 1.0212x slower
   array-prototype-some                              82.8041+-1.3283     ?     84.0225+-1.6694        ? might be 1.0147x slower
   array-splice-contiguous                           43.7137+-2.7928     ^     39.2650+-1.4598        ^ definitely 1.1133x faster
   array-with-double-add                              3.3536+-0.0490     ?      3.4866+-0.2506        ? might be 1.0397x slower
   array-with-double-increment                        3.0107+-0.0857     ?      3.0753+-0.1019        ? might be 1.0215x slower
   array-with-double-mul-add                          4.2085+-0.1196     ?      4.3105+-0.2434        ? might be 1.0242x slower
   array-with-double-sum                              3.1305+-0.0575     ?      3.2215+-0.0668        ? might be 1.0291x slower
   array-with-int32-add-sub                           5.9574+-0.2820            5.8525+-0.1278          might be 1.0179x faster
   array-with-int32-or-double-sum                     3.2518+-0.1384     ?      3.3018+-0.1600        ? might be 1.0154x slower
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     29.9264+-3.4862           29.1947+-2.5537          might be 1.0251x faster
   ArrayBuffer-DataView-alloc-long-lived             12.4987+-0.4142     ?     13.1595+-0.8660        ? might be 1.0529x slower
   ArrayBuffer-Int32Array-byteOffset                  3.8010+-0.4661            3.6384+-0.0812          might be 1.0447x faster
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     29.2546+-2.1755     ?     29.9987+-1.6036        ? might be 1.0254x slower
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     21.5986+-1.2087     ?     22.6066+-1.4367        ? might be 1.0467x slower
   ArrayBuffer-Int8Array-alloc-long-lived            12.2603+-0.9141     ?     12.6168+-0.9715        ? might be 1.0291x slower
   ArrayBuffer-Int8Array-alloc                       10.5776+-0.7337     ?     10.5972+-0.8041        ?
   asmjs_bool_bug                                     6.7557+-0.2707     ?      6.9858+-0.3773        ? might be 1.0340x slower
   assign-custom-setter-polymorphic                   2.5253+-0.1049     !      2.8373+-0.2027        ! definitely 1.1235x slower
   assign-custom-setter                               3.5640+-0.2274            3.5006+-0.1931          might be 1.0181x faster
   basic-set                                          8.4462+-0.3159     ^      7.5940+-0.2815        ^ definitely 1.1122x faster
   big-int-mul                                        3.5740+-0.1947     ?      3.5913+-0.2012        ?
   boolean-test                                       2.8243+-0.1023            2.7772+-0.0515          might be 1.0169x faster
   branch-fold                                        3.4902+-0.0507     ?      3.5294+-0.0732        ? might be 1.0113x slower
   by-val-generic                                     7.3203+-0.2307     ?      7.8826+-0.9629        ? might be 1.0768x slower
   call-spread-apply                                 28.2916+-1.0146     ?     28.4963+-1.5479        ?
   call-spread-call                                  21.9257+-0.6111     ?     23.0448+-0.9835        ? might be 1.0510x slower
   captured-assignments                               0.3754+-0.0294     ?      0.4396+-0.1660        ? might be 1.1712x slower
   cast-int-to-double                                 4.9582+-0.2255            4.9142+-0.4035        
   cell-argument                                      6.5584+-0.3514            6.4486+-0.3642          might be 1.0170x faster
   cfg-simplify                                       2.8680+-0.0554     ?      2.9181+-0.0690        ? might be 1.0175x slower
   chain-getter-access                                9.2376+-0.1841     ?      9.3055+-0.1645        ?
   cmpeq-obj-to-obj-other                            10.3249+-1.1233     ?     11.4552+-0.9144        ? might be 1.1095x slower
   constant-test                                      4.5785+-0.0876     ?      4.6676+-0.1524        ? might be 1.0195x slower
   create-lots-of-functions                          18.9207+-0.9808           18.8655+-0.8375        
   DataView-custom-properties                        34.2514+-1.9517           33.9054+-2.2844          might be 1.0102x faster
   deconstructing-parameters-overridden-by-function   
                                                      0.4200+-0.0255            0.4172+-0.0206        
   delay-tear-off-arguments-strictmode               13.0027+-1.0279           12.7358+-0.6904          might be 1.0210x faster
   deltablue-varargs                                149.0005+-3.6472     ?    150.4966+-3.5405        ? might be 1.0100x slower
   destructuring-arguments                           13.7839+-0.5444     ?     14.1349+-1.0686        ? might be 1.0255x slower
   destructuring-swap                                 4.7524+-0.0771            4.7107+-0.1501        
   direct-arguments-getbyval                          1.1806+-0.0862     ?      1.2484+-0.1862        ? might be 1.0574x slower
   div-boolean-double                                 5.4690+-0.1892            5.3942+-0.1219          might be 1.0139x faster
   div-boolean                                        8.3518+-0.2142     ?      8.4397+-0.2047        ? might be 1.0105x slower
   double-get-by-val-out-of-bounds                    4.2427+-0.2607     ?      4.3839+-0.2920        ? might be 1.0333x slower
   double-pollution-getbyval                          9.0117+-0.2586     ?      9.4095+-0.4854        ? might be 1.0442x slower
   double-pollution-putbyoffset                       4.2609+-0.3763            4.0723+-0.3965          might be 1.0463x faster
   double-to-int32-typed-array-no-inline              2.0020+-0.1148     ?      2.0867+-0.1236        ? might be 1.0423x slower
   double-to-int32-typed-array                        1.6825+-0.0906     ?      1.8558+-0.2524        ? might be 1.1030x slower
   double-to-uint32-typed-array-no-inline             2.0839+-0.0905            2.0732+-0.0478        
   double-to-uint32-typed-array                       1.7563+-0.0410     ?      1.8911+-0.1388        ? might be 1.0768x slower
   elidable-new-object-dag                           36.4322+-1.9877     ?     38.4146+-2.2599        ? might be 1.0544x slower
   elidable-new-object-roflcopter                    39.5800+-3.2988     ?     40.3142+-1.5844        ? might be 1.0185x slower
   elidable-new-object-then-call                     32.8670+-0.7956     ?     33.7900+-2.4622        ? might be 1.0281x slower
   elidable-new-object-tree                          40.0287+-2.1967     ?     40.1307+-2.5954        ?
   empty-string-plus-int                              5.0966+-0.4203            4.8264+-0.0872          might be 1.0560x faster
   emscripten-cube2hash                              27.4349+-1.6436     ?     28.9473+-1.3847        ? might be 1.0551x slower
   exit-length-on-plain-object                       13.2412+-0.5283     ?     13.6662+-0.6771        ? might be 1.0321x slower
   external-arguments-getbyval                        1.3882+-0.2539            1.1597+-0.0745          might be 1.1971x faster
   external-arguments-putbyval                        2.2380+-0.4385            2.1066+-0.1197          might be 1.0624x faster
   fixed-typed-array-storage-var-index                1.1728+-0.0480     ?      1.2301+-0.2000        ? might be 1.0489x slower
   fixed-typed-array-storage                          0.8059+-0.0618            0.7869+-0.0246          might be 1.0241x faster
   Float32Array-matrix-mult                           3.8065+-0.0985     ?      4.0284+-0.1859        ? might be 1.0583x slower
   Float32Array-to-Float64Array-set                  50.2299+-1.2094     ?     50.4268+-2.3526        ?
   Float64Array-alloc-long-lived                     66.2428+-4.1969     ?     69.7954+-3.8949        ? might be 1.0536x slower
   Float64Array-to-Int16Array-set                    59.1003+-2.1973     ?     63.7486+-4.1921        ? might be 1.0786x slower
   fold-double-to-int                                13.1240+-1.1017           12.9946+-0.4298        
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                      9.5769+-0.4531            9.5712+-0.5621        
   fold-get-by-id-to-multi-get-by-offset              7.6045+-0.2872            7.5236+-0.3723          might be 1.0107x faster
   fold-multi-get-by-offset-to-get-by-offset   
                                                      7.8856+-0.4022            7.4326+-1.4994          might be 1.0609x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      7.1477+-1.2727     ?      7.2024+-0.8092        ?
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      6.8101+-0.5595            6.7418+-1.0311          might be 1.0101x faster
   fold-multi-put-by-offset-to-put-by-offset   
                                                      4.2776+-1.0053     ?      4.4882+-0.3999        ? might be 1.0492x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                      9.0651+-0.9331            8.5602+-0.5205          might be 1.0590x faster
   fold-put-by-id-to-multi-put-by-offset              8.6409+-0.8774            8.2080+-0.5519          might be 1.0527x faster
   fold-put-structure                                 4.2302+-0.5890            3.8970+-0.3751          might be 1.0855x faster
   for-of-iterate-array-entries                       4.1351+-0.1937     ?      4.1656+-0.2959        ?
   for-of-iterate-array-keys                          3.4547+-0.1565     ?      3.6283+-0.4799        ? might be 1.0503x slower
   for-of-iterate-array-values                        3.3615+-0.2701     ?      3.4164+-0.2363        ? might be 1.0163x slower
   fround                                            18.7360+-0.6884           18.0425+-0.2313          might be 1.0384x faster
   ftl-library-inlining-dataview                     59.7107+-1.0284     ?     60.6379+-1.6045        ? might be 1.0155x slower
   ftl-library-inlining                             113.0357+-1.0805     ?    113.3408+-3.9464        ?
   function-dot-apply                                 2.0549+-0.1545     ?      2.1304+-0.1704        ? might be 1.0368x slower
   function-test                                      2.9247+-0.1028     ?      3.0096+-0.2812        ? might be 1.0290x slower
   function-with-eval                                98.3656+-3.2450           95.4508+-4.3330          might be 1.0305x faster
   gcse-poly-get-less-obvious                        14.6366+-0.3455     ?     14.9663+-0.5736        ? might be 1.0225x slower
   gcse-poly-get                                     16.5342+-0.4340           16.4926+-0.5500        
   gcse                                               3.8509+-0.0942     ?      4.0758+-0.3135        ? might be 1.0584x slower
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.6150+-0.0713     ?      2.9797+-0.4114        ? might be 1.1395x slower
   get-by-id-bimorphic-check-structure-elimination   
                                                      5.7497+-0.1264     ?      5.8299+-0.1380        ? might be 1.0139x slower
   get-by-id-chain-from-try-block                     6.7911+-0.4547            6.7316+-0.5497        
   get-by-id-check-structure-elimination              4.5090+-0.2174            4.4187+-0.1527          might be 1.0204x faster
   get-by-id-proto-or-self                           14.6354+-0.8275     ?     14.9453+-0.5930        ? might be 1.0212x slower
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      2.8881+-0.0596     ?      2.9364+-0.0563        ? might be 1.0167x slower
   get-by-id-self-or-proto                           15.6650+-1.5602           14.5909+-0.3865          might be 1.0736x faster
   get-by-val-out-of-bounds                           4.1775+-0.2754            3.9650+-0.1570          might be 1.0536x faster
   get_callee_monomorphic                             3.2670+-0.5239            3.2102+-0.1951          might be 1.0177x faster
   get_callee_polymorphic                             3.3111+-0.2381     ?      3.7052+-0.6147        ? might be 1.1190x slower
   getter-no-activation                               4.8610+-0.1775            4.7294+-0.0508          might be 1.0278x faster
   getter-richards                                  119.8239+-10.7413         113.8175+-7.1069          might be 1.0528x faster
   getter                                             5.5036+-0.4508            5.4344+-0.4854          might be 1.0127x faster
   global-var-const-infer-fire-from-opt               0.8310+-0.0785     ?      0.9010+-0.1613        ? might be 1.0843x slower
   global-var-const-infer                             0.8368+-0.0923     ?      0.8814+-0.2145        ? might be 1.0533x slower
   HashMap-put-get-iterate-keys                      24.5553+-0.7970           24.2126+-0.7866          might be 1.0142x faster
   HashMap-put-get-iterate                           24.5605+-1.1128           24.5103+-0.6654        
   HashMap-string-put-get-iterate                    24.7011+-0.5622     ?     26.0255+-1.1568        ? might be 1.0536x slower
   hoist-make-rope                                    8.6155+-0.9475     ?      8.9034+-1.1139        ? might be 1.0334x slower
   hoist-poly-check-structure-effectful-loop   
                                                      4.4753+-0.5385     ?      4.4849+-0.3313        ?
   hoist-poly-check-structure                         3.1894+-0.0537     ?      3.2617+-0.0828        ? might be 1.0227x slower
   imul-double-only                                   6.7939+-0.4081     ?      7.2358+-0.8276        ? might be 1.0651x slower
   imul-int-only                                      8.9048+-0.8455            8.1757+-0.2743          might be 1.0892x faster
   imul-mixed                                         6.6031+-0.4097     ?      6.8957+-0.5789        ? might be 1.0443x slower
   in-four-cases                                     16.2204+-1.2562           16.1936+-0.9405        
   in-one-case-false                                  8.7146+-0.6285            8.7010+-0.3543        
   in-one-case-true                                   8.5498+-0.3815     ?      9.0774+-0.7581        ? might be 1.0617x slower
   in-two-cases                                       8.8425+-0.6496            8.8256+-0.3619        
   indexed-properties-in-objects                      2.9958+-0.3019            2.7664+-0.0527          might be 1.0829x faster
   infer-closure-const-then-mov-no-inline             3.2489+-0.1349            3.2427+-0.0922        
   infer-closure-const-then-mov                      17.5238+-0.4144     ?     17.8732+-0.4842        ? might be 1.0199x slower
   infer-closure-const-then-put-to-scope-no-inline   
                                                     12.1395+-0.5615           11.8581+-0.1924          might be 1.0237x faster
   infer-closure-const-then-put-to-scope             24.1640+-0.7216           23.9893+-0.4584        
   infer-closure-const-then-reenter-no-inline   
                                                     53.4968+-1.1598     ?     53.5332+-1.5640        ?
   infer-closure-const-then-reenter                  24.0221+-0.6190           23.9969+-0.2753        
   infer-constant-global-property                    31.8931+-2.0093           31.1590+-1.2222          might be 1.0236x faster
   infer-constant-property                            2.5698+-0.0772     ?      2.6031+-0.0709        ? might be 1.0130x slower
   infer-one-time-closure-ten-vars                    9.0645+-0.8550            8.7854+-0.3409          might be 1.0318x faster
   infer-one-time-closure-two-vars                    8.2507+-0.5361     ?      8.4159+-0.2874        ? might be 1.0200x slower
   infer-one-time-closure                             8.1318+-0.2054     ?      8.2144+-0.4658        ? might be 1.0102x slower
   infer-one-time-deep-closure                       13.2590+-0.7924           12.8795+-0.2290          might be 1.0295x faster
   inline-arguments-access                            4.0005+-0.2881     ?      4.1435+-0.2783        ? might be 1.0358x slower
   inline-arguments-aliased-access                    4.0032+-0.2799     ?      4.1799+-0.4470        ? might be 1.0441x slower
   inline-arguments-local-escape                      4.5880+-0.4949            4.2919+-0.2669          might be 1.0690x faster
   inline-get-scoped-var                              4.6175+-0.1888     ?      4.7461+-0.2735        ? might be 1.0279x slower
   inlined-put-by-id-transition                      10.1607+-1.0217     ?     10.4530+-0.8905        ? might be 1.0288x slower
   int-or-other-abs-then-get-by-val                   4.7682+-0.0458     ?      5.1167+-0.6116        ? might be 1.0731x slower
   int-or-other-abs-zero-then-get-by-val             16.5144+-0.8045           16.4062+-0.6289        
   int-or-other-add-then-get-by-val                   4.0459+-0.0954     ?      4.1252+-0.1824        ? might be 1.0196x slower
   int-or-other-add                                   4.8770+-0.0916     ?      4.9255+-0.0949        ?
   int-or-other-div-then-get-by-val                   3.7848+-0.1406     ?      3.9276+-0.2441        ? might be 1.0377x slower
   int-or-other-max-then-get-by-val                   4.1429+-0.1432            4.0680+-0.1470          might be 1.0184x faster
   int-or-other-min-then-get-by-val                   4.2741+-0.2279            4.1191+-0.1098          might be 1.0376x faster
   int-or-other-mod-then-get-by-val                   3.4909+-0.0859     ?      3.5928+-0.3685        ? might be 1.0292x slower
   int-or-other-mul-then-get-by-val                   3.7795+-0.2048            3.6820+-0.1162          might be 1.0265x faster
   int-or-other-neg-then-get-by-val                   4.3761+-0.1499            4.3751+-0.1939        
   int-or-other-neg-zero-then-get-by-val             16.8457+-0.5792           16.4021+-0.3421          might be 1.0270x faster
   int-or-other-sub-then-get-by-val                   4.0293+-0.1119     ?      4.4473+-0.8107        ? might be 1.1037x slower
   int-or-other-sub                                   3.4258+-0.2533     ?      3.6146+-0.5609        ? might be 1.0551x slower
   int-overflow-local                                 4.3879+-0.2968            4.0895+-0.1212          might be 1.0730x faster
   Int16Array-alloc-long-lived                       47.3970+-2.7082           46.4593+-2.3605          might be 1.0202x faster
   Int16Array-bubble-sort-with-byteLength            18.2376+-0.5570           17.4799+-0.2591          might be 1.0433x faster
   Int16Array-bubble-sort                            17.5588+-0.3331           17.4849+-0.3113        
   Int16Array-load-int-mul                            1.4047+-0.0593     ?      1.4112+-0.0864        ?
   Int16Array-to-Int32Array-set                      47.2113+-2.4555           46.2984+-1.2754          might be 1.0197x faster
   Int32Array-alloc-large                            13.4160+-1.5318           12.5693+-0.5207          might be 1.0674x faster
   Int32Array-alloc-long-lived                       56.0865+-5.7028           51.5915+-2.8652          might be 1.0871x faster
   Int32Array-alloc                                   3.2741+-0.6467            2.9731+-0.4771          might be 1.1012x faster
   Int32Array-Int8Array-view-alloc                    6.2072+-0.2253     ?      6.2992+-0.0947        ? might be 1.0148x slower
   int52-spill                                        6.1930+-0.5481            6.0498+-0.2707          might be 1.0237x faster
   Int8Array-alloc-long-lived                        42.6370+-1.5805     ?     43.6062+-2.3511        ? might be 1.0227x slower
   Int8Array-load-with-byteLength                     3.6861+-0.3571            3.5717+-0.3485          might be 1.0320x faster
   Int8Array-load                                     3.5367+-0.5029            3.3553+-0.0803          might be 1.0541x faster
   integer-divide                                    10.8437+-0.3235     ?     10.9915+-0.3429        ? might be 1.0136x slower
   integer-modulo                                     1.6750+-0.0881     ?      1.6802+-0.0710        ?
   large-int-captured                                 5.0495+-0.3427     ?      5.1034+-0.2086        ? might be 1.0107x slower
   large-int-neg                                     15.2710+-1.0538           15.1453+-0.8531        
   large-int                                         14.2634+-0.3110     ?     14.7625+-0.7109        ? might be 1.0350x slower
   logical-not                                        4.2077+-0.0679     ?      4.3075+-0.2118        ? might be 1.0237x slower
   lots-of-fields                                    10.5186+-0.8063     ?     10.8567+-0.7571        ? might be 1.0321x slower
   make-indexed-storage                               2.9126+-0.1316     ?      3.1215+-0.1897        ? might be 1.0717x slower
   make-rope-cse                                      3.9254+-0.4837            3.8067+-0.1298          might be 1.0312x faster
   marsaglia-larger-ints                             35.3390+-3.0543           33.6873+-0.6071          might be 1.0490x faster
   marsaglia-osr-entry                               21.2856+-0.6825     ?     22.5553+-1.7285        ? might be 1.0596x slower
   max-boolean                                        2.6908+-0.0776            2.6394+-0.0624          might be 1.0195x faster
   method-on-number                                  16.5206+-1.4855           16.1541+-0.6653          might be 1.0227x faster
   min-boolean                                        2.6788+-0.0364            2.6558+-0.1179        
   minus-boolean-double                               3.1434+-0.2148     ?      3.3782+-0.5752        ? might be 1.0747x slower
   minus-boolean                                      2.3353+-0.1345     ?      2.3583+-0.0796        ?
   misc-strict-eq                                    31.5971+-3.3080     ?     31.7144+-2.5371        ?
   mod-boolean-double                                11.6461+-0.7653           11.4479+-0.1887          might be 1.0173x faster
   mod-boolean                                        8.5694+-0.1282     ?      8.6840+-0.2908        ? might be 1.0134x slower
   mul-boolean-double                                 3.7699+-0.1779            3.6695+-0.1799          might be 1.0274x faster
   mul-boolean                                        2.9768+-0.3235            2.8047+-0.0691          might be 1.0614x faster
   neg-boolean                                        3.1166+-0.2209     ?      3.2095+-0.4366        ? might be 1.0298x slower
   negative-zero-divide                               0.2922+-0.0132     ?      0.3022+-0.0177        ? might be 1.0341x slower
   negative-zero-modulo                               0.3020+-0.0229     ?      0.3271+-0.0832        ? might be 1.0834x slower
   negative-zero-negate                               0.3206+-0.0953            0.2767+-0.0144          might be 1.1590x faster
   nested-function-parsing                           33.2330+-0.5923     ?     34.6573+-1.8738        ? might be 1.0429x slower
   new-array-buffer-dead                              2.8084+-0.1177            2.7625+-0.0805          might be 1.0166x faster
   new-array-buffer-push                              6.5778+-1.1399            6.0111+-0.1846          might be 1.0943x faster
   new-array-dead                                     9.3390+-0.2585     ?      9.3866+-0.2448        ?
   new-array-push                                     3.4980+-0.1000            3.4767+-0.1690        
   no-inline-constructor                            104.2046+-2.0748     ^     99.1365+-1.6528        ^ definitely 1.0511x faster
   number-test                                        2.8665+-0.2726            2.8520+-0.0884        
   object-closure-call                                4.8632+-0.1233     ?      5.0229+-0.1426        ? might be 1.0328x slower
   object-test                                        2.9804+-0.5016            2.8392+-0.0860          might be 1.0497x faster
   obvious-sink-pathology-taken                     109.1981+-4.2485          108.8920+-3.6015        
   obvious-sink-pathology                           101.8260+-4.8161     ?    102.2931+-3.2325        ?
   obviously-elidable-new-object                     29.3339+-0.8868     ?     30.0793+-2.0566        ? might be 1.0254x slower
   plus-boolean-arith                                 2.3568+-0.0305            2.3378+-0.0389        
   plus-boolean-double                                3.0899+-0.1082     ?      3.1982+-0.2433        ? might be 1.0351x slower
   plus-boolean                                       2.6943+-0.4313            2.5338+-0.0313          might be 1.0634x faster
   poly-chain-access-different-prototypes-simple   
                                                      2.7225+-0.0673            2.6884+-0.0430          might be 1.0127x faster
   poly-chain-access-different-prototypes             2.5248+-0.0720     ?      2.6799+-0.4172        ? might be 1.0614x slower
   poly-chain-access-simpler                          2.7139+-0.0495            2.6768+-0.0273          might be 1.0138x faster
   poly-chain-access                                  2.4696+-0.0374     ?      2.6811+-0.2853        ? might be 1.0856x slower
   poly-stricteq                                     49.0265+-1.9175           48.7370+-2.3467        
   polymorphic-array-call                             1.1368+-0.1067     ?      1.3953+-0.3474        ? might be 1.2274x slower
   polymorphic-get-by-id                              2.9572+-0.3490            2.9211+-0.2287          might be 1.0124x faster
   polymorphic-put-by-id                             25.1311+-1.0029     ?     26.5155+-2.2912        ? might be 1.0551x slower
   polymorphic-structure                             13.4222+-0.0724     ?     13.7797+-0.9442        ? might be 1.0266x slower
   polyvariant-monomorphic-get-by-id                  6.7347+-0.7173     ?      7.3619+-0.3826        ? might be 1.0931x slower
   proto-getter-access                                9.3525+-0.3926            9.2690+-0.2964        
   put-by-id-replace-and-transition                   8.0773+-1.1979     ?      8.7051+-0.8021        ? might be 1.0777x slower
   put-by-id-slightly-polymorphic                     2.6502+-0.2033     ?      2.6683+-0.1497        ?
   put-by-id                                          9.9354+-0.6552     ?     10.4067+-1.1075        ? might be 1.0474x slower
   put-by-val-direct                                  0.3984+-0.0393     ?      0.4167+-0.0757        ? might be 1.0460x slower
   put-by-val-large-index-blank-indexing-type   
                                                      5.4278+-0.3129            5.2504+-0.2056          might be 1.0338x faster
   put-by-val-machine-int                             2.3900+-0.1358     ?      2.4824+-0.1353        ? might be 1.0387x slower
   rare-osr-exit-on-local                            15.0614+-0.5574     ?     15.0756+-0.4121        ?
   register-pressure-from-osr                        17.2441+-0.2085     ?     17.5985+-0.7247        ? might be 1.0206x slower
   setter                                             5.6403+-0.2233     ?      5.6740+-0.2026        ?
   simple-activation-demo                            25.5746+-1.0131           25.0949+-0.8342          might be 1.0191x faster
   simple-getter-access                              12.2058+-0.4435     ?     12.6913+-0.4785        ? might be 1.0398x slower
   simple-poly-call-nested                            9.0664+-0.5427     ?      9.3857+-0.5053        ? might be 1.0352x slower
   simple-poly-call                                   1.2444+-0.1428            1.1978+-0.0678          might be 1.0389x faster
   sin-boolean                                       18.5880+-0.7338     ?     19.7125+-3.2179        ? might be 1.0605x slower
   singleton-scope                                   63.9209+-1.1289     ?     69.0076+-4.5615        ? might be 1.0796x slower
   sinkable-new-object-dag                           58.8492+-2.4413     ?     59.4607+-2.1354        ? might be 1.0104x slower
   sinkable-new-object-taken                         46.8191+-1.7058     ?     47.8025+-2.0966        ? might be 1.0210x slower
   sinkable-new-object                               32.7854+-2.6706           32.0248+-1.6447          might be 1.0237x faster
   slow-array-profile-convergence                     2.5002+-0.0934     ?      2.7700+-0.4286        ? might be 1.1079x slower
   slow-convergence                                   2.4597+-0.0738            2.3134+-0.1249          might be 1.0632x faster
   sorting-benchmark                                 19.9068+-0.2240     ?     20.5193+-1.0230        ? might be 1.0308x slower
   sparse-conditional                                 1.4491+-0.6226            1.0806+-0.0668          might be 1.3409x faster
   splice-to-remove                                  14.7258+-1.2575           14.4904+-0.7576          might be 1.0162x faster
   string-char-code-at                               15.4672+-0.9344           15.2467+-0.6643          might be 1.0145x faster
   string-concat-object                               2.2537+-0.2272     ?      2.6590+-0.9789        ? might be 1.1798x slower
   string-concat-pair-object                          2.2893+-0.3090            2.2187+-0.1886          might be 1.0318x faster
   string-concat-pair-simple                          9.7191+-0.4734            9.5822+-0.8515          might be 1.0143x faster
   string-concat-simple                              10.1916+-0.7071            9.5281+-0.4320          might be 1.0696x faster
   string-cons-repeat                                 7.9585+-1.6298            6.7456+-0.1736          might be 1.1798x faster
   string-cons-tower                                  7.4580+-1.1617            7.0392+-0.1557          might be 1.0595x faster
   string-equality                                   16.0351+-0.2221     !     16.7319+-0.4130        ! definitely 1.0435x slower
   string-get-by-val-big-char                         6.6435+-0.2092     ?      6.6755+-0.0481        ?
   string-get-by-val-out-of-bounds-insane             3.2417+-0.1668     ?      3.3169+-0.1166        ? might be 1.0232x slower
   string-get-by-val-out-of-bounds                    4.1405+-0.1076            4.0271+-0.0812          might be 1.0282x faster
   string-get-by-val                                  2.8062+-0.0442     ?      2.8787+-0.1245        ? might be 1.0258x slower
   string-hash                                        1.9552+-0.1858            1.9231+-0.2480          might be 1.0167x faster
   string-long-ident-equality                        13.0693+-0.3431     ?     13.4061+-0.3947        ? might be 1.0258x slower
   string-out-of-bounds                              10.9115+-0.7506           10.8110+-0.2618        
   string-repeat-arith                               26.7191+-0.6456     ?     27.5263+-1.9874        ? might be 1.0302x slower
   string-sub                                        53.5263+-1.6492     ?     56.2571+-2.6641        ? might be 1.0510x slower
   string-test                                        2.7769+-0.1744     ?      2.7997+-0.1983        ?
   string-var-equality                               29.4113+-1.9757           28.4253+-0.4293          might be 1.0347x faster
   structure-hoist-over-transitions                   2.4623+-0.2014            2.4500+-0.1623        
   substring-concat-weird                            36.8912+-1.3354           35.2205+-0.8419          might be 1.0474x faster
   substring-concat                                  38.8551+-2.4629     ?     39.5187+-2.0650        ? might be 1.0171x slower
   substring                                         46.2646+-1.7581           44.6912+-2.0713          might be 1.0352x faster
   switch-char-constant                               2.6680+-0.0617     ?      2.6681+-0.0656        ?
   switch-char                                        5.8882+-0.4737     ?      5.9835+-0.6203        ? might be 1.0162x slower
   switch-constant                                    9.1012+-1.1006     ?      9.1058+-1.2670        ?
   switch-string-basic-big-var                       13.0252+-0.4685     ?     13.0297+-0.3670        ?
   switch-string-basic-big                           12.8772+-0.4670           12.6339+-0.3871          might be 1.0193x faster
   switch-string-basic-var                           12.8571+-0.3752     ?     13.0862+-0.5744        ? might be 1.0178x slower
   switch-string-basic                               12.1924+-0.6081           12.0900+-0.4339        
   switch-string-big-length-tower-var                20.3615+-1.6314           19.6175+-0.9637          might be 1.0379x faster
   switch-string-length-tower-var                    12.9881+-0.3557     ?     13.4435+-0.7649        ? might be 1.0351x slower
   switch-string-length-tower                        11.7023+-0.5308     ?     11.8256+-0.4900        ? might be 1.0105x slower
   switch-string-short                               11.6604+-0.4084     ?     11.6877+-0.3913        ?
   switch                                            12.4290+-0.9163           12.2851+-0.7363          might be 1.0117x faster
   tear-off-arguments-simple                          3.2252+-0.5540            3.0012+-0.1448          might be 1.0746x faster
   tear-off-arguments                                 4.2032+-0.3144     ?      4.3772+-0.5108        ? might be 1.0414x slower
   temporal-structure                                12.3700+-0.3469     ?     12.6705+-0.6450        ? might be 1.0243x slower
   to-int32-boolean                                  13.3471+-0.2406           13.1847+-0.1359          might be 1.0123x faster
   try-catch-get-by-val-cloned-arguments             13.7401+-0.3703           13.3313+-0.3802          might be 1.0307x faster
   try-catch-get-by-val-direct-arguments              6.3034+-0.4698            6.1811+-0.6207          might be 1.0198x faster
   try-catch-get-by-val-scoped-arguments              7.8293+-1.2211            7.3152+-0.3743          might be 1.0703x faster
   undefined-property-access                        226.4645+-8.5065          223.6179+-5.5732          might be 1.0127x faster
   undefined-test                                     3.0068+-0.2926            2.8947+-0.1102          might be 1.0387x faster
   unprofiled-licm                                   14.8773+-0.5714     ?     15.2408+-1.3751        ? might be 1.0244x slower
   varargs-call                                      14.2415+-0.6159           14.1943+-0.3577        
   varargs-construct-inline                          18.7820+-0.6174     ?     19.5693+-1.0432        ? might be 1.0419x slower
   varargs-construct                                 31.5388+-1.0827     ?     32.6742+-1.4529        ? might be 1.0360x slower
   varargs-inline                                     8.8014+-0.7807     ?      8.9588+-0.4630        ? might be 1.0179x slower
   varargs-strict-mode                                9.3868+-0.2783     ?      9.4275+-0.2660        ?
   varargs                                            9.6763+-0.5520            9.2418+-0.2038          might be 1.0470x faster
   weird-inlining-const-prop                          1.9808+-0.1732     ?      2.1261+-0.2840        ? might be 1.0734x slower

   <geometric>                                        7.8084+-0.0303     ?      7.8343+-0.0312        ? might be 1.0033x slower

                                                          Conf#1                    Conf#2                                      
AsmBench:
   bigfib.cpp                                       463.3702+-6.4697     ?    467.4141+-4.7488        ?
   cray.c                                           418.8826+-18.2133         409.0131+-3.6996          might be 1.0241x faster
   dry.c                                            440.6656+-23.0364    ?    447.0929+-13.8954       ? might be 1.0146x slower
   FloatMM.c                                        722.2202+-13.1661         718.7134+-8.7176        
   gcc-loops.cpp                                   3671.1379+-31.7635        3664.4146+-19.2404       
   n-body.c                                         857.9115+-12.6585    ?    865.0992+-12.0665       ?
   Quicksort.c                                      416.8713+-20.4731    ?    422.2262+-23.8556       ? might be 1.0128x slower
   stepanov_container.cpp                          3841.0628+-71.4988    ?   3848.5145+-49.2268       ?
   Towers.c                                         250.0525+-3.2630          247.6178+-3.5322        

   <geometric>                                      752.8638+-10.2810    ?    753.4253+-5.8840        ? might be 1.0007x slower

                                                          Conf#1                    Conf#2                                      
CompressionBench:
   huffman                                          317.0789+-9.5755     ?    328.8267+-4.4989        ? might be 1.0370x slower
   arithmetic-simple                                360.2041+-8.9787          356.4766+-5.1464          might be 1.0105x faster
   arithmetic-precise                               274.7274+-7.8083     ?    277.0234+-6.3220        ?
   arithmetic-complex-precise                       272.8705+-4.3761     ?    274.2039+-3.4109        ?
   arithmetic-precise-order-0                       373.5639+-5.0691     ?    379.2192+-7.1383        ? might be 1.0151x slower
   arithmetic-precise-order-1                       313.5288+-6.4897          310.0246+-1.9832          might be 1.0113x faster
   arithmetic-precise-order-2                       350.1953+-5.7512     ?    353.9706+-6.3965        ? might be 1.0108x slower
   arithmetic-simple-order-1                        346.3776+-1.8501          344.3650+-3.2373        
   arithmetic-simple-order-2                        402.6695+-14.8484    ?    408.6294+-10.3885       ? might be 1.0148x slower
   lz-string                                        361.6016+-20.1777         358.8073+-16.1366       

   <geometric>                                      334.7346+-2.0089     ?    336.6172+-1.9735        ? might be 1.0056x slower

                                                          Conf#1                    Conf#2                                      
Geomean of preferred means:
   <scaled-result>                                   58.3083+-0.3133     ?     58.5072+-0.1621        ? might be 1.0034x slower
Comment 6 Filip Pizlo 2015-04-16 16:54:41 PDT
(In reply to comment #5)
> Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken,
> JSRegress, AsmBench, and CompressionBench on Basiles-MacBook-Pro
> (MacBookPro11,3).
> 
> VMs tested:
> "Conf#1" at /Volumes/Data/Baseline/OpenSource/WebKitBuild/Release/jsc
> (r182899)
> "Conf#2" at /Volumes/Data/WIP/OpenSource/WebKitBuild/Release/jsc (r182899)
> 
> 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.
> 
>                                                           Conf#1            
> Conf#2                                      
> SunSpider:
>    3d-cube                                            4.5990+-0.4221        
> 4.5580+-0.4000        
>    3d-morph                                           5.3000+-0.2380     ?  
> 5.7707+-0.5599        ? might be 1.0888x slower
>    3d-raytrace                                        5.2030+-0.1255        
> 5.1391+-0.1589          might be 1.0124x faster
>    access-binary-trees                                2.0130+-0.1379     ?  
> 2.1147+-0.2031        ? might be 1.0505x slower
>    access-fannkuch                                    5.2538+-0.2003        
> 5.1330+-0.0866          might be 1.0235x faster
>    access-nbody                                       2.4436+-0.0668     ?  
> 2.5848+-0.1917        ? might be 1.0578x slower
>    access-nsieve                                      3.0695+-0.0978        
> 3.0288+-0.0482          might be 1.0134x faster
>    bitops-3bit-bits-in-byte                           1.4302+-0.0547     ?  
> 1.4372+-0.0600        ?
>    bitops-bits-in-byte                                3.1510+-0.0900     ?  
> 3.1742+-0.0953        ?
>    bitops-bitwise-and                                 1.9744+-0.0459     ?  
> 2.0336+-0.0831        ? might be 1.0300x slower
>    bitops-nsieve-bits                                 3.3628+-0.2180        
> 3.3339+-0.1496        
>    controlflow-recursive                              2.1097+-0.5539        
> 1.9800+-0.1972          might be 1.0655x faster
>    crypto-aes                                         3.6970+-0.3664        
> 3.6661+-0.3406        
>    crypto-md5                                         2.1835+-0.1504     ?  
> 2.1943+-0.1653        ?
>    crypto-sha1                                        2.3311+-0.2203     ?  
> 2.4919+-0.2643        ? might be 1.0690x slower
>    date-format-tofte                                  7.1383+-0.8088        
> 6.8739+-0.4691          might be 1.0385x faster
>    date-format-xparb                                  4.5496+-0.4182     ?  
> 4.9247+-0.3355        ? might be 1.0824x slower
>    math-cordic                                        2.8370+-0.1048     ?  
> 2.9555+-0.2449        ? might be 1.0418x slower
>    math-partial-sums                                  4.6330+-0.3963        
> 4.4578+-0.0867          might be 1.0393x faster
>    math-spectral-norm                                 1.9716+-0.2931        
> 1.7439+-0.0396          might be 1.1306x faster
>    regexp-dna                                         6.2935+-0.2762     ?  
> 6.4294+-0.3350        ? might be 1.0216x slower
>    string-base64                                      4.4842+-0.4132        
> 4.1725+-0.0447          might be 1.0747x faster
>    string-fasta                                       5.9849+-0.1679     ?  
> 6.0536+-0.2466        ? might be 1.0115x slower
>    string-tagcloud                                    9.1351+-0.3214        
> 8.9260+-0.3835          might be 1.0234x faster
>    string-unpack-code                                19.3884+-1.0826     ?  
> 19.4414+-0.8618        ?
>    string-validate-input                              4.6764+-0.1425     ^  
> 4.4034+-0.0963        ^ definitely 1.0620x faster
> 
>    <arithmetic>                                       4.5851+-0.0275        
> 4.5778+-0.0672          might be 1.0016x faster
> 
>                                                           Conf#1            
> Conf#2                                      
> LongSpider:
>    3d-cube                                          803.0699+-19.4063    ?  
> 809.0305+-22.9386       ?
>    3d-morph                                        1564.8647+-9.0996     ?  
> 1592.0244+-36.2075       ? might be 1.0174x slower
>    3d-raytrace                                      683.3388+-7.9320     ?  
> 689.4224+-19.0132       ?
>    access-binary-trees                              875.1529+-11.8724       
> 875.0818+-10.3352       
>    access-fannkuch                                  272.9062+-2.2378     ?  
> 276.8879+-9.3927        ? might be 1.0146x slower
>    access-nbody                                     570.1220+-7.6976     ?  
> 572.7385+-5.7348        ?
>    access-nsieve                                    671.2916+-11.8369       
> 663.4910+-11.6132         might be 1.0118x faster
>    bitops-3bit-bits-in-byte                          42.5070+-1.2714     ?  
> 42.7292+-0.9330        ?
>    bitops-bits-in-byte                               90.3566+-5.8304     ?  
> 92.7364+-10.6011       ? might be 1.0263x slower
>    bitops-nsieve-bits                               702.1930+-15.8141       
> 701.4176+-27.2682       
>    controlflow-recursive                            477.7046+-9.0323        
> 469.2044+-4.1564          might be 1.0181x faster
>    crypto-aes                                       579.1833+-13.0341       
> 578.3113+-9.3444        
>    crypto-md5                                       549.2771+-7.2576     ?  
> 549.8418+-12.2125       ?
>    crypto-sha1                                      589.8635+-5.6536     ?  
> 598.7798+-19.0848       ? might be 1.0151x slower
>    date-format-tofte                                526.1929+-8.1329     ?  
> 532.0518+-11.3256       ? might be 1.0111x slower
>    date-format-xparb                                681.3737+-32.6099       
> 650.3320+-6.2473          might be 1.0477x faster
>    math-cordic                                      520.5151+-2.9877     ?  
> 523.9935+-4.3744        ?
>    math-partial-sums                                441.5575+-17.0293       
> 440.5492+-8.6003        
>    math-spectral-norm                               585.5274+-13.4977       
> 574.2784+-3.4286          might be 1.0196x faster
>    string-base64                                    334.0148+-3.9755     ?  
> 336.6573+-9.9106        ?
>    string-fasta                                     385.5599+-4.3994     ?  
> 392.4106+-17.3611       ? might be 1.0178x slower
>    string-tagcloud                                  205.2707+-4.4528     ?  
> 207.0415+-3.9943        ?
> 
>    <geometric>                                      450.5265+-2.6040     ?  
> 451.4909+-2.5574        ? might be 1.0021x slower
> 
>                                                           Conf#1            
> Conf#2                                      
> V8Spider:
>    crypto                                            54.0365+-1.3280        
> 52.2855+-3.1355          might be 1.0335x faster
>    deltablue                                         83.9845+-5.3576     ?  
> 88.6670+-8.8956        ? might be 1.0558x slower
>    earley-boyer                                      43.1970+-2.9738        
> 40.6932+-1.0516          might be 1.0615x faster
>    raytrace                                          33.5772+-1.7996        
> 32.2699+-1.9154          might be 1.0405x faster
>    regexp                                            59.2108+-2.3339     ?  
> 61.2446+-2.4999        ? might be 1.0343x slower
>    richards                                          73.3956+-2.4970        
> 72.6655+-2.8048          might be 1.0100x faster
>    splay                                             35.4069+-1.8101     ?  
> 38.1630+-2.1307        ? might be 1.0778x slower
> 
>    <geometric>                                       51.8508+-1.2358     ?  
> 51.9804+-0.7505        ? might be 1.0025x slower
> 
>                                                           Conf#1            
> Conf#2                                      
> Octane:
>    encrypt                                           0.20654+-0.00216       
> 0.20399+-0.00331         might be 1.0125x faster
>    decrypt                                           3.68884+-0.13734       
> 3.63728+-0.11008         might be 1.0142x faster
>    deltablue                                x2       0.16711+-0.00213    ?  
> 0.16839+-0.00228       ?
>    earley                                            0.48790+-0.00581    ^  
> 0.45680+-0.00475       ^ definitely 1.0681x faster

Awesome!  I was hoping for this speed-up.

>    boyer                                             5.94139+-0.14081    ?  
> 5.96870+-0.22438       ?
>    navier-stokes                            x2       5.29282+-0.07064       
> 5.28472+-0.05824       
>    raytrace                                 x2       1.01948+-0.01012    ?  
> 1.08758+-0.07561       ? might be 1.0668x slower
>    richards                                 x2       0.09749+-0.00287    ?  
> 0.09881+-0.00126       ? might be 1.0136x slower
>    splay                                    x2       0.36818+-0.00904    ?  
> 0.36949+-0.00561       ?
>    regexp                                   x2      29.75310+-0.29887    ?  
> 33.22591+-9.28795       ? might be 1.1167x slower

The Conf#2 regexp number looks super noisy - maybe there was a hickup when you ran this.  You can rerun Octane by passing --octane, just to make sure.

>    pdfjs                                    x2      40.68228+-0.48934       
> 40.56041+-0.44654       
>    mandreel                                 x2      47.57093+-0.91062    ?  
> 47.79446+-0.59973       ?
>    gbemu                                    x2      32.51786+-0.42407    ?  
> 34.14483+-2.56798       ? might be 1.0500x slower
>    closure                                           0.51076+-0.00803    ?  
> 0.51717+-0.01498       ? might be 1.0125x slower
>    jquery                                            6.33312+-0.10046    ?  
> 6.36897+-0.07959       ?
>    box2d                                    x2      10.76840+-0.20003       
> 10.72413+-0.10087       
>    zlib                                     x2     364.63312+-21.52860   ?  
> 370.22668+-16.85547      ? might be 1.0153x slower
>    typescript                               x2     677.01628+-10.09086      
> 671.84550+-16.64095      
> 
>    <geometric>                                       5.96377+-0.03872    ?  
> 6.04088+-0.11905       ? might be 1.0129x slower
> 
>                                                           Conf#1            
> Conf#2                                      
> Kraken:
>    ai-astar                                          286.006+-6.358      ?  
> 289.807+-14.165        ? might be 1.0133x slower
>    audio-beat-detection                              103.218+-1.358      ?  
> 103.284+-2.454         ?
>    audio-dft                                         171.470+-6.639         
> 168.479+-5.258           might be 1.0178x faster
>    audio-fft                                          82.698+-3.331         
> 81.769+-1.331           might be 1.0114x faster
>    audio-oscillator                                  189.286+-4.257         
> 187.925+-3.023         
>    imaging-darkroom                                   99.996+-1.531      ^  
> 96.974+-1.263         ^ definitely 1.0312x faster
>    imaging-desaturate                                 59.568+-2.109      ?  
> 60.793+-3.393         ? might be 1.0206x slower
>    imaging-gaussian-blur                              91.527+-2.680         
> 91.223+-2.118         
>    json-parse-financial                               40.964+-2.532         
> 38.903+-1.628           might be 1.0530x faster
>    json-stringify-tinderbox                           53.079+-3.025      ?  
> 53.270+-2.721         ?
>    stanford-crypto-aes                                59.757+-1.597         
> 59.332+-3.018         
>    stanford-crypto-ccm                                47.465+-4.762      ?  
> 52.497+-4.608         ? might be 1.1060x slower
>    stanford-crypto-pbkdf2                            152.617+-0.850      ?  
> 154.951+-2.227         ? might be 1.0153x slower
>    stanford-crypto-sha256-iterative                   50.950+-1.876      ?  
> 52.015+-4.015         ? might be 1.0209x slower
> 
>    <arithmetic>                                      106.329+-1.144      ?  
> 106.516+-0.966         ? might be 1.0018x slower
> 
>                                                           Conf#1            
> Conf#2                                      
> JSRegress:
>    abs-boolean                                        2.7480+-0.4438        
> 2.3927+-0.0552          might be 1.1485x faster
>    adapt-to-double-divide                            16.8929+-0.7533     ?  
> 17.2890+-0.8639        ? might be 1.0234x slower
>    aliased-arguments-getbyval                         1.2045+-0.0916        
> 1.1359+-0.0327          might be 1.0604x faster
>    allocate-big-object                                2.7470+-0.3407        
> 2.5776+-0.2086          might be 1.0657x faster
>    arguments-named-and-reflective                    11.7227+-0.6724        
> 11.2056+-0.5321          might be 1.0461x faster
>    arguments-out-of-bounds                           10.6211+-0.1652     ?  
> 10.9550+-0.8114        ? might be 1.0314x slower
>    arguments-strict-mode                             10.5998+-1.0592        
> 10.3425+-0.3434          might be 1.0249x faster
>    arguments                                          9.2973+-0.4011     ?  
> 9.5707+-1.0173        ? might be 1.0294x slower
>    arity-mismatch-inlining                            0.8181+-0.0546     ?  
> 0.8242+-0.0283        ?
>    array-access-polymorphic-structure                 6.2909+-0.5219        
> 6.2135+-0.1936          might be 1.0125x faster
>    array-nonarray-polymorhpic-access                 29.8688+-1.1692        
> 28.6213+-0.7186          might be 1.0436x faster
>    array-prototype-every                             84.4322+-4.7173     ?  
> 84.6002+-4.4236        ?
>    array-prototype-forEach                           79.9800+-2.3311     ?  
> 82.1193+-2.8389        ? might be 1.0267x slower
>    array-prototype-map                               89.8567+-3.8944     ?  
> 91.7608+-3.6254        ? might be 1.0212x slower
>    array-prototype-some                              82.8041+-1.3283     ?  
> 84.0225+-1.6694        ? might be 1.0147x slower
>    array-splice-contiguous                           43.7137+-2.7928     ^  
> 39.2650+-1.4598        ^ definitely 1.1133x faster
>    array-with-double-add                              3.3536+-0.0490     ?  
> 3.4866+-0.2506        ? might be 1.0397x slower
>    array-with-double-increment                        3.0107+-0.0857     ?  
> 3.0753+-0.1019        ? might be 1.0215x slower
>    array-with-double-mul-add                          4.2085+-0.1196     ?  
> 4.3105+-0.2434        ? might be 1.0242x slower
>    array-with-double-sum                              3.1305+-0.0575     ?  
> 3.2215+-0.0668        ? might be 1.0291x slower
>    array-with-int32-add-sub                           5.9574+-0.2820        
> 5.8525+-0.1278          might be 1.0179x faster
>    array-with-int32-or-double-sum                     3.2518+-0.1384     ?  
> 3.3018+-0.1600        ? might be 1.0154x slower
>    ArrayBuffer-DataView-alloc-large-long-lived   
>                                                      29.9264+-3.4862        
> 29.1947+-2.5537          might be 1.0251x faster
>    ArrayBuffer-DataView-alloc-long-lived             12.4987+-0.4142     ?  
> 13.1595+-0.8660        ? might be 1.0529x slower
>    ArrayBuffer-Int32Array-byteOffset                  3.8010+-0.4661        
> 3.6384+-0.0812          might be 1.0447x faster
>    ArrayBuffer-Int8Array-alloc-large-long-lived   
>                                                      29.2546+-2.1755     ?  
> 29.9987+-1.6036        ? might be 1.0254x slower
>    ArrayBuffer-Int8Array-alloc-long-lived-buffer   
>                                                      21.5986+-1.2087     ?  
> 22.6066+-1.4367        ? might be 1.0467x slower
>    ArrayBuffer-Int8Array-alloc-long-lived            12.2603+-0.9141     ?  
> 12.6168+-0.9715        ? might be 1.0291x slower
>    ArrayBuffer-Int8Array-alloc                       10.5776+-0.7337     ?  
> 10.5972+-0.8041        ?
>    asmjs_bool_bug                                     6.7557+-0.2707     ?  
> 6.9858+-0.3773        ? might be 1.0340x slower
>    assign-custom-setter-polymorphic                   2.5253+-0.1049     !  
> 2.8373+-0.2027        ! definitely 1.1235x slower
>    assign-custom-setter                               3.5640+-0.2274        
> 3.5006+-0.1931          might be 1.0181x faster
>    basic-set                                          8.4462+-0.3159     ^  
> 7.5940+-0.2815        ^ definitely 1.1122x faster
>    big-int-mul                                        3.5740+-0.1947     ?  
> 3.5913+-0.2012        ?
>    boolean-test                                       2.8243+-0.1023        
> 2.7772+-0.0515          might be 1.0169x faster
>    branch-fold                                        3.4902+-0.0507     ?  
> 3.5294+-0.0732        ? might be 1.0113x slower
>    by-val-generic                                     7.3203+-0.2307     ?  
> 7.8826+-0.9629        ? might be 1.0768x slower
>    call-spread-apply                                 28.2916+-1.0146     ?  
> 28.4963+-1.5479        ?
>    call-spread-call                                  21.9257+-0.6111     ?  
> 23.0448+-0.9835        ? might be 1.0510x slower
>    captured-assignments                               0.3754+-0.0294     ?  
> 0.4396+-0.1660        ? might be 1.1712x slower
>    cast-int-to-double                                 4.9582+-0.2255        
> 4.9142+-0.4035        
>    cell-argument                                      6.5584+-0.3514        
> 6.4486+-0.3642          might be 1.0170x faster
>    cfg-simplify                                       2.8680+-0.0554     ?  
> 2.9181+-0.0690        ? might be 1.0175x slower
>    chain-getter-access                                9.2376+-0.1841     ?  
> 9.3055+-0.1645        ?
>    cmpeq-obj-to-obj-other                            10.3249+-1.1233     ?  
> 11.4552+-0.9144        ? might be 1.1095x slower
>    constant-test                                      4.5785+-0.0876     ?  
> 4.6676+-0.1524        ? might be 1.0195x slower
>    create-lots-of-functions                          18.9207+-0.9808        
> 18.8655+-0.8375        

Weird that this didn't speed up, but I'm not going to lose sleep over it.

>    DataView-custom-properties                        34.2514+-1.9517        
> 33.9054+-2.2844          might be 1.0102x faster
>    deconstructing-parameters-overridden-by-function   
>                                                       0.4200+-0.0255        
> 0.4172+-0.0206        
>    delay-tear-off-arguments-strictmode               13.0027+-1.0279        
> 12.7358+-0.6904          might be 1.0210x faster
>    deltablue-varargs                                149.0005+-3.6472     ?  
> 150.4966+-3.5405        ? might be 1.0100x slower
>    destructuring-arguments                           13.7839+-0.5444     ?  
> 14.1349+-1.0686        ? might be 1.0255x slower
>    destructuring-swap                                 4.7524+-0.0771        
> 4.7107+-0.1501        
>    direct-arguments-getbyval                          1.1806+-0.0862     ?  
> 1.2484+-0.1862        ? might be 1.0574x slower
>    div-boolean-double                                 5.4690+-0.1892        
> 5.3942+-0.1219          might be 1.0139x faster
>    div-boolean                                        8.3518+-0.2142     ?  
> 8.4397+-0.2047        ? might be 1.0105x slower
>    double-get-by-val-out-of-bounds                    4.2427+-0.2607     ?  
> 4.3839+-0.2920        ? might be 1.0333x slower
>    double-pollution-getbyval                          9.0117+-0.2586     ?  
> 9.4095+-0.4854        ? might be 1.0442x slower
>    double-pollution-putbyoffset                       4.2609+-0.3763        
> 4.0723+-0.3965          might be 1.0463x faster
>    double-to-int32-typed-array-no-inline              2.0020+-0.1148     ?  
> 2.0867+-0.1236        ? might be 1.0423x slower
>    double-to-int32-typed-array                        1.6825+-0.0906     ?  
> 1.8558+-0.2524        ? might be 1.1030x slower
>    double-to-uint32-typed-array-no-inline             2.0839+-0.0905        
> 2.0732+-0.0478        
>    double-to-uint32-typed-array                       1.7563+-0.0410     ?  
> 1.8911+-0.1388        ? might be 1.0768x slower
>    elidable-new-object-dag                           36.4322+-1.9877     ?  
> 38.4146+-2.2599        ? might be 1.0544x slower
>    elidable-new-object-roflcopter                    39.5800+-3.2988     ?  
> 40.3142+-1.5844        ? might be 1.0185x slower
>    elidable-new-object-then-call                     32.8670+-0.7956     ?  
> 33.7900+-2.4622        ? might be 1.0281x slower
>    elidable-new-object-tree                          40.0287+-2.1967     ?  
> 40.1307+-2.5954        ?
>    empty-string-plus-int                              5.0966+-0.4203        
> 4.8264+-0.0872          might be 1.0560x faster
>    emscripten-cube2hash                              27.4349+-1.6436     ?  
> 28.9473+-1.3847        ? might be 1.0551x slower
>    exit-length-on-plain-object                       13.2412+-0.5283     ?  
> 13.6662+-0.6771        ? might be 1.0321x slower
>    external-arguments-getbyval                        1.3882+-0.2539        
> 1.1597+-0.0745          might be 1.1971x faster
>    external-arguments-putbyval                        2.2380+-0.4385        
> 2.1066+-0.1197          might be 1.0624x faster
>    fixed-typed-array-storage-var-index                1.1728+-0.0480     ?  
> 1.2301+-0.2000        ? might be 1.0489x slower
>    fixed-typed-array-storage                          0.8059+-0.0618        
> 0.7869+-0.0246          might be 1.0241x faster
>    Float32Array-matrix-mult                           3.8065+-0.0985     ?  
> 4.0284+-0.1859        ? might be 1.0583x slower
>    Float32Array-to-Float64Array-set                  50.2299+-1.2094     ?  
> 50.4268+-2.3526        ?
>    Float64Array-alloc-long-lived                     66.2428+-4.1969     ?  
> 69.7954+-3.8949        ? might be 1.0536x slower
>    Float64Array-to-Int16Array-set                    59.1003+-2.1973     ?  
> 63.7486+-4.1921        ? might be 1.0786x slower
>    fold-double-to-int                                13.1240+-1.1017        
> 12.9946+-0.4298        
>    fold-get-by-id-to-multi-get-by-offset-rare-int   
>                                                       9.5769+-0.4531        
> 9.5712+-0.5621        
>    fold-get-by-id-to-multi-get-by-offset              7.6045+-0.2872        
> 7.5236+-0.3723          might be 1.0107x faster
>    fold-multi-get-by-offset-to-get-by-offset   
>                                                       7.8856+-0.4022        
> 7.4326+-1.4994          might be 1.0609x faster
>    fold-multi-get-by-offset-to-poly-get-by-offset   
>                                                       7.1477+-1.2727     ?  
> 7.2024+-0.8092        ?
>    fold-multi-put-by-offset-to-poly-put-by-offset   
>                                                       6.8101+-0.5595        
> 6.7418+-1.0311          might be 1.0101x faster
>    fold-multi-put-by-offset-to-put-by-offset   
>                                                       4.2776+-1.0053     ?  
> 4.4882+-0.3999        ? might be 1.0492x slower
>    fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
>                                                       9.0651+-0.9331        
> 8.5602+-0.5205          might be 1.0590x faster
>    fold-put-by-id-to-multi-put-by-offset              8.6409+-0.8774        
> 8.2080+-0.5519          might be 1.0527x faster
>    fold-put-structure                                 4.2302+-0.5890        
> 3.8970+-0.3751          might be 1.0855x faster
>    for-of-iterate-array-entries                       4.1351+-0.1937     ?  
> 4.1656+-0.2959        ?
>    for-of-iterate-array-keys                          3.4547+-0.1565     ?  
> 3.6283+-0.4799        ? might be 1.0503x slower
>    for-of-iterate-array-values                        3.3615+-0.2701     ?  
> 3.4164+-0.2363        ? might be 1.0163x slower
>    fround                                            18.7360+-0.6884        
> 18.0425+-0.2313          might be 1.0384x faster
>    ftl-library-inlining-dataview                     59.7107+-1.0284     ?  
> 60.6379+-1.6045        ? might be 1.0155x slower
>    ftl-library-inlining                             113.0357+-1.0805     ?  
> 113.3408+-3.9464        ?
>    function-dot-apply                                 2.0549+-0.1545     ?  
> 2.1304+-0.1704        ? might be 1.0368x slower
>    function-test                                      2.9247+-0.1028     ?  
> 3.0096+-0.2812        ? might be 1.0290x slower
>    function-with-eval                                98.3656+-3.2450        
> 95.4508+-4.3330          might be 1.0305x faster
>    gcse-poly-get-less-obvious                        14.6366+-0.3455     ?  
> 14.9663+-0.5736        ? might be 1.0225x slower
>    gcse-poly-get                                     16.5342+-0.4340        
> 16.4926+-0.5500        
>    gcse                                               3.8509+-0.0942     ?  
> 4.0758+-0.3135        ? might be 1.0584x slower
>    get-by-id-bimorphic-check-structure-elimination-simple   
>                                                       2.6150+-0.0713     ?  
> 2.9797+-0.4114        ? might be 1.1395x slower
>    get-by-id-bimorphic-check-structure-elimination   
>                                                       5.7497+-0.1264     ?  
> 5.8299+-0.1380        ? might be 1.0139x slower
>    get-by-id-chain-from-try-block                     6.7911+-0.4547        
> 6.7316+-0.5497        
>    get-by-id-check-structure-elimination              4.5090+-0.2174        
> 4.4187+-0.1527          might be 1.0204x faster
>    get-by-id-proto-or-self                           14.6354+-0.8275     ?  
> 14.9453+-0.5930        ? might be 1.0212x slower
>    get-by-id-quadmorphic-check-structure-elimination-simple   
>                                                       2.8881+-0.0596     ?  
> 2.9364+-0.0563        ? might be 1.0167x slower
>    get-by-id-self-or-proto                           15.6650+-1.5602        
> 14.5909+-0.3865          might be 1.0736x faster
>    get-by-val-out-of-bounds                           4.1775+-0.2754        
> 3.9650+-0.1570          might be 1.0536x faster
>    get_callee_monomorphic                             3.2670+-0.5239        
> 3.2102+-0.1951          might be 1.0177x faster
>    get_callee_polymorphic                             3.3111+-0.2381     ?  
> 3.7052+-0.6147        ? might be 1.1190x slower
>    getter-no-activation                               4.8610+-0.1775        
> 4.7294+-0.0508          might be 1.0278x faster
>    getter-richards                                  119.8239+-10.7413       
> 113.8175+-7.1069          might be 1.0528x faster
>    getter                                             5.5036+-0.4508        
> 5.4344+-0.4854          might be 1.0127x faster
>    global-var-const-infer-fire-from-opt               0.8310+-0.0785     ?  
> 0.9010+-0.1613        ? might be 1.0843x slower
>    global-var-const-infer                             0.8368+-0.0923     ?  
> 0.8814+-0.2145        ? might be 1.0533x slower
>    HashMap-put-get-iterate-keys                      24.5553+-0.7970        
> 24.2126+-0.7866          might be 1.0142x faster
>    HashMap-put-get-iterate                           24.5605+-1.1128        
> 24.5103+-0.6654        
>    HashMap-string-put-get-iterate                    24.7011+-0.5622     ?  
> 26.0255+-1.1568        ? might be 1.0536x slower
>    hoist-make-rope                                    8.6155+-0.9475     ?  
> 8.9034+-1.1139        ? might be 1.0334x slower
>    hoist-poly-check-structure-effectful-loop   
>                                                       4.4753+-0.5385     ?  
> 4.4849+-0.3313        ?
>    hoist-poly-check-structure                         3.1894+-0.0537     ?  
> 3.2617+-0.0828        ? might be 1.0227x slower
>    imul-double-only                                   6.7939+-0.4081     ?  
> 7.2358+-0.8276        ? might be 1.0651x slower
>    imul-int-only                                      8.9048+-0.8455        
> 8.1757+-0.2743          might be 1.0892x faster
>    imul-mixed                                         6.6031+-0.4097     ?  
> 6.8957+-0.5789        ? might be 1.0443x slower
>    in-four-cases                                     16.2204+-1.2562        
> 16.1936+-0.9405        
>    in-one-case-false                                  8.7146+-0.6285        
> 8.7010+-0.3543        
>    in-one-case-true                                   8.5498+-0.3815     ?  
> 9.0774+-0.7581        ? might be 1.0617x slower
>    in-two-cases                                       8.8425+-0.6496        
> 8.8256+-0.3619        
>    indexed-properties-in-objects                      2.9958+-0.3019        
> 2.7664+-0.0527          might be 1.0829x faster
>    infer-closure-const-then-mov-no-inline             3.2489+-0.1349        
> 3.2427+-0.0922        
>    infer-closure-const-then-mov                      17.5238+-0.4144     ?  
> 17.8732+-0.4842        ? might be 1.0199x slower
>    infer-closure-const-then-put-to-scope-no-inline   
>                                                      12.1395+-0.5615        
> 11.8581+-0.1924          might be 1.0237x faster
>    infer-closure-const-then-put-to-scope             24.1640+-0.7216        
> 23.9893+-0.4584        
>    infer-closure-const-then-reenter-no-inline   
>                                                      53.4968+-1.1598     ?  
> 53.5332+-1.5640        ?
>    infer-closure-const-then-reenter                  24.0221+-0.6190        
> 23.9969+-0.2753        
>    infer-constant-global-property                    31.8931+-2.0093        
> 31.1590+-1.2222          might be 1.0236x faster
>    infer-constant-property                            2.5698+-0.0772     ?  
> 2.6031+-0.0709        ? might be 1.0130x slower
>    infer-one-time-closure-ten-vars                    9.0645+-0.8550        
> 8.7854+-0.3409          might be 1.0318x faster
>    infer-one-time-closure-two-vars                    8.2507+-0.5361     ?  
> 8.4159+-0.2874        ? might be 1.0200x slower
>    infer-one-time-closure                             8.1318+-0.2054     ?  
> 8.2144+-0.4658        ? might be 1.0102x slower
>    infer-one-time-deep-closure                       13.2590+-0.7924        
> 12.8795+-0.2290          might be 1.0295x faster
>    inline-arguments-access                            4.0005+-0.2881     ?  
> 4.1435+-0.2783        ? might be 1.0358x slower
>    inline-arguments-aliased-access                    4.0032+-0.2799     ?  
> 4.1799+-0.4470        ? might be 1.0441x slower
>    inline-arguments-local-escape                      4.5880+-0.4949        
> 4.2919+-0.2669          might be 1.0690x faster
>    inline-get-scoped-var                              4.6175+-0.1888     ?  
> 4.7461+-0.2735        ? might be 1.0279x slower
>    inlined-put-by-id-transition                      10.1607+-1.0217     ?  
> 10.4530+-0.8905        ? might be 1.0288x slower
>    int-or-other-abs-then-get-by-val                   4.7682+-0.0458     ?  
> 5.1167+-0.6116        ? might be 1.0731x slower
>    int-or-other-abs-zero-then-get-by-val             16.5144+-0.8045        
> 16.4062+-0.6289        
>    int-or-other-add-then-get-by-val                   4.0459+-0.0954     ?  
> 4.1252+-0.1824        ? might be 1.0196x slower
>    int-or-other-add                                   4.8770+-0.0916     ?  
> 4.9255+-0.0949        ?
>    int-or-other-div-then-get-by-val                   3.7848+-0.1406     ?  
> 3.9276+-0.2441        ? might be 1.0377x slower
>    int-or-other-max-then-get-by-val                   4.1429+-0.1432        
> 4.0680+-0.1470          might be 1.0184x faster
>    int-or-other-min-then-get-by-val                   4.2741+-0.2279        
> 4.1191+-0.1098          might be 1.0376x faster
>    int-or-other-mod-then-get-by-val                   3.4909+-0.0859     ?  
> 3.5928+-0.3685        ? might be 1.0292x slower
>    int-or-other-mul-then-get-by-val                   3.7795+-0.2048        
> 3.6820+-0.1162          might be 1.0265x faster
>    int-or-other-neg-then-get-by-val                   4.3761+-0.1499        
> 4.3751+-0.1939        
>    int-or-other-neg-zero-then-get-by-val             16.8457+-0.5792        
> 16.4021+-0.3421          might be 1.0270x faster
>    int-or-other-sub-then-get-by-val                   4.0293+-0.1119     ?  
> 4.4473+-0.8107        ? might be 1.1037x slower
>    int-or-other-sub                                   3.4258+-0.2533     ?  
> 3.6146+-0.5609        ? might be 1.0551x slower
>    int-overflow-local                                 4.3879+-0.2968        
> 4.0895+-0.1212          might be 1.0730x faster
>    Int16Array-alloc-long-lived                       47.3970+-2.7082        
> 46.4593+-2.3605          might be 1.0202x faster
>    Int16Array-bubble-sort-with-byteLength            18.2376+-0.5570        
> 17.4799+-0.2591          might be 1.0433x faster
>    Int16Array-bubble-sort                            17.5588+-0.3331        
> 17.4849+-0.3113        
>    Int16Array-load-int-mul                            1.4047+-0.0593     ?  
> 1.4112+-0.0864        ?
>    Int16Array-to-Int32Array-set                      47.2113+-2.4555        
> 46.2984+-1.2754          might be 1.0197x faster
>    Int32Array-alloc-large                            13.4160+-1.5318        
> 12.5693+-0.5207          might be 1.0674x faster
>    Int32Array-alloc-long-lived                       56.0865+-5.7028        
> 51.5915+-2.8652          might be 1.0871x faster
>    Int32Array-alloc                                   3.2741+-0.6467        
> 2.9731+-0.4771          might be 1.1012x faster
>    Int32Array-Int8Array-view-alloc                    6.2072+-0.2253     ?  
> 6.2992+-0.0947        ? might be 1.0148x slower
>    int52-spill                                        6.1930+-0.5481        
> 6.0498+-0.2707          might be 1.0237x faster
>    Int8Array-alloc-long-lived                        42.6370+-1.5805     ?  
> 43.6062+-2.3511        ? might be 1.0227x slower
>    Int8Array-load-with-byteLength                     3.6861+-0.3571        
> 3.5717+-0.3485          might be 1.0320x faster
>    Int8Array-load                                     3.5367+-0.5029        
> 3.3553+-0.0803          might be 1.0541x faster
>    integer-divide                                    10.8437+-0.3235     ?  
> 10.9915+-0.3429        ? might be 1.0136x slower
>    integer-modulo                                     1.6750+-0.0881     ?  
> 1.6802+-0.0710        ?
>    large-int-captured                                 5.0495+-0.3427     ?  
> 5.1034+-0.2086        ? might be 1.0107x slower
>    large-int-neg                                     15.2710+-1.0538        
> 15.1453+-0.8531        
>    large-int                                         14.2634+-0.3110     ?  
> 14.7625+-0.7109        ? might be 1.0350x slower
>    logical-not                                        4.2077+-0.0679     ?  
> 4.3075+-0.2118        ? might be 1.0237x slower
>    lots-of-fields                                    10.5186+-0.8063     ?  
> 10.8567+-0.7571        ? might be 1.0321x slower
>    make-indexed-storage                               2.9126+-0.1316     ?  
> 3.1215+-0.1897        ? might be 1.0717x slower
>    make-rope-cse                                      3.9254+-0.4837        
> 3.8067+-0.1298          might be 1.0312x faster
>    marsaglia-larger-ints                             35.3390+-3.0543        
> 33.6873+-0.6071          might be 1.0490x faster
>    marsaglia-osr-entry                               21.2856+-0.6825     ?  
> 22.5553+-1.7285        ? might be 1.0596x slower
>    max-boolean                                        2.6908+-0.0776        
> 2.6394+-0.0624          might be 1.0195x faster
>    method-on-number                                  16.5206+-1.4855        
> 16.1541+-0.6653          might be 1.0227x faster
>    min-boolean                                        2.6788+-0.0364        
> 2.6558+-0.1179        
>    minus-boolean-double                               3.1434+-0.2148     ?  
> 3.3782+-0.5752        ? might be 1.0747x slower
>    minus-boolean                                      2.3353+-0.1345     ?  
> 2.3583+-0.0796        ?
>    misc-strict-eq                                    31.5971+-3.3080     ?  
> 31.7144+-2.5371        ?
>    mod-boolean-double                                11.6461+-0.7653        
> 11.4479+-0.1887          might be 1.0173x faster
>    mod-boolean                                        8.5694+-0.1282     ?  
> 8.6840+-0.2908        ? might be 1.0134x slower
>    mul-boolean-double                                 3.7699+-0.1779        
> 3.6695+-0.1799          might be 1.0274x faster
>    mul-boolean                                        2.9768+-0.3235        
> 2.8047+-0.0691          might be 1.0614x faster
>    neg-boolean                                        3.1166+-0.2209     ?  
> 3.2095+-0.4366        ? might be 1.0298x slower
>    negative-zero-divide                               0.2922+-0.0132     ?  
> 0.3022+-0.0177        ? might be 1.0341x slower
>    negative-zero-modulo                               0.3020+-0.0229     ?  
> 0.3271+-0.0832        ? might be 1.0834x slower
>    negative-zero-negate                               0.3206+-0.0953        
> 0.2767+-0.0144          might be 1.1590x faster
>    nested-function-parsing                           33.2330+-0.5923     ?  
> 34.6573+-1.8738        ? might be 1.0429x slower
>    new-array-buffer-dead                              2.8084+-0.1177        
> 2.7625+-0.0805          might be 1.0166x faster
>    new-array-buffer-push                              6.5778+-1.1399        
> 6.0111+-0.1846          might be 1.0943x faster
>    new-array-dead                                     9.3390+-0.2585     ?  
> 9.3866+-0.2448        ?
>    new-array-push                                     3.4980+-0.1000        
> 3.4767+-0.1690        
>    no-inline-constructor                            104.2046+-2.0748     ^  
> 99.1365+-1.6528        ^ definitely 1.0511x faster
>    number-test                                        2.8665+-0.2726        
> 2.8520+-0.0884        
>    object-closure-call                                4.8632+-0.1233     ?  
> 5.0229+-0.1426        ? might be 1.0328x slower
>    object-test                                        2.9804+-0.5016        
> 2.8392+-0.0860          might be 1.0497x faster
>    obvious-sink-pathology-taken                     109.1981+-4.2485        
> 108.8920+-3.6015        
>    obvious-sink-pathology                           101.8260+-4.8161     ?  
> 102.2931+-3.2325        ?
>    obviously-elidable-new-object                     29.3339+-0.8868     ?  
> 30.0793+-2.0566        ? might be 1.0254x slower
>    plus-boolean-arith                                 2.3568+-0.0305        
> 2.3378+-0.0389        
>    plus-boolean-double                                3.0899+-0.1082     ?  
> 3.1982+-0.2433        ? might be 1.0351x slower
>    plus-boolean                                       2.6943+-0.4313        
> 2.5338+-0.0313          might be 1.0634x faster
>    poly-chain-access-different-prototypes-simple   
>                                                       2.7225+-0.0673        
> 2.6884+-0.0430          might be 1.0127x faster
>    poly-chain-access-different-prototypes             2.5248+-0.0720     ?  
> 2.6799+-0.4172        ? might be 1.0614x slower
>    poly-chain-access-simpler                          2.7139+-0.0495        
> 2.6768+-0.0273          might be 1.0138x faster
>    poly-chain-access                                  2.4696+-0.0374     ?  
> 2.6811+-0.2853        ? might be 1.0856x slower
>    poly-stricteq                                     49.0265+-1.9175        
> 48.7370+-2.3467        
>    polymorphic-array-call                             1.1368+-0.1067     ?  
> 1.3953+-0.3474        ? might be 1.2274x slower
>    polymorphic-get-by-id                              2.9572+-0.3490        
> 2.9211+-0.2287          might be 1.0124x faster
>    polymorphic-put-by-id                             25.1311+-1.0029     ?  
> 26.5155+-2.2912        ? might be 1.0551x slower
>    polymorphic-structure                             13.4222+-0.0724     ?  
> 13.7797+-0.9442        ? might be 1.0266x slower
>    polyvariant-monomorphic-get-by-id                  6.7347+-0.7173     ?  
> 7.3619+-0.3826        ? might be 1.0931x slower
>    proto-getter-access                                9.3525+-0.3926        
> 9.2690+-0.2964        
>    put-by-id-replace-and-transition                   8.0773+-1.1979     ?  
> 8.7051+-0.8021        ? might be 1.0777x slower
>    put-by-id-slightly-polymorphic                     2.6502+-0.2033     ?  
> 2.6683+-0.1497        ?
>    put-by-id                                          9.9354+-0.6552     ?  
> 10.4067+-1.1075        ? might be 1.0474x slower
>    put-by-val-direct                                  0.3984+-0.0393     ?  
> 0.4167+-0.0757        ? might be 1.0460x slower
>    put-by-val-large-index-blank-indexing-type   
>                                                       5.4278+-0.3129        
> 5.2504+-0.2056          might be 1.0338x faster
>    put-by-val-machine-int                             2.3900+-0.1358     ?  
> 2.4824+-0.1353        ? might be 1.0387x slower
>    rare-osr-exit-on-local                            15.0614+-0.5574     ?  
> 15.0756+-0.4121        ?
>    register-pressure-from-osr                        17.2441+-0.2085     ?  
> 17.5985+-0.7247        ? might be 1.0206x slower
>    setter                                             5.6403+-0.2233     ?  
> 5.6740+-0.2026        ?
>    simple-activation-demo                            25.5746+-1.0131        
> 25.0949+-0.8342          might be 1.0191x faster
>    simple-getter-access                              12.2058+-0.4435     ?  
> 12.6913+-0.4785        ? might be 1.0398x slower
>    simple-poly-call-nested                            9.0664+-0.5427     ?  
> 9.3857+-0.5053        ? might be 1.0352x slower
>    simple-poly-call                                   1.2444+-0.1428        
> 1.1978+-0.0678          might be 1.0389x faster
>    sin-boolean                                       18.5880+-0.7338     ?  
> 19.7125+-3.2179        ? might be 1.0605x slower
>    singleton-scope                                   63.9209+-1.1289     ?  
> 69.0076+-4.5615        ? might be 1.0796x slower
>    sinkable-new-object-dag                           58.8492+-2.4413     ?  
> 59.4607+-2.1354        ? might be 1.0104x slower
>    sinkable-new-object-taken                         46.8191+-1.7058     ?  
> 47.8025+-2.0966        ? might be 1.0210x slower
>    sinkable-new-object                               32.7854+-2.6706        
> 32.0248+-1.6447          might be 1.0237x faster
>    slow-array-profile-convergence                     2.5002+-0.0934     ?  
> 2.7700+-0.4286        ? might be 1.1079x slower
>    slow-convergence                                   2.4597+-0.0738        
> 2.3134+-0.1249          might be 1.0632x faster
>    sorting-benchmark                                 19.9068+-0.2240     ?  
> 20.5193+-1.0230        ? might be 1.0308x slower
>    sparse-conditional                                 1.4491+-0.6226        
> 1.0806+-0.0668          might be 1.3409x faster
>    splice-to-remove                                  14.7258+-1.2575        
> 14.4904+-0.7576          might be 1.0162x faster
>    string-char-code-at                               15.4672+-0.9344        
> 15.2467+-0.6643          might be 1.0145x faster
>    string-concat-object                               2.2537+-0.2272     ?  
> 2.6590+-0.9789        ? might be 1.1798x slower
>    string-concat-pair-object                          2.2893+-0.3090        
> 2.2187+-0.1886          might be 1.0318x faster
>    string-concat-pair-simple                          9.7191+-0.4734        
> 9.5822+-0.8515          might be 1.0143x faster
>    string-concat-simple                              10.1916+-0.7071        
> 9.5281+-0.4320          might be 1.0696x faster
>    string-cons-repeat                                 7.9585+-1.6298        
> 6.7456+-0.1736          might be 1.1798x faster
>    string-cons-tower                                  7.4580+-1.1617        
> 7.0392+-0.1557          might be 1.0595x faster
>    string-equality                                   16.0351+-0.2221     !  
> 16.7319+-0.4130        ! definitely 1.0435x slower
>    string-get-by-val-big-char                         6.6435+-0.2092     ?  
> 6.6755+-0.0481        ?
>    string-get-by-val-out-of-bounds-insane             3.2417+-0.1668     ?  
> 3.3169+-0.1166        ? might be 1.0232x slower
>    string-get-by-val-out-of-bounds                    4.1405+-0.1076        
> 4.0271+-0.0812          might be 1.0282x faster
>    string-get-by-val                                  2.8062+-0.0442     ?  
> 2.8787+-0.1245        ? might be 1.0258x slower
>    string-hash                                        1.9552+-0.1858        
> 1.9231+-0.2480          might be 1.0167x faster
>    string-long-ident-equality                        13.0693+-0.3431     ?  
> 13.4061+-0.3947        ? might be 1.0258x slower
>    string-out-of-bounds                              10.9115+-0.7506        
> 10.8110+-0.2618        
>    string-repeat-arith                               26.7191+-0.6456     ?  
> 27.5263+-1.9874        ? might be 1.0302x slower
>    string-sub                                        53.5263+-1.6492     ?  
> 56.2571+-2.6641        ? might be 1.0510x slower
>    string-test                                        2.7769+-0.1744     ?  
> 2.7997+-0.1983        ?
>    string-var-equality                               29.4113+-1.9757        
> 28.4253+-0.4293          might be 1.0347x faster
>    structure-hoist-over-transitions                   2.4623+-0.2014        
> 2.4500+-0.1623        
>    substring-concat-weird                            36.8912+-1.3354        
> 35.2205+-0.8419          might be 1.0474x faster
>    substring-concat                                  38.8551+-2.4629     ?  
> 39.5187+-2.0650        ? might be 1.0171x slower
>    substring                                         46.2646+-1.7581        
> 44.6912+-2.0713          might be 1.0352x faster
>    switch-char-constant                               2.6680+-0.0617     ?  
> 2.6681+-0.0656        ?
>    switch-char                                        5.8882+-0.4737     ?  
> 5.9835+-0.6203        ? might be 1.0162x slower
>    switch-constant                                    9.1012+-1.1006     ?  
> 9.1058+-1.2670        ?
>    switch-string-basic-big-var                       13.0252+-0.4685     ?  
> 13.0297+-0.3670        ?
>    switch-string-basic-big                           12.8772+-0.4670        
> 12.6339+-0.3871          might be 1.0193x faster
>    switch-string-basic-var                           12.8571+-0.3752     ?  
> 13.0862+-0.5744        ? might be 1.0178x slower
>    switch-string-basic                               12.1924+-0.6081        
> 12.0900+-0.4339        
>    switch-string-big-length-tower-var                20.3615+-1.6314        
> 19.6175+-0.9637          might be 1.0379x faster
>    switch-string-length-tower-var                    12.9881+-0.3557     ?  
> 13.4435+-0.7649        ? might be 1.0351x slower
>    switch-string-length-tower                        11.7023+-0.5308     ?  
> 11.8256+-0.4900        ? might be 1.0105x slower
>    switch-string-short                               11.6604+-0.4084     ?  
> 11.6877+-0.3913        ?
>    switch                                            12.4290+-0.9163        
> 12.2851+-0.7363          might be 1.0117x faster
>    tear-off-arguments-simple                          3.2252+-0.5540        
> 3.0012+-0.1448          might be 1.0746x faster
>    tear-off-arguments                                 4.2032+-0.3144     ?  
> 4.3772+-0.5108        ? might be 1.0414x slower
>    temporal-structure                                12.3700+-0.3469     ?  
> 12.6705+-0.6450        ? might be 1.0243x slower
>    to-int32-boolean                                  13.3471+-0.2406        
> 13.1847+-0.1359          might be 1.0123x faster
>    try-catch-get-by-val-cloned-arguments             13.7401+-0.3703        
> 13.3313+-0.3802          might be 1.0307x faster
>    try-catch-get-by-val-direct-arguments              6.3034+-0.4698        
> 6.1811+-0.6207          might be 1.0198x faster
>    try-catch-get-by-val-scoped-arguments              7.8293+-1.2211        
> 7.3152+-0.3743          might be 1.0703x faster
>    undefined-property-access                        226.4645+-8.5065        
> 223.6179+-5.5732          might be 1.0127x faster
>    undefined-test                                     3.0068+-0.2926        
> 2.8947+-0.1102          might be 1.0387x faster
>    unprofiled-licm                                   14.8773+-0.5714     ?  
> 15.2408+-1.3751        ? might be 1.0244x slower
>    varargs-call                                      14.2415+-0.6159        
> 14.1943+-0.3577        
>    varargs-construct-inline                          18.7820+-0.6174     ?  
> 19.5693+-1.0432        ? might be 1.0419x slower
>    varargs-construct                                 31.5388+-1.0827     ?  
> 32.6742+-1.4529        ? might be 1.0360x slower
>    varargs-inline                                     8.8014+-0.7807     ?  
> 8.9588+-0.4630        ? might be 1.0179x slower
>    varargs-strict-mode                                9.3868+-0.2783     ?  
> 9.4275+-0.2660        ?
>    varargs                                            9.6763+-0.5520        
> 9.2418+-0.2038          might be 1.0470x faster
>    weird-inlining-const-prop                          1.9808+-0.1732     ?  
> 2.1261+-0.2840        ? might be 1.0734x slower
> 
>    <geometric>                                        7.8084+-0.0303     ?  
> 7.8343+-0.0312        ? might be 1.0033x slower
> 
>                                                           Conf#1            
> Conf#2                                      
> AsmBench:
>    bigfib.cpp                                       463.3702+-6.4697     ?  
> 467.4141+-4.7488        ?
>    cray.c                                           418.8826+-18.2133       
> 409.0131+-3.6996          might be 1.0241x faster
>    dry.c                                            440.6656+-23.0364    ?  
> 447.0929+-13.8954       ? might be 1.0146x slower
>    FloatMM.c                                        722.2202+-13.1661       
> 718.7134+-8.7176        
>    gcc-loops.cpp                                   3671.1379+-31.7635       
> 3664.4146+-19.2404       
>    n-body.c                                         857.9115+-12.6585    ?  
> 865.0992+-12.0665       ?
>    Quicksort.c                                      416.8713+-20.4731    ?  
> 422.2262+-23.8556       ? might be 1.0128x slower
>    stepanov_container.cpp                          3841.0628+-71.4988    ?  
> 3848.5145+-49.2268       ?
>    Towers.c                                         250.0525+-3.2630        
> 247.6178+-3.5322        
> 
>    <geometric>                                      752.8638+-10.2810    ?  
> 753.4253+-5.8840        ? might be 1.0007x slower
> 
>                                                           Conf#1            
> Conf#2                                      
> CompressionBench:
>    huffman                                          317.0789+-9.5755     ?  
> 328.8267+-4.4989        ? might be 1.0370x slower
>    arithmetic-simple                                360.2041+-8.9787        
> 356.4766+-5.1464          might be 1.0105x faster
>    arithmetic-precise                               274.7274+-7.8083     ?  
> 277.0234+-6.3220        ?
>    arithmetic-complex-precise                       272.8705+-4.3761     ?  
> 274.2039+-3.4109        ?
>    arithmetic-precise-order-0                       373.5639+-5.0691     ?  
> 379.2192+-7.1383        ? might be 1.0151x slower
>    arithmetic-precise-order-1                       313.5288+-6.4897        
> 310.0246+-1.9832          might be 1.0113x faster
>    arithmetic-precise-order-2                       350.1953+-5.7512     ?  
> 353.9706+-6.3965        ? might be 1.0108x slower
>    arithmetic-simple-order-1                        346.3776+-1.8501        
> 344.3650+-3.2373        
>    arithmetic-simple-order-2                        402.6695+-14.8484    ?  
> 408.6294+-10.3885       ? might be 1.0148x slower
>    lz-string                                        361.6016+-20.1777       
> 358.8073+-16.1366       
> 
>    <geometric>                                      334.7346+-2.0089     ?  
> 336.6172+-1.9735        ? might be 1.0056x slower
> 
>                                                           Conf#1            
> Conf#2                                      
> Geomean of preferred means:
>    <scaled-result>                                   58.3083+-0.3133     ?  
> 58.5072+-0.1621        ? might be 1.0034x slower
Comment 7 Basile Clement 2015-04-16 16:54:48 PDT
Created attachment 250980 [details]
Cleaned up patch
Comment 8 Filip Pizlo 2015-04-16 16:55:44 PDT
Comment on attachment 250980 [details]
Cleaned up patch

R=me.  This is great.
Comment 9 Basile Clement 2015-04-16 17:16:11 PDT
Re-ran the Octane benchmark to offset the hiccup on the regexp bench.


Benchmark report for Octane on Basiles-MacBook-Pro (MacBookPro11,3).

VMs tested:
"Conf#1" at /Volumes/Data/Baseline/OpenSource/WebKitBuild/Release/jsc (r182899)
"Conf#2" at /Volumes/Data/WIP/OpenSource/WebKitBuild/Release/jsc (r182899)

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.

                             Conf#1                    Conf#2                                      

encrypt                 0.20299+-0.00210    ?     0.20498+-0.00314       ?
decrypt                 3.71181+-0.10318          3.70406+-0.11871       
deltablue      x2       0.17178+-0.00579          0.16550+-0.00078         might be 1.0380x faster
earley                  0.48429+-0.00351    ^     0.45653+-0.00461       ^ definitely 1.0608x faster
boyer                   5.81100+-0.12890    ?     6.01216+-0.19705       ? might be 1.0346x slower
navier-stokes  x2       5.35065+-0.16091          5.24746+-0.07685         might be 1.0197x faster
raytrace       x2       1.09675+-0.04058          1.08612+-0.03352       
richards       x2       0.09570+-0.00121    ?     0.09748+-0.00175       ? might be 1.0186x slower
splay          x2       0.36184+-0.00409    ?     0.36956+-0.00652       ? might be 1.0213x slower
regexp         x2      29.95385+-0.72763         29.12325+-0.68707         might be 1.0285x faster
pdfjs          x2      40.03323+-0.43196         40.02588+-0.17253       
mandreel       x2      48.16510+-0.74271         47.97694+-0.91950       
gbemu          x2      32.91826+-0.65299         32.81293+-0.41711       
closure                 0.51014+-0.00732          0.50741+-0.00279       
jquery                  6.26699+-0.04984    ?     6.33675+-0.05284       ? might be 1.0111x slower
box2d          x2      10.68723+-0.20455         10.61400+-0.09674       
zlib           x2     365.98031+-14.27976   ?   366.00936+-18.78087      ?
typescript     x2     677.13818+-18.99019   ?   678.85726+-8.10687       ?

<geometric>             5.98815+-0.05931          5.95943+-0.04587         might be 1.0048x faster
Comment 10 WebKit Commit Bot 2015-04-16 17:46:02 PDT
Comment on attachment 250980 [details]
Cleaned up patch

Clearing flags on attachment: 250980

Committed r182929: <http://trac.webkit.org/changeset/182929>
Comment 11 WebKit Commit Bot 2015-04-16 17:46:06 PDT
All reviewed patches have been landed.  Closing bug.
Comment 12 Geoffrey Garen 2015-04-17 11:13:04 PDT
Comment on attachment 250980 [details]
Cleaned up patch

👍