Bug 150764

Summary: Dominators should be factored out of the DFG
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, benjamin, commit-queue, ggaren, mark.lam, mhahnenb, msaboff, nrotem, oliver, sam, sbarati
Priority: P2    
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 150279    
Attachments:
Description Flags
work in progress
none
a bit more
none
more
none
maybe done
none
the patch ggaren: review+

Description Filip Pizlo 2015-10-31 19:28:51 PDT
Patch forthcoming.
Comment 1 Filip Pizlo 2015-10-31 19:29:42 PDT
Created attachment 264496 [details]
work in progress
Comment 2 Filip Pizlo 2015-10-31 19:56:12 PDT
Created attachment 264499 [details]
a bit more
Comment 3 Filip Pizlo 2015-11-01 10:25:12 PST
Created attachment 264521 [details]
more
Comment 4 Filip Pizlo 2015-11-01 11:12:15 PST
Created attachment 264522 [details]
maybe done

You know you have an epic template hack when you have to say "typename Graph::template Map<BlockData> m_data;"
Comment 5 Filip Pizlo 2015-11-01 11:21:04 PST
Created attachment 264524 [details]
the patch
Comment 6 WebKit Commit Bot 2015-11-01 11:22:54 PST
Attachment 264524 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGGraph.cpp:38:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WTF/wtf/Dominators.h:26:  #ifndef header guard has wrong style, please use: WTF_Dominators_h  [build/header_guard] [5]
ERROR: Source/WTF/wtf/Dominators.h:172:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/Dominators.h:183:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/Dominators.h:194:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/Dominators.h:205:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/Dominators.h:218:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/Dominators.h:229:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/Dominators.h:698:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WTF/wtf/Dominators.h:715:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 10 in 31 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 7 Geoffrey Garen 2015-11-01 12:47:59 PST
Comment on attachment 264524 [details]
the patch

r=me
Comment 8 Filip Pizlo 2015-11-01 16:46:38 PST
I measured performance since this changes some critical DFG code.


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

VMs tested:
"TipOfTree" at /Volumes/Data/secondary/OpenSource/WebKitBuild/Release/jsc (r191865)
"NewDominators" at /Volumes/Data/tertiary/OpenSource/WebKitBuild/Release/jsc (r191865)

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

                                                        TipOfTree               NewDominators                                   
SunSpider:
   3d-cube                                            4.7942+-0.3004            4.7093+-0.0275          might be 1.0180x faster
   3d-morph                                           5.4544+-0.4155            5.4364+-0.4456        
   3d-raytrace                                        5.2593+-0.0586     ?      5.3039+-0.1714        ?
   access-binary-trees                                2.1970+-0.0586     ?      2.2146+-0.0931        ?
   access-fannkuch                                    5.6673+-0.1740            5.6053+-0.1367          might be 1.0111x faster
   access-nbody                                       2.5105+-0.0352     ?      2.6901+-0.2662        ? might be 1.0716x slower
   access-nsieve                                      3.1183+-0.1267     ?      3.1383+-0.2008        ?
   bitops-3bit-bits-in-byte                           1.1943+-0.0583            1.1707+-0.0204          might be 1.0202x faster
   bitops-bits-in-byte                                3.2705+-0.1142     ?      3.2745+-0.0562        ?
   bitops-bitwise-and                                 2.1166+-0.2047            2.0716+-0.1043          might be 1.0217x faster
   bitops-nsieve-bits                                 3.0291+-0.0759     ?      3.0970+-0.1859        ? might be 1.0224x slower
   controlflow-recursive                              2.5468+-0.3009            2.3532+-0.0823          might be 1.0823x faster
   crypto-aes                                         4.0002+-0.2249     ?      4.1377+-0.3780        ? might be 1.0344x slower
   crypto-md5                                         2.5358+-0.0736            2.4915+-0.0706          might be 1.0178x faster
   crypto-sha1                                        2.6641+-0.4843            2.4823+-0.2295          might be 1.0732x faster
   date-format-tofte                                  7.2052+-0.5934            6.6750+-0.1289          might be 1.0794x faster
   date-format-xparb                                  4.7854+-0.5386     ?      4.8062+-0.1329        ?
   math-cordic                                        2.8476+-0.0613            2.8040+-0.0499          might be 1.0155x faster
   math-partial-sums                                  5.1900+-0.7467            5.0500+-0.4044          might be 1.0277x faster
   math-spectral-norm                                 2.1098+-0.2426            2.0016+-0.1228          might be 1.0541x faster
   regexp-dna                                         6.4207+-0.3015            6.3248+-0.2329          might be 1.0152x faster
   string-base64                                      4.2865+-0.0955     ?      4.8284+-0.5806        ? might be 1.1264x slower
   string-fasta                                       6.0084+-0.3892            6.0007+-0.4908        
   string-tagcloud                                    7.9706+-0.1185     ?      8.2413+-0.4544        ? might be 1.0340x slower
   string-unpack-code                                18.2850+-0.2767     ?     18.5766+-1.2562        ? might be 1.0160x slower
   string-validate-input                              4.5852+-0.2808            4.5001+-0.0997          might be 1.0189x faster

   <arithmetic>                                       4.6174+-0.0325            4.6148+-0.0554          might be 1.0006x faster

                                                        TipOfTree               NewDominators                                   
LongSpider:
   3d-cube                                          808.6731+-9.6157          800.3338+-3.9010          might be 1.0104x faster
   3d-morph                                        1497.0327+-9.5542         1493.9415+-6.4149        
   3d-raytrace                                      600.0495+-6.4337     ?    603.4837+-4.2969        ?
   access-binary-trees                              791.0000+-6.2937     ?    793.8326+-6.6751        ?
   access-fannkuch                                  297.4890+-8.1400          292.4995+-2.9757          might be 1.0171x faster
   access-nbody                                     515.1512+-4.3238          512.9065+-2.1502        
   access-nsieve                                    377.5390+-11.2133    ?    378.1431+-8.4741        ?
   bitops-3bit-bits-in-byte                          35.1072+-1.9422           34.5057+-0.9371          might be 1.0174x faster
   bitops-bits-in-byte                               84.4005+-8.6349           74.3743+-2.0924          might be 1.1348x faster
   bitops-nsieve-bits                               407.4003+-8.0419          404.2482+-4.0016        
   controlflow-recursive                            431.8653+-1.7970     ?    434.9288+-3.6719        ?
   crypto-aes                                       555.6210+-1.4644     ?    558.3564+-2.7159        ?
   crypto-md5                                       488.7450+-46.5033         453.7220+-7.8229          might be 1.0772x faster
   crypto-sha1                                      660.3729+-5.5502          657.4856+-9.5376        
   date-format-tofte                                510.3907+-9.9367          496.9327+-4.6185          might be 1.0271x faster
   date-format-xparb                                652.3452+-4.9792     ?    680.6318+-66.3275       ? might be 1.0434x slower
   hash-map                                         149.0639+-1.3029     ?    149.1311+-1.3785        ?
   math-cordic                                      483.0910+-1.0131     ?    485.4336+-5.5140        ?
   math-partial-sums                                459.8983+-4.7098          457.3901+-1.9776        
   math-spectral-norm                               549.4103+-2.1367     ?    551.9660+-4.8027        ?
   string-base64                                    372.3680+-4.6367     ?    376.2453+-7.2604        ? might be 1.0104x slower
   string-fasta                                     356.2719+-2.4097          355.7112+-1.8241        
   string-tagcloud                                  175.7301+-1.8011     ?    177.0043+-2.5909        ?

   <geometric>                                      391.7184+-2.9484          388.3214+-1.2537          might be 1.0087x faster

                                                        TipOfTree               NewDominators                                   
V8Spider:
   crypto                                            51.4524+-1.6432           51.3565+-2.9211        
   deltablue                                         76.4682+-3.8946     ?     76.9429+-2.0842        ?
   earley-boyer                                      42.5109+-2.1668           41.9975+-1.3585          might be 1.0122x faster
   raytrace                                          31.2417+-1.8931           30.6051+-2.0809          might be 1.0208x faster
   regexp                                            63.8658+-3.1333           63.6696+-1.1117        
   richards                                          53.5126+-0.9587     ?     53.9499+-2.9083        ?
   splay                                             37.3748+-2.3449     ?     37.4263+-2.0864        ?

   <geometric>                                       48.8554+-1.1782           48.6991+-0.8660          might be 1.0032x faster

                                                        TipOfTree               NewDominators                                   
Octane:
   encrypt                                           0.15681+-0.00518          0.15662+-0.00179       
   decrypt                                           2.94065+-0.10653    ?     3.16713+-0.72513       ? might be 1.0770x slower
   deltablue                                x2       0.13678+-0.00326          0.13566+-0.00365       
   earley                                            0.28420+-0.00280    ?     0.28519+-0.00349       ?
   boyer                                             4.29516+-0.04620    ?     4.30868+-0.04582       ?
   navier-stokes                            x2       4.82622+-0.03151    ?     4.85401+-0.03867       ?
   raytrace                                 x2       0.85342+-0.00473          0.85296+-0.00492       
   richards                                 x2       0.08776+-0.00143          0.08767+-0.00107       
   splay                                    x2       0.34777+-0.00350          0.34731+-0.00197       
   regexp                                   x2      24.60097+-0.35982    ?    24.64588+-0.32681       ?
   pdfjs                                    x2      37.31818+-0.20218         37.21262+-0.57483       
   mandreel                                 x2      42.48400+-0.18674    ?    42.55181+-0.55602       ?
   gbemu                                    x2      29.46081+-0.31095    ?    31.97657+-4.14169       ? might be 1.0854x slower
   closure                                           0.57935+-0.00407          0.57832+-0.00344       
   jquery                                            7.34296+-0.05538    ?     7.45724+-0.06325       ? might be 1.0156x slower
   box2d                                    x2       9.29930+-0.03545    ?     9.32227+-0.08342       ?
   zlib                                     x2     391.91303+-7.58255        369.88782+-20.98161        might be 1.0595x faster
   typescript                               x2     664.36674+-4.28079    ?   667.37113+-8.20911       ?

   <geometric>                                       5.30386+-0.00964    ?     5.32473+-0.06757       ? might be 1.0039x slower

                                                        TipOfTree               NewDominators                                   
Kraken:
   ai-astar                                          128.465+-2.617            128.043+-1.995         
   audio-beat-detection                               48.451+-0.545             48.374+-0.252         
   audio-dft                                          98.799+-2.197             96.378+-2.068           might be 1.0251x faster
   audio-fft                                          35.382+-0.635             35.308+-1.041         
   audio-oscillator                                   58.455+-0.915      ?      58.761+-2.580         ?
   imaging-darkroom                                   59.791+-0.148      ?      59.888+-0.340         ?
   imaging-desaturate                                 48.776+-0.677      ?      49.552+-2.363         ? might be 1.0159x slower
   imaging-gaussian-blur                              88.360+-0.944             87.816+-0.435         
   json-parse-financial                               37.710+-0.651             37.187+-0.704           might be 1.0141x faster
   json-stringify-tinderbox                           23.444+-1.540             21.978+-0.565           might be 1.0667x faster
   stanford-crypto-aes                                42.680+-1.800             42.556+-2.137         
   stanford-crypto-ccm                                35.822+-2.080      ?      37.336+-2.283         ? might be 1.0423x slower
   stanford-crypto-pbkdf2                             96.132+-0.720             95.784+-0.460         
   stanford-crypto-sha256-iterative                   37.193+-1.037             36.653+-1.106           might be 1.0147x faster

   <arithmetic>                                       59.961+-0.472             59.687+-0.396           might be 1.0046x faster

                                                        TipOfTree               NewDominators                                   
JSRegress:
   abc-forward-loop-equal                            30.3684+-1.0899           30.0641+-0.8931          might be 1.0101x faster
   abc-postfix-backward-loop                         29.5625+-0.4148     ?     29.7021+-0.5531        ?
   abc-simple-backward-loop                          29.7900+-0.8459           29.4898+-0.8699          might be 1.0102x faster
   abc-simple-forward-loop                           29.5802+-0.8916           29.4386+-0.6266        
   abc-skippy-loop                                   21.9625+-0.8377           21.7517+-0.4721        
   abs-boolean                                        2.4821+-0.0511     ?      2.4930+-0.0394        ?
   adapt-to-double-divide                            16.3820+-0.3849     ?     16.5263+-0.4503        ?
   aliased-arguments-getbyval                         1.1746+-0.0673     ?      1.2148+-0.0664        ? might be 1.0342x slower
   allocate-big-object                                2.5372+-0.1735     ?      2.5762+-0.1971        ? might be 1.0154x slower
   arguments-named-and-reflective                    10.8746+-0.3472     ?     11.8957+-2.0751        ? might be 1.0939x slower
   arguments-out-of-bounds                            9.3964+-0.1948            9.3929+-0.2042        
   arguments-strict-mode                              9.7798+-0.3765            9.5807+-0.2144          might be 1.0208x faster
   arguments                                          8.5535+-0.3189     ?      8.6433+-0.2174        ? might be 1.0105x slower
   arity-mismatch-inlining                            0.8623+-0.0129     ?      0.8962+-0.0595        ? might be 1.0394x slower
   array-access-polymorphic-structure                 7.3537+-0.6239            7.0866+-0.2121          might be 1.0377x faster
   array-nonarray-polymorhpic-access                 24.5958+-0.7237           24.4670+-0.3966        
   array-prototype-every                             78.7935+-2.7808     ?     78.8663+-2.7508        ?
   array-prototype-forEach                           76.0740+-1.3099     ?     76.8243+-3.8295        ?
   array-prototype-map                               83.3519+-3.1789     ?     83.8872+-2.5866        ?
   array-prototype-reduce                            72.9690+-2.2207     ?     73.4153+-2.2570        ?
   array-prototype-reduceRight                       75.1803+-5.8374           73.8857+-5.1022          might be 1.0175x faster
   array-prototype-some                              79.8455+-3.4136           76.8521+-2.7903          might be 1.0390x faster
   array-splice-contiguous                           23.4582+-0.2180     ?     23.9784+-0.5908        ? might be 1.0222x slower
   array-with-double-add                              3.6619+-0.1271            3.5881+-0.0507          might be 1.0206x faster
   array-with-double-increment                        3.1562+-0.0437     ?      3.2534+-0.2462        ? might be 1.0308x slower
   array-with-double-mul-add                          4.5542+-0.2110     ?      4.9555+-0.8361        ? might be 1.0881x slower
   array-with-double-sum                              3.2348+-0.0581            3.2214+-0.1035        
   array-with-int32-add-sub                           6.0512+-0.0971     !      6.4139+-0.2256        ! definitely 1.0599x slower
   array-with-int32-or-double-sum                     3.2812+-0.0870     ?      3.3591+-0.1997        ? might be 1.0237x slower
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     26.3783+-1.1472     ?     26.6096+-1.1472        ?
   ArrayBuffer-DataView-alloc-long-lived             11.9980+-0.4239           11.8331+-0.4400          might be 1.0139x faster
   ArrayBuffer-Int32Array-byteOffset                  3.6012+-0.0869            3.5734+-0.0802        
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     26.8974+-2.6765     ?     27.3274+-1.7108        ? might be 1.0160x slower
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     19.4034+-0.3987           19.1882+-0.2497          might be 1.0112x faster
   ArrayBuffer-Int8Array-alloc-long-lived            11.0373+-0.2614     ?     11.3823+-0.3045        ? might be 1.0313x slower
   ArrayBuffer-Int8Array-alloc                        9.8351+-0.6080            9.4069+-0.1151          might be 1.0455x faster
   arrowfunction-call                                11.2618+-0.1657           11.2033+-0.3748        
   asmjs_bool_bug                                     8.2572+-0.6038            8.0839+-0.1273          might be 1.0214x faster
   assign-custom-setter-polymorphic                   2.4132+-0.0999     ?      2.4695+-0.1323        ? might be 1.0233x slower
   assign-custom-setter                               3.5190+-0.3364     ?      3.5469+-0.1047        ?
   basic-set                                          7.4199+-0.3984     ?      7.4919+-0.2921        ?
   big-int-mul                                        3.5497+-0.1768            3.5352+-0.1112        
   boolean-test                                       3.1573+-0.0977            3.0846+-0.0457          might be 1.0236x faster
   branch-fold                                        3.6142+-0.0623     ?      3.6466+-0.0198        ?
   branch-on-string-as-boolean                       17.0823+-0.7683     ?     17.4351+-1.0510        ? might be 1.0206x slower
   by-val-generic                                     2.5265+-0.1424            2.5170+-0.1665        
   call-spread-apply                                 28.3265+-1.9147           27.5744+-0.5710          might be 1.0273x faster
   call-spread-call                                  22.5217+-0.9993           22.0955+-0.7459          might be 1.0193x faster
   captured-assignments                               0.4407+-0.0079            0.4395+-0.0132        
   cast-int-to-double                                 5.2333+-0.2067     ?      5.3133+-0.4773        ? might be 1.0153x slower
   cell-argument                                      5.8899+-0.1948     ?      6.1407+-0.2203        ? might be 1.0426x slower
   cfg-simplify                                       2.9263+-0.0315     ?      2.9464+-0.0952        ?
   chain-getter-access                                8.3590+-0.2178            8.3237+-0.2171        
   cmpeq-obj-to-obj-other                            13.1571+-1.1256           11.4513+-1.3004          might be 1.1490x faster
   constant-test                                      4.7943+-0.0399     ?      4.8420+-0.0618        ?
   create-lots-of-functions                           9.7581+-0.7220            9.3689+-0.2571          might be 1.0415x faster
   cse-new-array-buffer                               2.3445+-0.0813            2.3265+-0.0808        
   cse-new-array                                      2.4134+-0.1911     ?      2.4237+-0.0554        ?
   custom-setter-getter-as-put-get-by-id              0.5309+-0.0493     ?      0.5377+-0.0380        ? might be 1.0128x slower
   DataView-custom-properties                        31.4282+-1.4336           30.9543+-0.7905          might be 1.0153x faster
   delay-tear-off-arguments-strictmode               13.2255+-0.6823           13.0847+-0.8415          might be 1.0108x faster
   deltablue-varargs                                161.9882+-2.1027     ?    163.4886+-1.7822        ?
   destructuring-arguments                          163.6762+-2.3484     ?    167.3318+-13.0434       ? might be 1.0223x slower
   destructuring-parameters-overridden-by-function   
                                                      0.4705+-0.0284            0.4611+-0.0137          might be 1.0202x faster
   destructuring-swap                                 4.7115+-0.0518     ?      4.8518+-0.1516        ? might be 1.0298x slower
   direct-arguments-getbyval                          1.2138+-0.0618            1.1635+-0.0329          might be 1.0432x faster
   div-boolean-double                                 5.4078+-0.3331            5.3382+-0.0638          might be 1.0130x faster
   div-boolean                                        8.1338+-0.1156     ?      8.1574+-0.0923        ?
   double-get-by-val-out-of-bounds                    4.4949+-0.1365     ?      4.6322+-0.4705        ? might be 1.0306x slower
   double-pollution-getbyval                          8.4250+-0.2461            8.3783+-0.0365        
   double-pollution-putbyoffset                       3.7149+-0.1826     ?      3.9279+-0.7532        ? might be 1.0573x slower
   double-real-use                                   24.2882+-0.5847     ?     24.8762+-1.6221        ? might be 1.0242x slower
   double-to-int32-typed-array-no-inline              2.3092+-0.1362            2.2188+-0.0318          might be 1.0407x faster
   double-to-int32-typed-array                        2.1234+-0.0600            2.0986+-0.0515          might be 1.0118x faster
   double-to-uint32-typed-array-no-inline             2.3034+-0.0220     ?      2.3100+-0.1236        ?
   double-to-uint32-typed-array                       2.1862+-0.2518            2.1437+-0.0540          might be 1.0198x faster
   elidable-new-object-dag                           33.7780+-0.1974     ?     34.0416+-1.1926        ?
   elidable-new-object-roflcopter                    32.3359+-1.3073     ?     32.4828+-1.4956        ?
   elidable-new-object-then-call                     32.1524+-0.8896     ?     33.0967+-1.1932        ? might be 1.0294x slower
   elidable-new-object-tree                          37.8713+-0.7024     ?     38.0247+-1.0275        ?
   empty-string-plus-int                              4.7479+-0.1279     ?      4.9110+-0.4375        ? might be 1.0343x slower
   emscripten-cube2hash                              27.8094+-1.3575           27.7102+-1.8025        
   exit-length-on-plain-object                       15.9297+-0.8247           15.3690+-0.3044          might be 1.0365x faster
   external-arguments-getbyval                        1.3042+-0.1946     ?      1.3569+-0.1899        ? might be 1.0404x slower
   external-arguments-putbyval                        2.3660+-0.1814            2.2198+-0.0718          might be 1.0658x faster
   fixed-typed-array-storage-var-index                1.3057+-0.1481            1.2703+-0.0488          might be 1.0278x faster
   fixed-typed-array-storage                          0.9309+-0.0217     ?      0.9531+-0.0770        ? might be 1.0238x slower
   Float32Array-matrix-mult                           4.3422+-0.1033            4.2948+-0.0641          might be 1.0110x faster
   Float32Array-to-Float64Array-set                  48.9306+-0.9285           48.7649+-1.0234        
   Float64Array-alloc-long-lived                     60.6993+-2.0410     ?     61.6008+-2.2199        ? might be 1.0149x slower
   Float64Array-to-Int16Array-set                    59.6123+-1.2345     ?     61.0754+-1.2374        ? might be 1.0245x slower
   fold-double-to-int                                12.5898+-0.5288           12.5300+-0.3970        
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     10.3182+-1.1387     ?     10.6261+-1.4711        ? might be 1.0298x slower
   fold-get-by-id-to-multi-get-by-offset             10.7309+-1.9019           10.0417+-0.3918          might be 1.0686x faster
   fold-multi-get-by-offset-to-get-by-offset   
                                                      8.7198+-1.8621     ?      9.7813+-0.9712        ? might be 1.1217x slower
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      7.6427+-1.8549     ?      8.8925+-2.5053        ? might be 1.1635x slower
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                     10.1573+-1.8839     ?     10.4862+-0.7412        ? might be 1.0324x slower
   fold-multi-put-by-offset-to-put-by-offset   
                                                     11.0080+-1.0001     ?     12.3278+-1.5744        ? might be 1.1199x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                      9.6926+-0.9524     ?      9.9409+-1.2723        ? might be 1.0256x slower
   fold-put-by-id-to-multi-put-by-offset             11.1350+-1.1426           10.8217+-0.5392          might be 1.0289x faster
   fold-put-by-val-with-string-to-multi-put-by-offset   
                                                     11.5524+-1.2320           10.6248+-1.2004          might be 1.0873x faster
   fold-put-by-val-with-symbol-to-multi-put-by-offset   
                                                     11.0573+-1.5738           10.5537+-0.8605          might be 1.0477x faster
   fold-put-structure                                 7.7428+-1.1115            7.6760+-1.1246        
   for-of-iterate-array-entries                      10.8590+-0.3093     ?     11.3056+-1.0205        ? might be 1.0411x slower
   for-of-iterate-array-keys                          3.5943+-0.1686            3.4912+-0.1260          might be 1.0295x faster
   for-of-iterate-array-values                        3.4665+-0.1270            3.4125+-0.2132          might be 1.0158x faster
   fround                                            17.5626+-0.4741     ?     18.3669+-1.4777        ? might be 1.0458x slower
   ftl-library-inlining-dataview                     59.3232+-1.1469           57.7217+-0.9372          might be 1.0277x faster
   ftl-library-inlining                             102.3820+-2.2828          101.7398+-0.9351        
   ftl-object-sub                                   311.8869+-3.9323     ?    313.6951+-9.2538        ?
   function-call                                     11.4003+-0.7057     ?     11.7509+-1.2777        ? might be 1.0308x slower
   function-dot-apply                                 2.0217+-0.0366     ?      2.0567+-0.0904        ? might be 1.0173x slower
   function-test                                      2.7882+-0.0761            2.7413+-0.0105          might be 1.0171x faster
   function-with-eval                                83.0650+-1.5312           82.1724+-1.5355          might be 1.0109x faster
   gcse-poly-get-less-obvious                        22.4590+-1.0033           21.6906+-0.3040          might be 1.0354x faster
   gcse-poly-get                                     23.5898+-2.0420           23.2025+-2.7159          might be 1.0167x faster
   gcse                                               3.3577+-0.0462     ?      3.4037+-0.0449        ? might be 1.0137x slower
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.6538+-0.0286     ?      2.6645+-0.1049        ?
   get-by-id-bimorphic-check-structure-elimination   
                                                      4.7977+-0.1616            4.7960+-0.1686        
   get-by-id-chain-from-try-block                     2.4403+-0.0418     ?      2.5977+-0.4854        ? might be 1.0645x slower
   get-by-id-check-structure-elimination              4.0203+-0.1107            3.8953+-0.0322          might be 1.0321x faster
   get-by-id-proto-or-self                           16.4386+-0.6416     ?     16.9929+-0.8115        ? might be 1.0337x slower
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      2.8814+-0.0270     ?      2.9339+-0.0575        ? might be 1.0182x slower
   get-by-id-self-or-proto                           17.2825+-1.3842     ?     17.5577+-1.1307        ? might be 1.0159x slower
   get-by-val-out-of-bounds                           4.4678+-0.3574            4.1814+-0.0828          might be 1.0685x faster
   get-by-val-with-string-bimorphic-check-structure-elimination-simple   
                                                      2.7550+-0.0350            2.7028+-0.0602          might be 1.0193x faster
   get-by-val-with-string-bimorphic-check-structure-elimination   
                                                      6.1388+-0.1471     ?      6.2144+-0.3383        ? might be 1.0123x slower
   get-by-val-with-string-chain-from-try-block   
                                                      2.5428+-0.2815            2.4476+-0.0545          might be 1.0389x faster
   get-by-val-with-string-check-structure-elimination   
                                                      5.6547+-0.0911            5.6211+-0.1643        
   get-by-val-with-string-proto-or-self              16.9736+-1.1498           16.5198+-0.3151          might be 1.0275x faster
   get-by-val-with-string-quadmorphic-check-structure-elimination-simple   
                                                      3.1624+-0.0613     ?      3.2292+-0.1615        ? might be 1.0211x slower
   get-by-val-with-string-self-or-proto              16.8689+-0.4625     ?     17.2437+-1.5421        ? might be 1.0222x slower
   get-by-val-with-symbol-bimorphic-check-structure-elimination-simple   
                                                      3.0393+-0.2807            2.9422+-0.0726          might be 1.0330x faster
   get-by-val-with-symbol-bimorphic-check-structure-elimination   
                                                     12.5095+-0.5101           12.3404+-0.0434          might be 1.0137x faster
   get-by-val-with-symbol-chain-from-try-block   
                                                      2.4739+-0.0564     ?      2.5256+-0.2063        ? might be 1.0209x slower
   get-by-val-with-symbol-check-structure-elimination   
                                                     11.4075+-0.1360           11.3225+-0.1006        
   get-by-val-with-symbol-proto-or-self              17.7124+-1.8605     ?     18.0559+-1.7242        ? might be 1.0194x slower
   get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple   
                                                      3.8066+-0.1612            3.7344+-0.1145          might be 1.0193x faster
   get-by-val-with-symbol-self-or-proto              16.6148+-0.4122     ?     16.9728+-1.4049        ? might be 1.0215x slower
   get_callee_monomorphic                             2.3713+-0.1118     ?      2.4407+-0.3167        ? might be 1.0292x slower
   get_callee_polymorphic                             3.3961+-0.2702            3.3908+-0.1364        
   getter-no-activation                               5.0022+-0.6423            5.0011+-0.2720        
   getter-prototype                                   8.1298+-0.4965            8.0985+-0.2299        
   getter-richards-try-catch                        983.8457+-11.6859         974.9596+-18.7392       
   getter-richards                                  114.1112+-5.9165          113.4360+-2.4533        
   getter                                             6.0414+-0.7974            5.8037+-0.7907          might be 1.0410x faster
   global-object-access-with-mutating-structure   
                                                      5.7620+-0.1739            5.6174+-0.3562          might be 1.0257x faster
   global-var-const-infer-fire-from-opt               0.7048+-0.0167     ?      0.7388+-0.0743        ? might be 1.0481x slower
   global-var-const-infer                             0.6290+-0.0177            0.6289+-0.0052        
   hard-overflow-check-equal                         26.7588+-0.2462     ?     26.7781+-0.4885        ?
   hard-overflow-check                               26.5957+-0.5347     ?     26.7638+-0.7759        ?
   HashMap-put-get-iterate-keys                      25.3435+-2.2335     ?     26.6818+-1.1489        ? might be 1.0528x slower
   HashMap-put-get-iterate                           29.1356+-1.7593           27.7753+-0.5130          might be 1.0490x faster
   HashMap-string-put-get-iterate                    23.8735+-1.6034     ?     24.0074+-1.5800        ?
   hoist-make-rope                                    8.2220+-0.7144     ?      8.4322+-1.4348        ? might be 1.0256x slower
   hoist-poly-check-structure-effectful-loop   
                                                      3.7193+-0.2056            3.5940+-0.0488          might be 1.0349x faster
   hoist-poly-check-structure                         3.0751+-0.0633     ?      3.0867+-0.0514        ?
   imul-double-only                                   7.6674+-0.1926     ?      7.9415+-0.2109        ? might be 1.0358x slower
   imul-int-only                                      9.6435+-0.3270            8.3942+-1.0370          might be 1.1488x faster
   imul-mixed                                         7.4834+-0.4813            7.0738+-0.4869          might be 1.0579x faster
   in-four-cases                                     18.9001+-0.5578     ?     18.9562+-0.4467        ?
   in-one-case-false                                 10.5175+-0.4541           10.1613+-0.2100          might be 1.0351x faster
   in-one-case-true                                  10.2601+-0.4903     ?     10.3661+-0.5672        ? might be 1.0103x slower
   in-two-cases                                      11.2514+-1.0200           10.4663+-0.1217          might be 1.0750x faster
   indexed-properties-in-objects                      2.8330+-0.1065            2.7987+-0.0639          might be 1.0122x faster
   infer-closure-const-then-mov-no-inline             3.6367+-0.0299            3.6158+-0.0457        
   infer-closure-const-then-mov                      16.9198+-0.9560           16.5359+-0.8449          might be 1.0232x faster
   infer-closure-const-then-put-to-scope-no-inline   
                                                     11.0358+-0.4352     ?     11.0618+-0.3820        ?
   infer-closure-const-then-put-to-scope             22.9532+-0.2240     ?     23.2004+-0.6589        ? might be 1.0108x slower
   infer-closure-const-then-reenter-no-inline   
                                                     47.7644+-0.2422     !     49.3392+-1.2674        ! definitely 1.0330x slower
   infer-closure-const-then-reenter                  23.4256+-0.5891           23.0672+-0.3060          might be 1.0155x faster
   infer-constant-global-property                     3.4322+-0.0967     ?      3.4482+-0.0909        ?
   infer-constant-property                            2.6632+-0.0518            2.6391+-0.0706        
   infer-one-time-closure-ten-vars                    7.6168+-0.2587     ?      7.8624+-0.5505        ? might be 1.0322x slower
   infer-one-time-closure-two-vars                    7.3229+-0.2797     ?      7.5268+-0.5259        ? might be 1.0278x slower
   infer-one-time-closure                             7.6011+-0.5194            7.3530+-0.2966          might be 1.0337x faster
   infer-one-time-deep-closure                       10.9122+-0.4780     ?     11.0265+-0.7039        ? might be 1.0105x slower
   inline-arguments-access                            3.9200+-0.1711            3.6307+-0.2108          might be 1.0797x faster
   inline-arguments-aliased-access                    3.6637+-0.2012     ?      3.7531+-0.2327        ? might be 1.0244x slower
   inline-arguments-local-escape                      3.7363+-0.2871            3.5824+-0.0728          might be 1.0430x faster
   inline-get-scoped-var                              4.6140+-0.1749     ?      4.7094+-0.2325        ? might be 1.0207x slower
   inlined-put-by-id-transition                       9.4710+-0.7468     ?      9.5835+-0.4960        ? might be 1.0119x slower
   inlined-put-by-val-with-string-transition   
                                                     42.3989+-1.4305     ?     43.3282+-1.9742        ? might be 1.0219x slower
   inlined-put-by-val-with-symbol-transition   
                                                     41.5263+-1.1896     ?     43.5643+-2.2842        ? might be 1.0491x slower
   int-or-other-abs-then-get-by-val                   4.6398+-0.0827     ?      4.6424+-0.1435        ?
   int-or-other-abs-zero-then-get-by-val             15.9308+-0.4501     ?     16.0905+-1.0591        ? might be 1.0100x slower
   int-or-other-add-then-get-by-val                   4.2449+-0.1846     ?      4.3650+-0.2266        ? might be 1.0283x slower
   int-or-other-add                                   5.0564+-0.1998            4.9953+-0.0729          might be 1.0122x faster
   int-or-other-div-then-get-by-val                   3.9019+-0.1973            3.8759+-0.0974        
   int-or-other-max-then-get-by-val                   3.8673+-0.0795     ?      4.0321+-0.4595        ? might be 1.0426x slower
   int-or-other-min-then-get-by-val                   4.0137+-0.2414            3.8790+-0.1177          might be 1.0347x faster
   int-or-other-mod-then-get-by-val                   3.6718+-0.0883            3.6683+-0.1102        
   int-or-other-mul-then-get-by-val                   3.6961+-0.2818     ?      3.8153+-0.3303        ? might be 1.0323x slower
   int-or-other-neg-then-get-by-val                   4.1316+-0.0420     !      4.2343+-0.0475        ! definitely 1.0249x slower
   int-or-other-neg-zero-then-get-by-val             15.8280+-0.5219     ?     16.0218+-0.6227        ? might be 1.0122x slower
   int-or-other-sub-then-get-by-val                   4.1295+-0.0556     ?      4.4807+-0.4770        ? might be 1.0850x slower
   int-or-other-sub                                   3.5891+-0.1896     ?      3.6043+-0.2544        ?
   int-overflow-local                                 4.0784+-0.0509     ?      4.1615+-0.1051        ? might be 1.0204x slower
   Int16Array-alloc-long-lived                       44.5398+-1.3120     ?     44.9177+-2.3150        ?
   Int16Array-bubble-sort-with-byteLength            22.5297+-0.5307     ?     22.6108+-0.7097        ?
   Int16Array-bubble-sort                            21.0032+-0.6891     ?     21.4707+-1.4335        ? might be 1.0223x slower
   Int16Array-load-int-mul                            1.5130+-0.0680     ?      1.5335+-0.1014        ? might be 1.0136x slower
   Int16Array-to-Int32Array-set                      47.3388+-2.1031           46.8406+-2.3129          might be 1.0106x faster
   Int32Array-alloc-large                            12.6757+-0.4058           12.6433+-1.0956        
   Int32Array-alloc-long-lived                       50.4447+-1.2392           49.8046+-1.9820          might be 1.0129x faster
   Int32Array-alloc                                   3.0185+-0.4121            2.8089+-0.2410          might be 1.0746x faster
   Int32Array-Int8Array-view-alloc                    5.9158+-0.1834            5.8873+-0.0865        
   int52-spill                                        4.5806+-0.2625     ?      4.6546+-0.2439        ? might be 1.0162x slower
   Int8Array-alloc-long-lived                        38.3211+-0.5878     ?     38.5883+-0.9692        ?
   Int8Array-load-with-byteLength                     3.5589+-0.3413     ?      3.5817+-0.5223        ?
   Int8Array-load                                     3.4303+-0.1018            3.3945+-0.0481          might be 1.0105x faster
   integer-divide                                    10.5361+-0.4979     ?     10.7180+-0.1808        ? might be 1.0173x slower
   integer-modulo                                     1.6536+-0.0709            1.5878+-0.0110          might be 1.0414x faster
   is-boolean-fold-tricky                             3.8535+-0.1246     ?      4.1421+-0.7881        ? might be 1.0749x slower
   is-boolean-fold                                    2.7448+-0.1118            2.6784+-0.0653          might be 1.0248x faster
   is-function-fold-tricky-internal-function   
                                                     10.2584+-1.4803            9.4508+-0.1359          might be 1.0855x faster
   is-function-fold-tricky                            4.0717+-0.0762     ?      4.1085+-0.2010        ?
   is-function-fold                                   2.7450+-0.1636     ?      2.7732+-0.1549        ? might be 1.0103x slower
   is-number-fold-tricky                              4.1136+-0.3050            3.8881+-0.0780          might be 1.0580x faster
   is-number-fold                                     2.6676+-0.0364     ?      2.8046+-0.3332        ? might be 1.0513x slower
   is-object-or-null-fold-functions                   2.6941+-0.0509            2.6905+-0.0321        
   is-object-or-null-fold-less-tricky                 4.0935+-0.1025     ?      4.1043+-0.2950        ?
   is-object-or-null-fold-tricky                      4.9843+-0.5292            4.7477+-0.0472          might be 1.0498x faster
   is-object-or-null-fold                             2.6812+-0.0312     ?      2.7111+-0.0786        ? might be 1.0112x slower
   is-object-or-null-trickier-function                4.1401+-0.1455            4.0301+-0.0852          might be 1.0273x faster
   is-object-or-null-trickier-internal-function   
                                                     10.0440+-0.8565            9.9434+-0.4732          might be 1.0101x faster
   is-object-or-null-tricky-function                  4.1528+-0.1502            4.1329+-0.3306        
   is-object-or-null-tricky-internal-function   
                                                      7.1708+-0.0628     !      7.4602+-0.1963        ! definitely 1.0404x slower
   is-string-fold-tricky                              4.0190+-0.1112     ?      4.0861+-0.3064        ? might be 1.0167x slower
   is-string-fold                                     2.6474+-0.0662     ?      2.6608+-0.0643        ?
   is-undefined-fold-tricky                           3.5175+-0.4024            3.3426+-0.0536          might be 1.0523x faster
   is-undefined-fold                                  2.6658+-0.0618     ?      2.6703+-0.0650        ?
   JSONP-negative-0                                   0.2839+-0.0500     ?      0.2951+-0.0351        ? might be 1.0396x slower
   large-int-captured                                 4.2995+-0.2670            4.1391+-0.2859          might be 1.0387x faster
   large-int-neg                                     14.2090+-0.4948           14.1403+-0.2410        
   large-int                                         12.8461+-0.3021     ?     12.8982+-0.2720        ?
   load-varargs-elimination                          20.7907+-0.4388     ?     21.0639+-1.1859        ? might be 1.0131x slower
   logical-not-weird-types                            3.0846+-0.0634     ?      3.1150+-0.0912        ?
   logical-not                                        4.3043+-0.1027     ?      4.5093+-0.1338        ? might be 1.0476x slower
   lots-of-fields                                     9.3366+-0.2271     ?      9.4289+-0.3492        ?
   make-indexed-storage                               2.9442+-0.0517            2.9425+-0.1514        
   make-rope-cse                                      3.5860+-0.0732            3.5358+-0.0874          might be 1.0142x faster
   marsaglia-larger-ints                             31.8971+-0.5717     ?     32.9533+-1.7326        ? might be 1.0331x slower
   marsaglia-osr-entry                               22.1085+-0.6226           21.8477+-1.6587          might be 1.0119x faster
   math-with-out-of-bounds-array-values              21.5195+-0.5144     ?     21.7285+-0.2682        ?
   max-boolean                                        2.7150+-0.1096     ?      2.7655+-0.0757        ? might be 1.0186x slower
   method-on-number                                  16.7178+-0.4867     ?     17.3589+-1.0142        ? might be 1.0384x slower
   min-boolean                                        2.6559+-0.0350     ?      2.6868+-0.0396        ? might be 1.0116x slower
   minus-boolean-double                               3.1073+-0.0268     ?      3.2379+-0.2075        ? might be 1.0420x slower
   minus-boolean                                      2.3990+-0.1375            2.3774+-0.0660        
   misc-strict-eq                                    30.3593+-1.3375           30.2788+-1.5883        
   mod-boolean-double                                11.2806+-0.3645     ?     11.6497+-0.7586        ? might be 1.0327x slower
   mod-boolean                                        8.2531+-0.0633            8.2380+-0.0651        
   mul-boolean-double                                 3.5955+-0.0728            3.5844+-0.0372        
   mul-boolean                                        2.8800+-0.0559            2.8680+-0.0902        
   neg-boolean                                        3.1321+-0.1353     ?      3.1398+-0.0375        ?
   negative-zero-divide                               0.3685+-0.0267            0.3641+-0.0162          might be 1.0122x faster
   negative-zero-modulo                               0.3405+-0.0064     ?      0.3720+-0.0350        ? might be 1.0924x slower
   negative-zero-negate                               0.3572+-0.0455            0.3424+-0.0165          might be 1.0433x faster
   nested-function-parsing                           45.4867+-0.5959           44.8925+-0.7676          might be 1.0132x faster
   new-array-buffer-dead                             86.5376+-0.8553     ?     87.4205+-1.5188        ? might be 1.0102x slower
   new-array-buffer-push                              6.3105+-0.3844            6.2522+-0.3758        
   new-array-dead                                    14.8240+-1.1642           14.6733+-0.4087          might be 1.0103x faster
   new-array-push                                     4.1733+-0.6601            3.8802+-0.4957          might be 1.0756x faster
   no-inline-constructor                             31.1029+-1.2100     ?     31.4524+-1.1763        ? might be 1.0112x slower
   number-test                                        3.0686+-0.0807     ?      3.0794+-0.0241        ?
   object-closure-call                                4.8109+-0.0125     ?      4.9240+-0.2190        ? might be 1.0235x slower
   object-get-own-property-symbols-on-large-array   
                                                      4.1071+-0.3265            4.0185+-0.1462          might be 1.0221x faster
   object-test                                        2.7266+-0.0426     ?      2.8108+-0.0979        ? might be 1.0309x slower
   obvious-sink-pathology-taken                      98.6497+-1.4329           96.6904+-0.8594          might be 1.0203x faster
   obvious-sink-pathology                            30.6201+-1.2609           29.7030+-0.2960          might be 1.0309x faster
   obviously-elidable-new-object                     29.1071+-1.2941           28.1034+-0.3317          might be 1.0357x faster
   plus-boolean-arith                                 2.4616+-0.0868            2.4238+-0.0531          might be 1.0156x faster
   plus-boolean-double                                3.1474+-0.0774     ?      3.2283+-0.2237        ? might be 1.0257x slower
   plus-boolean                                       2.4901+-0.0165     ?      2.5662+-0.0804        ? might be 1.0306x slower
   poly-chain-access-different-prototypes-simple   
                                                      2.6365+-0.1053            2.5760+-0.0471          might be 1.0235x faster
   poly-chain-access-different-prototypes             2.5845+-0.0446            2.5535+-0.0207          might be 1.0121x faster
   poly-chain-access-simpler                          2.6187+-0.0498     ?      2.6530+-0.0991        ? might be 1.0131x slower
   poly-chain-access                                  2.5374+-0.0367            2.5280+-0.0129        
   poly-stricteq                                     53.7667+-0.7260     ?     54.9659+-2.6382        ? might be 1.0223x slower
   polymorphic-array-call                             1.2743+-0.0687     ?      1.2979+-0.1011        ? might be 1.0185x slower
   polymorphic-get-by-id                              2.8896+-0.0478            2.8564+-0.0456          might be 1.0116x faster
   polymorphic-put-by-id                             27.2469+-1.1902     ?     28.3252+-1.2755        ? might be 1.0396x slower
   polymorphic-put-by-val-with-string                29.9105+-1.1990           28.3450+-0.6953          might be 1.0552x faster
   polymorphic-put-by-val-with-symbol                28.6330+-0.6627     ?     29.0069+-1.2627        ? might be 1.0131x slower
   polymorphic-structure                             12.5657+-0.3163           12.4304+-0.3439          might be 1.0109x faster
   polyvariant-monomorphic-get-by-id                  7.1891+-1.3694            6.3436+-0.8153          might be 1.1333x faster
   proto-getter-access                                8.5195+-0.6679            8.3015+-0.1321          might be 1.0263x faster
   prototype-access-with-mutating-prototype           5.8582+-0.5857            5.4668+-0.1556          might be 1.0716x faster
   put-by-id-replace-and-transition                   8.2560+-0.6574     ?      8.3359+-0.9548        ?
   put-by-id-slightly-polymorphic                     2.7175+-0.0734     ?      2.7642+-0.0636        ? might be 1.0172x slower
   put-by-id                                          9.9443+-0.6629     ?     10.1335+-1.0399        ? might be 1.0190x slower
   put-by-val-direct                                  0.3475+-0.0067            0.3442+-0.0070        
   put-by-val-large-index-blank-indexing-type   
                                                      5.2223+-0.2177     ?      5.4031+-0.3884        ? might be 1.0346x slower
   put-by-val-machine-int                             2.6501+-0.2189            2.5210+-0.0770          might be 1.0512x faster
   put-by-val-with-string-replace-and-transition   
                                                     10.3311+-0.4842     ?     10.4045+-0.4359        ?
   put-by-val-with-string-slightly-polymorphic   
                                                      3.1033+-0.3279            2.9940+-0.0731          might be 1.0365x faster
   put-by-val-with-string                            10.5880+-0.4029     ?     11.0111+-0.7442        ? might be 1.0400x slower
   put-by-val-with-symbol-replace-and-transition   
                                                     12.1357+-1.0935           12.0374+-0.8056        
   put-by-val-with-symbol-slightly-polymorphic   
                                                      3.2055+-0.0597            3.1869+-0.1329        
   put-by-val-with-symbol                            10.8293+-0.8864           10.3004+-0.6066          might be 1.0514x faster
   rare-osr-exit-on-local                            13.8617+-0.2932           13.8282+-0.2454        
   raytrace-with-empty-try-catch                      5.2255+-0.0951            5.1919+-0.0979        
   raytrace-with-try-catch                            9.9438+-0.3549     ?      9.9993+-0.4211        ?
   register-pressure-from-osr                        16.9943+-0.2869           16.8956+-0.7804        
   repeat-multi-get-by-offset                        21.9092+-0.4661     ?     22.3863+-0.9841        ? might be 1.0218x slower
   richards-empty-try-catch                          72.3633+-1.6981           71.2614+-1.4429          might be 1.0155x faster
   richards-try-catch                               238.1222+-1.4932     ?    240.7588+-4.2162        ? might be 1.0111x slower
   setter-prototype                                   7.8104+-0.1840            7.7300+-0.2227          might be 1.0104x faster
   setter                                             6.0621+-0.7662            5.7443+-0.6861          might be 1.0553x faster
   simple-activation-demo                            24.2598+-0.4136     ?     24.2963+-0.4458        ?
   simple-getter-access                              10.8940+-0.5429           10.7335+-0.2724          might be 1.0150x faster
   simple-poly-call-nested                            8.6242+-0.6577     ?      8.6556+-0.4443        ?
   simple-poly-call                                   1.2883+-0.0382            1.2740+-0.0367          might be 1.0112x faster
   sin-boolean                                       19.6708+-2.4510           19.4744+-2.5716          might be 1.0101x faster
   singleton-scope                                   62.9169+-2.3956           62.8811+-1.1362        
   sink-function                                      9.5434+-0.5339     ?      9.7332+-0.6088        ? might be 1.0199x slower
   sink-huge-activation                              16.5152+-1.7552           15.8017+-0.8378          might be 1.0452x faster
   sinkable-new-object-dag                           53.3141+-2.4315     ?     53.7754+-3.1723        ?
   sinkable-new-object-taken                         41.3283+-2.5089           41.2583+-1.5703        
   sinkable-new-object                               30.8825+-1.4349           29.7479+-0.6290          might be 1.0381x faster
   slow-array-profile-convergence                     2.5543+-0.1387     ?      2.5743+-0.1171        ?
   slow-convergence                                   2.4603+-0.1447            2.4045+-0.0398          might be 1.0232x faster
   slow-ternaries                                    18.8490+-2.4904           17.6541+-0.8220          might be 1.0677x faster
   sorting-benchmark                                 17.2112+-0.5385           17.1064+-0.3722        
   sparse-conditional                                 1.1995+-0.0405     ?      1.2884+-0.2826        ? might be 1.0741x slower
   splice-to-remove                                  12.3164+-0.6428     ?     12.5199+-0.6823        ? might be 1.0165x slower
   string-char-code-at                               13.2653+-0.4288     ?     13.5080+-0.7164        ? might be 1.0183x slower
   string-concat-object                               2.2413+-0.2005            2.1672+-0.0615          might be 1.0342x faster
   string-concat-pair-object                          2.3022+-0.3589            2.2242+-0.1961          might be 1.0351x faster
   string-concat-pair-simple                          9.5400+-0.9064     ?      9.8887+-1.1269        ? might be 1.0365x slower
   string-concat-simple                               9.4359+-0.4570     ?      9.8567+-0.6584        ? might be 1.0446x slower
   string-cons-repeat                                 6.4762+-0.1758     ?      6.9020+-0.9030        ? might be 1.0658x slower
   string-cons-tower                                  6.8558+-0.4001            6.7921+-0.4884        
   string-equality                                   18.4949+-0.1730           18.2375+-0.2313          might be 1.0141x faster
   string-get-by-val-big-char                         6.3567+-0.1065     ?      6.4920+-0.1850        ? might be 1.0213x slower
   string-get-by-val-out-of-bounds-insane             3.2708+-0.5357     ?      3.3620+-0.5400        ? might be 1.0279x slower
   string-get-by-val-out-of-bounds                    3.9401+-0.0699            3.9327+-0.0739        
   string-get-by-val                                  2.8233+-0.0295     ?      2.9546+-0.1763        ? might be 1.0465x slower
   string-hash                                        1.8894+-0.0205     ?      1.9512+-0.0756        ? might be 1.0327x slower
   string-long-ident-equality                        15.0712+-0.4439           14.8371+-0.1304          might be 1.0158x faster
   string-out-of-bounds                              10.3210+-0.3295           10.2336+-0.2870        
   string-repeat-arith                               27.0485+-0.4167           26.6710+-0.4574          might be 1.0142x faster
   string-sub                                        33.2005+-1.1017           31.9526+-0.8942          might be 1.0391x faster
   string-test                                        2.8951+-0.0478     ?      2.8982+-0.0659        ?
   string-var-equality                               27.7613+-1.1132           27.4795+-0.5161          might be 1.0103x faster
   structure-hoist-over-transitions                   2.3610+-0.0946     ?      2.5132+-0.6451        ? might be 1.0644x slower
   substring-concat-weird                            36.9986+-1.4485           35.9233+-1.1536          might be 1.0299x faster
   substring-concat                                  39.5609+-1.2283     ?     40.3029+-2.8964        ? might be 1.0188x slower
   substring                                         45.6064+-1.3212     ?     46.9231+-2.0144        ? might be 1.0289x slower
   switch-char-constant                               2.7728+-0.2491            2.7128+-0.0592          might be 1.0221x faster
   switch-char                                        5.2663+-0.0830     ?      5.8569+-0.6539        ? might be 1.1121x slower
   switch-constant                                    8.2541+-0.7611            8.1278+-0.4909          might be 1.0155x faster
   switch-string-basic-big-var                       15.5686+-1.2407           14.9179+-0.5532          might be 1.0436x faster
   switch-string-basic-big                           15.1331+-0.4168           14.9985+-0.2454        
   switch-string-basic-var                           13.6699+-0.4953           13.5677+-0.2052        
   switch-string-basic                               12.9603+-0.2257     ?     13.3691+-0.4812        ? might be 1.0315x slower
   switch-string-big-length-tower-var                18.3015+-1.2340     ?     19.2953+-3.4024        ? might be 1.0543x slower
   switch-string-length-tower-var                    13.6220+-0.4969           13.3240+-0.0995          might be 1.0224x faster
   switch-string-length-tower                        11.9558+-0.2761     ?     12.2077+-0.6684        ? might be 1.0211x slower
   switch-string-short                               12.1549+-0.5397           11.8635+-0.2226          might be 1.0246x faster
   switch                                            11.4986+-0.5984           10.9931+-0.3250          might be 1.0460x faster
   tear-off-arguments-simple                          3.1565+-0.0820            3.1181+-0.1434          might be 1.0123x faster
   tear-off-arguments                                 4.1142+-0.1826     ?      4.1322+-0.2588        ?
   temporal-structure                                12.1630+-0.5154           11.9309+-0.2603          might be 1.0195x faster
   to-int32-boolean                                  12.8903+-0.5832     ?     13.0327+-0.7969        ? might be 1.0111x slower
   try-catch-get-by-val-cloned-arguments              9.6115+-0.4567            9.5579+-0.7987        
   try-catch-get-by-val-direct-arguments              2.0658+-0.0811     ?      2.2406+-0.4069        ? might be 1.0846x slower
   try-catch-get-by-val-scoped-arguments              4.6080+-0.2316            4.4499+-0.2220          might be 1.0355x faster
   typed-array-get-set-by-val-profiling              27.4158+-0.5626     ?     27.8309+-0.6184        ? might be 1.0151x slower
   undefined-property-access                        214.6611+-1.8689     ?    214.8764+-1.8731        ?
   undefined-test                                     3.0994+-0.0958            3.0525+-0.0566          might be 1.0153x faster
   unprofiled-licm                                    9.3766+-0.2661            9.2440+-0.2344          might be 1.0143x faster
   v8-raytrace-with-empty-try-catch                  24.6860+-0.9082     ?     25.0119+-1.3069        ? might be 1.0132x slower
   v8-raytrace-with-try-catch                        62.3907+-2.4155     ?     63.0396+-1.8830        ? might be 1.0104x slower
   varargs-call                                      13.3937+-0.5590           13.1034+-0.2518          might be 1.0222x faster
   varargs-construct-inline                          21.8566+-0.8256           21.8475+-1.0024        
   varargs-construct                                 20.4637+-1.1211           19.8851+-0.1590          might be 1.0291x faster
   varargs-inline                                     8.7420+-0.0806     ?      8.8123+-0.1907        ?
   varargs-strict-mode                               10.1206+-0.3106     ?     10.1837+-0.6464        ?
   varargs                                           10.0839+-0.2681            9.8012+-0.1801          might be 1.0288x faster
   weird-inlining-const-prop                          2.2222+-0.0962            2.1648+-0.1904          might be 1.0265x faster

   <geometric>                                        8.1603+-0.0212     ?      8.1611+-0.0228        ? might be 1.0001x slower

                                                        TipOfTree               NewDominators                                   
AsmBench:
   bigfib.cpp                                       451.5435+-11.2508         448.0846+-9.1766        
   cray.c                                           391.7970+-1.5150          391.7334+-1.4458        
   dry.c                                            425.0862+-6.7041     ?    425.7143+-5.4655        ?
   FloatMM.c                                        744.7839+-150.6567        684.8712+-2.2893          might be 1.0875x faster
   gcc-loops.cpp                                   3444.3212+-21.5259        3426.4317+-5.4193        
   n-body.c                                         826.3824+-3.3746     ?    829.4751+-4.9826        ?
   Quicksort.c                                      406.2780+-5.4566     ?    411.6695+-6.6959        ? might be 1.0133x slower
   stepanov_container.cpp                          3561.0809+-37.3014        3529.1823+-20.9706       
   Towers.c                                         233.9718+-2.4748          232.1652+-2.0276        

   <geometric>                                      722.0098+-15.1554         715.3346+-1.6187          might be 1.0093x faster

                                                        TipOfTree               NewDominators                                   
CompressionBench:
   huffman                                           60.6407+-1.4842     ?     60.9710+-1.3013        ?
   arithmetic-simple                                278.7698+-1.8883          276.7524+-1.8807        
   arithmetic-precise                               249.2433+-2.5384     ?    252.2734+-10.8825       ? might be 1.0122x slower
   arithmetic-complex-precise                       248.5420+-2.5814     !    257.1169+-5.8317        ! definitely 1.0345x slower
   arithmetic-precise-order-0                       293.3110+-9.3772          288.2405+-3.6717          might be 1.0176x faster
   arithmetic-precise-order-1                       310.1847+-2.6331          308.8733+-3.8649        
   arithmetic-precise-order-2                       357.7827+-11.2350         354.2104+-5.5855          might be 1.0101x faster
   arithmetic-simple-order-1                        323.6185+-3.5539          322.3414+-1.4815        
   arithmetic-simple-order-2                        374.6207+-3.9164     ?    375.7801+-4.6381        ?
   lz-string                                        314.1019+-7.1368          312.7203+-5.6477        

   <geometric>                                      257.7951+-1.3518     ?    257.9794+-1.6055        ? might be 1.0007x slower

                                                        TipOfTree               NewDominators                                   
Geomean of preferred means:
   <scaled-result>                                   50.5546+-0.1668           50.4193+-0.1337          might be 1.0027x faster
Comment 9 Filip Pizlo 2015-11-01 16:49:23 PST
Landed in http://trac.webkit.org/changeset/191870