Bug 144500 - FTL should use AI more
Summary: FTL should use AI more
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks: 144396
  Show dependency treegraph
 
Reported: 2015-05-01 14:25 PDT by Filip Pizlo
Modified: 2015-05-01 19:02 PDT (History)
11 users (show)

See Also:


Attachments
the patch (34.95 KB, patch)
2015-05-01 14:30 PDT, Filip Pizlo
oliver: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-05-01 14:25:07 PDT
Currently if a DFG Node semantically requires a check, and we know that the check is redundant, then one of three things happen in the FTL backend:

1) If the check is part of the edge, then we will correctly remove it and not emit any LLVM IR for the check.

2) If the check is the only thing that the node does, and AI knows this, then ConstantFoldingPhase will remove the node before we get to the backend.

3) If the node does many things and also the check (or AI just doesn't know about the check), then we will emit LLVM IR for the check.  In many (most?) cases, LLVM will not remove the check because it will involve things opaque to LLVM - like loading the type part of the object's header.

An easy simplification is to have all of the isNumber/isCell/isBlah things in FTL::LowerDFGToLLVM have a mode where they return an LLVM constant if we have already proved that the incoming value either is, or isn't, the type in question.  This will be slightly less effective than (1) or (2) since we will still emit control flow for the unreachable path, but in the end LLVM will prove this control flow unreachable and kill the code - so it's much better than falling over to (3).
Comment 1 Filip Pizlo 2015-05-01 14:30:03 PDT
Created attachment 252170 [details]
the patch

Still testing.
Comment 2 Filip Pizlo 2015-05-01 14:34:58 PDT
Comment on attachment 252170 [details]
the patch

Tests look good.
Comment 3 Oliver Hunt 2015-05-01 14:57:10 PDT
r=me
Comment 4 Filip Pizlo 2015-05-01 18:59:04 PDT
Perf results:


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

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc (r183690)
"MoreFTLAI" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r183690)

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                 MoreFTLAI                                     
SunSpider:
   3d-cube                                            5.2133+-0.0795            5.1772+-0.2274        
   3d-morph                                           5.9275+-0.4923            5.6884+-0.0466          might be 1.0420x faster
   3d-raytrace                                        6.6423+-0.2193     ?      6.7980+-0.3876        ? might be 1.0234x slower
   access-binary-trees                                2.3872+-0.2838     ?      2.4725+-0.2796        ? might be 1.0357x slower
   access-fannkuch                                    5.9384+-0.0584     ?      6.0561+-0.0600        ? might be 1.0198x slower
   access-nbody                                       2.9783+-0.1081     ?      3.0376+-0.3555        ? might be 1.0199x slower
   access-nsieve                                      3.7810+-0.5797            3.5013+-0.1663          might be 1.0799x faster
   bitops-3bit-bits-in-byte                           1.5973+-0.0929            1.5848+-0.0317        
   bitops-bits-in-byte                                3.4451+-0.1167            3.4295+-0.2379        
   bitops-bitwise-and                                 2.3495+-0.2814     ?      2.4855+-0.4972        ? might be 1.0579x slower
   bitops-nsieve-bits                                 3.3498+-0.0578            3.1578+-0.1384          might be 1.0608x faster
   controlflow-recursive                              2.3274+-0.0884     ?      2.3531+-0.1674        ? might be 1.0110x slower
   crypto-aes                                         4.5859+-0.3922            4.4660+-0.2107          might be 1.0268x faster
   crypto-md5                                         2.7709+-0.1175            2.7414+-0.0646          might be 1.0108x faster
   crypto-sha1                                        2.7829+-0.4133     ?      2.8441+-0.1949        ? might be 1.0220x slower
   date-format-tofte                                  9.3397+-0.0997            9.3347+-0.1660        
   date-format-xparb                                  6.0081+-0.3723            5.8291+-0.1357          might be 1.0307x faster
   math-cordic                                        3.0940+-0.0600     ?      3.2202+-0.1216        ? might be 1.0408x slower
   math-partial-sums                                  5.3037+-0.2894            5.1355+-0.0823          might be 1.0328x faster
   math-spectral-norm                                 1.9854+-0.1007            1.9729+-0.0455        
   regexp-dna                                         7.4698+-0.6942     ?      7.6868+-1.2284        ? might be 1.0290x slower
   string-base64                                      4.6440+-0.0848     ?      4.8016+-0.2038        ? might be 1.0339x slower
   string-fasta                                       7.1996+-0.7634            6.6023+-0.0712          might be 1.0905x faster
   string-tagcloud                                   10.1591+-0.8704            9.8838+-0.4434          might be 1.0279x faster
   string-unpack-code                                19.6481+-0.5739     ?     19.8948+-0.4623        ? might be 1.0126x slower
   string-validate-input                              5.1004+-0.3996            4.9414+-0.1250          might be 1.0322x faster

   <arithmetic>                                       5.2319+-0.0505            5.1960+-0.1120          might be 1.0069x faster

                                                        TipOfTree                 MoreFTLAI                                     
LongSpider:
   3d-cube                                          880.3380+-3.7383          879.7421+-7.3005        
   3d-morph                                        1537.0615+-11.5951        1527.0977+-3.3197        
   3d-raytrace                                      736.6251+-5.5384     ?    738.2175+-7.9744        ?
   access-binary-trees                             1031.0794+-6.4369         1030.2230+-9.3079        
   access-fannkuch                                  333.2329+-7.7392          331.3734+-8.7112        
   access-nbody                                     614.2570+-8.4289          611.4084+-3.8249        
   access-nsieve                                    889.4714+-52.2526         867.1235+-15.0022         might be 1.0258x faster
   bitops-3bit-bits-in-byte                          45.0355+-1.0570           44.0007+-0.5216          might be 1.0235x faster
   bitops-bits-in-byte                              102.8556+-1.7012          101.5980+-1.7503          might be 1.0124x faster
   bitops-nsieve-bits                               619.1204+-7.2095     ?    620.4943+-8.5617        ?
   controlflow-recursive                            485.2850+-4.8206     ^    477.7298+-0.5814        ^ definitely 1.0158x faster
   crypto-aes                                       740.9060+-89.0383         705.5165+-11.0669         might be 1.0502x faster
   crypto-md5                                       522.5791+-13.4974         521.9200+-3.3580        
   crypto-sha1                                      604.1404+-4.8704     ^    596.2706+-2.5012        ^ definitely 1.0132x faster
   date-format-tofte                                751.5618+-15.0732    ?    763.1029+-17.7852       ? might be 1.0154x slower
   date-format-xparb                                776.3487+-26.4682    ?    788.3760+-15.0947       ? might be 1.0155x slower
   math-cordic                                      595.5014+-6.3360          590.3419+-0.8924        
   math-partial-sums                                506.9176+-3.7763     ?    508.3313+-7.9377        ?
   math-spectral-norm                               563.1100+-0.6215     ?    563.7069+-0.8838        ?
   string-base64                                    380.5107+-3.2877          380.0783+-4.9997        
   string-fasta                                     445.1062+-8.9908          436.7726+-6.8359          might be 1.0191x faster
   string-tagcloud                                  198.3724+-1.7980     ?    199.5186+-2.0562        ?

   <geometric>                                      496.1875+-3.8930          493.1226+-1.4937          might be 1.0062x faster

                                                        TipOfTree                 MoreFTLAI                                     
V8Spider:
   crypto                                            56.7966+-2.7121     ?     57.5188+-1.3782        ? might be 1.0127x slower
   deltablue                                         96.8408+-5.9147           95.7688+-3.5300          might be 1.0112x faster
   earley-boyer                                      45.6005+-1.1738           44.7037+-1.8691          might be 1.0201x faster
   raytrace                                          41.6544+-1.4062           40.6227+-2.1933          might be 1.0254x faster
   regexp                                            80.5423+-2.8199     ?     83.6920+-1.7095        ? might be 1.0391x slower
   richards                                          79.7606+-1.8978     ?     80.7830+-1.2605        ? might be 1.0128x slower
   splay                                             39.7906+-2.1261     ?     40.3687+-2.4673        ? might be 1.0145x slower

   <geometric>                                       59.5646+-1.0245     ?     59.7517+-0.3412        ? might be 1.0031x slower

                                                        TipOfTree                 MoreFTLAI                                     
Octane:
   encrypt                                           0.20240+-0.00085    ?     0.20334+-0.00162       ?
   decrypt                                           3.61096+-0.05194          3.59739+-0.05911       
   deltablue                                x2       0.20848+-0.00173          0.20837+-0.00154       
   earley                                            0.53948+-0.00416          0.53818+-0.00454       
   boyer                                             6.75936+-0.04303    ?     6.77409+-0.10176       ?
   navier-stokes                            x2       5.22688+-0.07516          5.18956+-0.04771       
   raytrace                                 x2       1.27678+-0.04240          1.26585+-0.03956       
   richards                                 x2       0.12307+-0.00153    ?     0.12385+-0.00302       ?
   splay                                    x2       0.40720+-0.00566          0.40436+-0.00269       
   regexp                                   x2      31.57328+-0.27195    ?    31.72521+-0.39563       ?
   pdfjs                                    x2      43.68045+-0.38045         43.63777+-0.57114       
   mandreel                                 x2      50.48890+-0.25868    ?    50.67894+-1.11515       ?
   gbemu                                    x2      42.47940+-2.77590         41.96119+-0.46707         might be 1.0123x faster
   closure                                           0.56569+-0.00392    ?     0.56840+-0.00698       ?
   jquery                                            7.22325+-0.08612          7.16136+-0.04874       
   box2d                                    x2      12.33748+-0.18167         12.29050+-0.16227       
   zlib                                     x2     382.59528+-18.67880   ?   391.42424+-15.02485      ? might be 1.0231x slower
   typescript                               x2     844.90592+-7.18286        837.30575+-8.59770       

   <geometric>                                       6.74248+-0.04577          6.73716+-0.03208         might be 1.0008x faster

                                                        TipOfTree                 MoreFTLAI                                     
Kraken:
   ai-astar                                          271.647+-3.214            271.308+-2.494         
   audio-beat-detection                              107.367+-0.844            107.258+-0.547         
   audio-dft                                         151.540+-5.090            151.117+-3.870         
   audio-fft                                          85.544+-4.676             80.863+-1.802           might be 1.0579x faster
   audio-oscillator                                  208.194+-3.894      ?     210.586+-3.945         ? might be 1.0115x slower
   imaging-darkroom                                  104.178+-1.281      !     107.158+-0.736         ! definitely 1.0286x slower
   imaging-desaturate                                 63.246+-1.675      ?      65.293+-1.886         ? might be 1.0324x slower
   imaging-gaussian-blur                             125.636+-33.479           111.453+-1.102           might be 1.1273x faster
   json-parse-financial                               48.377+-2.673             46.781+-2.067           might be 1.0341x faster
   json-stringify-tinderbox                           56.944+-1.800             56.677+-1.399         
   stanford-crypto-aes                                58.800+-0.756      ?      59.095+-0.514         ?
   stanford-crypto-ccm                                60.199+-1.862      ?      60.907+-1.855         ? might be 1.0118x slower
   stanford-crypto-pbkdf2                            138.244+-2.469      ?     138.421+-1.550         ?
   stanford-crypto-sha256-iterative                   52.972+-1.834             52.677+-1.552         

   <arithmetic>                                      109.492+-2.594            108.543+-0.380           might be 1.0087x faster

                                                        TipOfTree                 MoreFTLAI                                     
JSRegress:
   abs-boolean                                        2.6532+-0.0689     ?      2.6987+-0.1037        ? might be 1.0172x slower
   adapt-to-double-divide                            16.7131+-0.3753     ?     17.1041+-0.6751        ? might be 1.0234x slower
   aliased-arguments-getbyval                         1.2282+-0.0873     ?      1.3534+-0.2456        ? might be 1.1019x slower
   allocate-big-object                                3.0398+-0.2851            3.0078+-0.3075          might be 1.0106x faster
   arguments-named-and-reflective                    13.2784+-1.6006           13.1526+-1.5246        
   arguments-out-of-bounds                           15.6865+-2.7653           14.8362+-0.1749          might be 1.0573x faster
   arguments-strict-mode                             12.0017+-0.8217     ?     12.2829+-0.8253        ? might be 1.0234x slower
   arguments                                         10.4624+-0.2240     ?     11.3345+-1.1943        ? might be 1.0834x slower
   arity-mismatch-inlining                            0.8472+-0.1060            0.8250+-0.0344          might be 1.0269x faster
   array-access-polymorphic-structure                 7.2938+-0.8956            6.9022+-0.2619          might be 1.0567x faster
   array-nonarray-polymorhpic-access                 33.8220+-1.6674     ?     34.3955+-1.5508        ? might be 1.0170x slower
   array-prototype-every                             87.8969+-1.7488     ?     88.7825+-1.2540        ? might be 1.0101x slower
   array-prototype-forEach                           85.3063+-4.0894     ?     85.9800+-2.1328        ?
   array-prototype-map                               93.3947+-1.8865     ?     95.1311+-2.1259        ? might be 1.0186x slower
   array-prototype-some                              86.7135+-2.2354     ?     88.4930+-2.1371        ? might be 1.0205x slower
   array-splice-contiguous                           41.3620+-1.1539     ?     41.9445+-2.3152        ? might be 1.0141x slower
   array-with-double-add                              4.2001+-0.1673     ?      4.3679+-0.3390        ? might be 1.0400x slower
   array-with-double-increment                        3.2287+-0.1231            3.2050+-0.0483        
   array-with-double-mul-add                          5.0745+-0.0813     ?      5.1350+-0.2111        ? might be 1.0119x slower
   array-with-double-sum                              3.2942+-0.1417            3.2325+-0.0370          might be 1.0191x faster
   array-with-int32-add-sub                           6.7590+-0.0817     ?      6.7876+-0.0630        ?
   array-with-int32-or-double-sum                     3.3090+-0.0122     ?      3.3595+-0.1085        ? might be 1.0153x slower
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     34.2374+-1.8286           33.2493+-1.4343          might be 1.0297x faster
   ArrayBuffer-DataView-alloc-long-lived             14.7597+-1.5999     ?     15.0086+-1.8157        ? might be 1.0169x slower
   ArrayBuffer-Int32Array-byteOffset                  3.7353+-0.0767     ?      4.0595+-0.4023        ? might be 1.0868x slower
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     32.3698+-1.5176           32.0557+-0.5443        
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     22.7548+-1.5900     ?     23.6108+-1.6542        ? might be 1.0376x slower
   ArrayBuffer-Int8Array-alloc-long-lived            13.6327+-1.5348           12.5210+-0.2956          might be 1.0888x faster
   ArrayBuffer-Int8Array-alloc                       11.0868+-1.4606           10.5878+-0.1412          might be 1.0471x faster
   asmjs_bool_bug                                     7.9972+-0.5881            7.7287+-0.1327          might be 1.0347x faster
   assign-custom-setter-polymorphic                   3.7447+-0.6260     ?      3.7835+-0.4957        ? might be 1.0104x slower
   assign-custom-setter                               4.9148+-1.0126     ?      5.1218+-0.7031        ? might be 1.0421x slower
   basic-set                                          9.9056+-2.1102            8.6635+-0.4080          might be 1.1434x faster
   big-int-mul                                        3.9925+-0.0992            3.9812+-0.1007        
   boolean-test                                       3.1130+-0.1915            3.0451+-0.0415          might be 1.0223x faster
   branch-fold                                        3.8822+-0.3455            3.8608+-0.2830        
   branch-on-string-as-boolean                       19.7961+-1.3151           19.7430+-0.8583        
   by-val-generic                                     8.1956+-0.2858     ?      8.6039+-0.6392        ? might be 1.0498x slower
   call-spread-apply                                 29.8975+-1.1445     ?     31.3193+-2.0170        ? might be 1.0476x slower
   call-spread-call                                  26.8125+-2.1837           26.0535+-1.3785          might be 1.0291x faster
   captured-assignments                               0.4429+-0.0301            0.4277+-0.0187          might be 1.0354x faster
   cast-int-to-double                                 5.3067+-0.0655            5.2985+-0.1494        
   cell-argument                                      8.5354+-0.1094     ?      8.6650+-0.2478        ? might be 1.0152x slower
   cfg-simplify                                       3.3682+-0.6105            3.0831+-0.1051          might be 1.0925x faster
   chain-getter-access                                9.9694+-0.1751     ?     10.0901+-0.3222        ? might be 1.0121x slower
   cmpeq-obj-to-obj-other                            12.2104+-1.5596           11.6854+-0.9851          might be 1.0449x faster
   constant-test                                      4.9333+-0.0399     ?      4.9635+-0.0616        ?
   create-lots-of-functions                          12.0253+-0.4241           11.9133+-0.3042        
   DataView-custom-properties                        36.8258+-1.2684     ?     38.1585+-1.5732        ? might be 1.0362x slower
   deconstructing-parameters-overridden-by-function   
                                                      0.4775+-0.0257     ?      0.5287+-0.0718        ? might be 1.1072x slower
   delay-tear-off-arguments-strictmode               14.0673+-0.2366     ?     14.0848+-0.1102        ?
   deltablue-varargs                                203.1466+-2.1432     ?    206.6475+-4.0448        ? might be 1.0172x slower
   destructuring-arguments                           17.9766+-0.6230     ?     18.1674+-0.4335        ? might be 1.0106x slower
   destructuring-swap                                 5.0802+-0.0580     ?      5.2391+-0.3874        ? might be 1.0313x slower
   direct-arguments-getbyval                          1.2691+-0.1583     ?      1.3191+-0.1050        ? might be 1.0394x slower
   div-boolean-double                                 5.3076+-0.2356            5.2609+-0.2113        
   div-boolean                                        7.9670+-0.3144            7.8293+-0.0800          might be 1.0176x faster
   double-get-by-val-out-of-bounds                    4.5647+-0.1805            4.5240+-0.0752        
   double-pollution-getbyval                          8.9323+-0.2052     ?      8.9875+-0.1841        ?
   double-pollution-putbyoffset                       4.3159+-0.1327            4.2780+-0.0673        
   double-to-int32-typed-array-no-inline              2.2410+-0.0405     ?      2.2885+-0.0844        ? might be 1.0212x slower
   double-to-int32-typed-array                        1.9651+-0.0329            1.9489+-0.0387        
   double-to-uint32-typed-array-no-inline             2.3393+-0.0659     ?      2.3468+-0.1319        ?
   double-to-uint32-typed-array                       2.0889+-0.1280            2.0181+-0.0152          might be 1.0351x faster
   elidable-new-object-dag                           45.5297+-1.2567           43.6402+-1.6210          might be 1.0433x faster
   elidable-new-object-roflcopter                    46.8773+-2.1695     ?     48.5299+-1.4850        ? might be 1.0353x slower
   elidable-new-object-then-call                     39.1847+-1.1683     ?     39.6617+-2.0794        ? might be 1.0122x slower
   elidable-new-object-tree                          45.3700+-1.7544     ?     46.3948+-2.5814        ? might be 1.0226x slower
   empty-string-plus-int                              5.5806+-0.4786            5.5476+-0.4084        
   emscripten-cube2hash                              39.5888+-1.4544     ?     40.0063+-0.9569        ? might be 1.0105x slower
   exit-length-on-plain-object                       14.6018+-1.2862     ?     14.8219+-1.5466        ? might be 1.0151x slower
   external-arguments-getbyval                        1.2605+-0.0522            1.2399+-0.0845          might be 1.0166x faster
   external-arguments-putbyval                        2.3460+-0.0804     ?      2.3919+-0.2728        ? might be 1.0196x slower
   fixed-typed-array-storage-var-index                1.2083+-0.0355     ?      1.2411+-0.0332        ? might be 1.0271x slower
   fixed-typed-array-storage                          0.8890+-0.0510     ?      0.9294+-0.1305        ? might be 1.0455x slower
   Float32Array-matrix-mult                           4.7928+-0.4407     ?      5.0573+-1.0362        ? might be 1.0552x slower
   Float32Array-to-Float64Array-set                  52.7313+-1.7864     !     56.9566+-1.8235        ! definitely 1.0801x slower
   Float64Array-alloc-long-lived                     73.8189+-1.8595     ?     73.9422+-1.1068        ?
   Float64Array-to-Int16Array-set                    71.9711+-1.9466           68.6934+-1.9773          might be 1.0477x faster
   fold-double-to-int                                13.5618+-0.2239           13.4395+-0.2347        
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     11.2015+-1.7005           10.6383+-1.4990          might be 1.0529x faster
   fold-get-by-id-to-multi-get-by-offset             11.0042+-0.8447           10.2380+-1.0180          might be 1.0748x faster
   fold-multi-get-by-offset-to-get-by-offset   
                                                      9.7298+-0.9990            9.1572+-0.9675          might be 1.0625x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      9.0404+-1.0069            8.7969+-0.6120          might be 1.0277x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      9.3693+-1.3091            9.2808+-0.9562        
   fold-multi-put-by-offset-to-put-by-offset   
                                                      5.9202+-0.7987            5.2061+-0.5908          might be 1.1372x faster
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                      9.8733+-0.1383            9.6226+-0.4190          might be 1.0261x faster
   fold-put-by-id-to-multi-put-by-offset              9.7646+-1.3738     ?     10.4747+-1.6072        ? might be 1.0727x slower
   fold-put-structure                                 5.0758+-0.1885            4.4408+-0.7235          might be 1.1430x faster
   for-of-iterate-array-entries                       4.8081+-0.4275            4.6853+-0.1211          might be 1.0262x faster
   for-of-iterate-array-keys                          3.7945+-0.1781     ?      3.9170+-0.2184        ? might be 1.0323x slower
   for-of-iterate-array-values                        3.8639+-0.3262            3.8258+-0.1452        
   fround                                            21.6990+-0.7096           20.7475+-0.4076          might be 1.0459x faster
   ftl-library-inlining-dataview                     63.9498+-0.6669     ?     64.7902+-0.4674        ? might be 1.0131x slower
   ftl-library-inlining                              74.6216+-19.0414          73.5344+-18.7880         might be 1.0148x faster
   function-dot-apply                                 2.2258+-0.0259     ?      2.2297+-0.0197        ?
   function-test                                      3.4830+-0.1900            3.3632+-0.0942          might be 1.0356x faster
   function-with-eval                               108.8488+-4.1650          104.5817+-5.4995          might be 1.0408x faster
   gcse-poly-get-less-obvious                        18.8887+-0.8727           18.5819+-0.4669          might be 1.0165x faster
   gcse-poly-get                                     19.8960+-0.9794     ?     21.9863+-1.9819        ? might be 1.1051x slower
   gcse                                               4.3861+-0.1766     ?      4.3932+-0.1142        ?
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.8168+-0.3469     ?      2.8516+-0.3516        ? might be 1.0124x slower
   get-by-id-bimorphic-check-structure-elimination   
                                                      6.2942+-0.4022            6.0121+-0.0404          might be 1.0469x faster
   get-by-id-chain-from-try-block                     7.9955+-1.5593            7.9932+-1.2972        
   get-by-id-check-structure-elimination              5.1030+-0.0724     ?      5.2260+-0.1808        ? might be 1.0241x slower
   get-by-id-proto-or-self                           17.2528+-1.1109           16.8545+-0.4613          might be 1.0236x faster
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.1087+-0.0269     ?      3.1535+-0.0365        ? might be 1.0144x slower
   get-by-id-self-or-proto                           17.6817+-0.7039     ?     17.7655+-0.6270        ?
   get-by-val-out-of-bounds                           4.4183+-0.0707            4.3658+-0.0565          might be 1.0120x faster
   get_callee_monomorphic                             2.9043+-0.1635            2.8545+-0.0690          might be 1.0174x faster
   get_callee_polymorphic                             3.7586+-0.0358     ?      3.7621+-0.0394        ?
   getter-no-activation                               5.0117+-0.2721     ?      5.1100+-0.2918        ? might be 1.0196x slower
   getter-richards                                  123.0515+-5.3821     ?    128.3137+-4.5004        ? might be 1.0428x slower
   getter                                             5.6591+-0.5833     ?      5.7242+-0.6452        ? might be 1.0115x slower
   global-var-const-infer-fire-from-opt               1.0064+-0.0989            0.9644+-0.0854          might be 1.0435x faster
   global-var-const-infer                             0.8326+-0.1029            0.7823+-0.1284          might be 1.0643x faster
   HashMap-put-get-iterate-keys                      26.3791+-0.9242           25.6685+-0.6340          might be 1.0277x faster
   HashMap-put-get-iterate                           25.7738+-0.4047     ?     25.9108+-0.6623        ?
   HashMap-string-put-get-iterate                    28.0664+-0.9138           27.1344+-1.0075          might be 1.0343x faster
   hoist-make-rope                                   12.5505+-1.0195     ?     13.2768+-2.1419        ? might be 1.0579x slower
   hoist-poly-check-structure-effectful-loop   
                                                      5.0693+-0.1459     ?      5.0995+-0.1770        ?
   hoist-poly-check-structure                         3.6497+-0.0414     ?      3.9323+-0.3503        ? might be 1.0775x slower
   imul-double-only                                   8.5460+-0.1508     ?      8.6101+-0.4420        ?
   imul-int-only                                      9.6672+-0.1689     ?      9.7228+-0.1018        ?
   imul-mixed                                         8.5146+-0.1935     ?      8.6381+-0.6846        ? might be 1.0145x slower
   in-four-cases                                     20.7144+-0.3607     ?     20.8560+-0.4567        ?
   in-one-case-false                                 10.8997+-0.8775           10.1967+-0.6982          might be 1.0689x faster
   in-one-case-true                                  10.6481+-0.7278           10.3528+-0.6383          might be 1.0285x faster
   in-two-cases                                      10.2253+-0.3437     ?     10.3432+-0.3304        ? might be 1.0115x slower
   indexed-properties-in-objects                      3.0571+-0.3568     ?      3.1997+-0.2148        ? might be 1.0467x slower
   infer-closure-const-then-mov-no-inline             3.8791+-0.0212     ?      3.9184+-0.0937        ? might be 1.0101x slower
   infer-closure-const-then-mov                      20.5756+-0.9122           20.0238+-0.5647          might be 1.0276x faster
   infer-closure-const-then-put-to-scope-no-inline   
                                                     15.0308+-1.8524           14.7926+-1.3776          might be 1.0161x faster
   infer-closure-const-then-put-to-scope             22.4899+-1.1749           22.0817+-0.7238          might be 1.0185x faster
   infer-closure-const-then-reenter-no-inline   
                                                     63.9440+-2.6479     ?     64.0485+-2.1722        ?
   infer-closure-const-then-reenter                  22.2135+-0.6729     ?     23.1979+-1.4044        ? might be 1.0443x slower
   infer-constant-global-property                    30.1193+-0.3231     ?     30.4753+-1.2435        ? might be 1.0118x slower
   infer-constant-property                            2.6998+-0.0438            2.6494+-0.0301          might be 1.0190x faster
   infer-one-time-closure-ten-vars                   13.0231+-1.4696           12.9566+-0.9042        
   infer-one-time-closure-two-vars                   12.2441+-0.7158           12.1388+-0.4649        
   infer-one-time-closure                            12.5299+-0.9306           11.9799+-0.2503          might be 1.0459x faster
   infer-one-time-deep-closure                       21.4848+-1.4773           20.9032+-1.0427          might be 1.0278x faster
   inline-arguments-access                            4.8128+-0.3659     ?      5.0516+-1.0346        ? might be 1.0496x slower
   inline-arguments-aliased-access                    4.6728+-0.0427     ?      4.7805+-0.2184        ? might be 1.0230x slower
   inline-arguments-local-escape                      4.8607+-0.1825            4.8079+-0.2388          might be 1.0110x faster
   inline-get-scoped-var                              4.9087+-0.3042     ?      4.9430+-0.1919        ?
   inlined-put-by-id-transition                      11.4708+-0.6025     ?     11.7785+-0.7535        ? might be 1.0268x slower
   int-or-other-abs-then-get-by-val                   4.7580+-0.0778     ?      4.7756+-0.0762        ?
   int-or-other-abs-zero-then-get-by-val             17.4107+-0.7245     ?     18.0984+-1.1577        ? might be 1.0395x slower
   int-or-other-add-then-get-by-val                   4.5314+-0.3218            4.4050+-0.1169          might be 1.0287x faster
   int-or-other-add                                   5.3726+-0.0954            5.3612+-0.0820        
   int-or-other-div-then-get-by-val                   4.3531+-0.1979     ?      4.3549+-0.2391        ?
   int-or-other-max-then-get-by-val                   4.3713+-0.0471     ?      4.4401+-0.1970        ? might be 1.0157x slower
   int-or-other-min-then-get-by-val                   4.3976+-0.1284     ?      4.4150+-0.1690        ?
   int-or-other-mod-then-get-by-val                   3.9075+-0.0394     ?      4.0185+-0.0987        ? might be 1.0284x slower
   int-or-other-mul-then-get-by-val                   3.9755+-0.0567            3.9365+-0.0383        
   int-or-other-neg-then-get-by-val                   4.5016+-0.1303     ?      4.6301+-0.2647        ? might be 1.0285x slower
   int-or-other-neg-zero-then-get-by-val             17.3936+-0.3343     ?     17.8546+-1.0647        ? might be 1.0265x slower
   int-or-other-sub-then-get-by-val                   4.6438+-0.2263            4.6024+-0.1237        
   int-or-other-sub                                   3.7318+-0.3889            3.6234+-0.0988          might be 1.0299x faster
   int-overflow-local                                 4.5332+-0.1491            4.5194+-0.0409        
   Int16Array-alloc-long-lived                       54.7818+-1.4699           52.5938+-0.9616          might be 1.0416x faster
   Int16Array-bubble-sort-with-byteLength            21.4480+-1.1291     ?     21.9213+-1.9838        ? might be 1.0221x slower
   Int16Array-bubble-sort                            20.0559+-0.9520           19.2876+-0.2197          might be 1.0398x faster
   Int16Array-load-int-mul                            1.6394+-0.2704            1.5202+-0.0689          might be 1.0784x faster
   Int16Array-to-Int32Array-set                      57.3896+-1.8526           55.1628+-1.5924          might be 1.0404x faster
   Int32Array-alloc-large                            24.0940+-0.9619     ?     24.7134+-1.3034        ? might be 1.0257x slower
   Int32Array-alloc-long-lived                       58.5367+-1.5746           58.2525+-1.9303        
   Int32Array-alloc                                   3.7729+-0.1396            3.6318+-0.1048          might be 1.0388x faster
   Int32Array-Int8Array-view-alloc                    7.2783+-1.1939            7.0385+-0.9800          might be 1.0341x faster
   int52-spill                                        6.5998+-0.3915            6.2939+-0.0856          might be 1.0486x faster
   Int8Array-alloc-long-lived                        48.4574+-1.5498     ?     49.2828+-2.6406        ? might be 1.0170x slower
   Int8Array-load-with-byteLength                     3.4739+-0.1698            3.3359+-0.0535          might be 1.0414x faster
   Int8Array-load                                     3.5028+-0.4296            3.4302+-0.2363          might be 1.0212x faster
   integer-divide                                    11.3412+-0.2934     ?     11.4711+-0.5799        ? might be 1.0114x slower
   integer-modulo                                     2.0741+-0.0916     ?      2.1171+-0.2116        ? might be 1.0208x slower
   is-boolean-fold-tricky                             4.6763+-0.4990            4.4462+-0.0844          might be 1.0517x faster
   is-boolean-fold                                    3.0250+-0.3520            2.9628+-0.4057          might be 1.0210x faster
   is-function-fold-tricky-internal-function   
                                                     10.3375+-0.2123     ?     10.4428+-0.1795        ? might be 1.0102x slower
   is-function-fold-tricky                            4.5476+-0.0704            4.5240+-0.0584        
   is-function-fold                                   2.8639+-0.0254     ?      2.9715+-0.3554        ? might be 1.0376x slower
   is-number-fold-tricky                              4.4870+-0.1417     ?      4.5806+-0.2285        ? might be 1.0209x slower
   is-number-fold                                     2.8710+-0.0754            2.8105+-0.0742          might be 1.0215x faster
   is-object-or-null-fold-functions                   2.9032+-0.0563     ?      2.9169+-0.1284        ?
   is-object-or-null-fold-less-tricky                 4.6347+-0.1763            4.4851+-0.0447          might be 1.0333x faster
   is-object-or-null-fold-tricky                     10.0465+-0.0917     ?     10.2386+-0.2817        ? might be 1.0191x slower
   is-object-or-null-fold                             2.8868+-0.0381     ?      2.9392+-0.1446        ? might be 1.0181x slower
   is-object-or-null-trickier-function                4.7151+-0.1497            4.6677+-0.1315          might be 1.0102x faster
   is-object-or-null-trickier-internal-function   
                                                     12.1893+-0.2236     ?     12.3783+-0.4312        ? might be 1.0155x slower
   is-object-or-null-tricky-function                  4.6231+-0.1558     ?      4.8875+-0.5706        ? might be 1.0572x slower
   is-object-or-null-tricky-internal-function   
                                                     10.5841+-0.0678     ?     10.6619+-0.1091        ?
   is-string-fold-tricky                              4.5503+-0.1466            4.4290+-0.1156          might be 1.0274x faster
   is-string-fold                                     2.8739+-0.0413            2.8394+-0.0800          might be 1.0121x faster
   is-undefined-fold-tricky                           3.7606+-0.1450            3.6868+-0.0326          might be 1.0200x faster
   is-undefined-fold                                  3.0095+-0.3205            2.9071+-0.1027          might be 1.0352x faster
   large-int-captured                                 4.6477+-0.0326     ?      4.6630+-0.1054        ?
   large-int-neg                                     16.3885+-0.4055     ?     16.6847+-0.3877        ? might be 1.0181x slower
   large-int                                         15.6728+-1.6671           14.9854+-0.3039          might be 1.0459x faster
   logical-not                                        4.5672+-0.0788            4.5386+-0.0258        
   lots-of-fields                                    13.5217+-0.4700           12.9992+-0.4633          might be 1.0402x faster
   make-indexed-storage                               3.3004+-0.2210            3.0701+-0.1115          might be 1.0750x faster
   make-rope-cse                                      5.2137+-0.5499            5.0517+-0.3967          might be 1.0321x faster
   marsaglia-larger-ints                             36.7232+-0.9648           36.5121+-0.9906        
   marsaglia-osr-entry                               24.0974+-1.4971           23.2525+-0.5637          might be 1.0363x faster
   max-boolean                                        2.5937+-0.1261     ^      2.4340+-0.0235        ^ definitely 1.0656x faster
   method-on-number                                  16.9862+-0.3125     ?     17.1289+-0.2726        ?
   min-boolean                                        2.4858+-0.0291            2.4730+-0.0925        
   minus-boolean-double                               3.1744+-0.0312     ?      3.2139+-0.0582        ? might be 1.0124x slower
   minus-boolean                                      2.4151+-0.1524            2.3032+-0.0790          might be 1.0486x faster
   misc-strict-eq                                    39.3632+-3.4624           38.1958+-1.7958          might be 1.0306x faster
   mod-boolean-double                                11.2436+-0.9545           10.8977+-0.0821          might be 1.0317x faster
   mod-boolean                                        7.9123+-0.2730            7.8789+-0.0909        
   mul-boolean-double                                 3.7050+-0.0570     ?      3.8338+-0.3269        ? might be 1.0347x slower
   mul-boolean                                        2.9972+-0.3376     ?      3.0199+-0.3587        ?
   neg-boolean                                        3.3076+-0.2391            3.1879+-0.0674          might be 1.0375x faster
   negative-zero-divide                               0.3642+-0.0380            0.3478+-0.0111          might be 1.0470x faster
   negative-zero-modulo                               0.3477+-0.0183     ?      0.3810+-0.0865        ? might be 1.0957x slower
   negative-zero-negate                               0.3247+-0.0140     ?      0.3439+-0.0495        ? might be 1.0592x slower
   nested-function-parsing                           39.7375+-1.7278           39.1279+-1.4293          might be 1.0156x faster
   new-array-buffer-dead                            114.1371+-1.6658          113.6510+-2.1253        
   new-array-buffer-push                              7.3466+-0.7987            7.1635+-0.6263          might be 1.0256x faster
   new-array-dead                                    19.3146+-1.1445           18.9581+-0.3176          might be 1.0188x faster
   new-array-push                                     4.0214+-0.2084     ?      4.0673+-0.4275        ? might be 1.0114x slower
   no-inline-constructor                            131.9454+-2.3379     ^    121.8396+-3.0501        ^ definitely 1.0829x faster
   number-test                                        3.0496+-0.0563     ?      3.1987+-0.2147        ? might be 1.0489x slower
   object-closure-call                                5.7141+-0.1402            5.6647+-0.1224        
   object-test                                        3.2777+-0.4040            3.1638+-0.1147          might be 1.0360x faster
   obvious-sink-pathology-taken                     138.3976+-1.0471     ?    139.6801+-2.5914        ?
   obvious-sink-pathology                           131.3220+-1.0577          128.4644+-1.9336          might be 1.0222x faster
   obviously-elidable-new-object                     35.5605+-2.5942     ?     35.8939+-1.7457        ?
   plus-boolean-arith                                 2.5621+-0.1092     ?      2.5743+-0.2389        ?
   plus-boolean-double                                3.2921+-0.1598            3.2590+-0.1354          might be 1.0102x faster
   plus-boolean                                       2.5674+-0.3062            2.4098+-0.1072          might be 1.0654x faster
   poly-chain-access-different-prototypes-simple   
                                                      3.3734+-0.1258            3.3151+-0.0889          might be 1.0176x faster
   poly-chain-access-different-prototypes             2.6056+-0.0937     ?      2.6414+-0.2040        ? might be 1.0138x slower
   poly-chain-access-simpler                          3.2743+-0.0532     ?      3.3210+-0.1226        ? might be 1.0143x slower
   poly-chain-access                                  2.5720+-0.0550            2.5223+-0.0212          might be 1.0197x faster
   poly-stricteq                                     62.8061+-1.7632     ?     63.6077+-1.6829        ? might be 1.0128x slower
   polymorphic-array-call                             1.2761+-0.0476     ?      1.2841+-0.0693        ?
   polymorphic-get-by-id                              3.2346+-0.2985            3.1626+-0.0852          might be 1.0228x faster
   polymorphic-put-by-id                             28.9013+-1.3473     ?     31.1026+-1.9661        ? might be 1.0762x slower
   polymorphic-structure                             14.8958+-0.2911     ?     14.9788+-0.3974        ?
   polyvariant-monomorphic-get-by-id                  8.5712+-0.1896     ?      8.7802+-0.7835        ? might be 1.0244x slower
   proto-getter-access                               10.1825+-0.1758           10.0915+-0.2608        
   put-by-id-replace-and-transition                   9.2014+-0.2343            9.1986+-0.2949        
   put-by-id-slightly-polymorphic                     2.8834+-0.3480            2.8191+-0.0442          might be 1.0228x faster
   put-by-id                                         12.7938+-0.4963     ?     13.1392+-0.6028        ? might be 1.0270x slower
   put-by-val-direct                                  0.4184+-0.0251     ?      0.4220+-0.0249        ?
   put-by-val-large-index-blank-indexing-type   
                                                      5.8663+-0.1294     ?      6.1504+-0.7624        ? might be 1.0484x slower
   put-by-val-machine-int                             2.7823+-0.0660     ?      2.8717+-0.2269        ? might be 1.0321x slower
   rare-osr-exit-on-local                            14.8725+-0.1546     ?     15.5987+-0.7651        ? might be 1.0488x slower
   register-pressure-from-osr                        21.7651+-0.3849           21.4785+-0.2368          might be 1.0133x faster
   setter                                             6.4977+-0.7657            5.3954+-0.4041          might be 1.2043x faster
   simple-activation-demo                            25.4752+-1.1068           25.2053+-0.8241          might be 1.0107x faster
   simple-getter-access                              12.8335+-0.2326     ?     12.9610+-0.2640        ?
   simple-poly-call-nested                            8.3874+-0.2459     ?      8.4271+-0.2374        ?
   simple-poly-call                                   1.2552+-0.0209     ?      1.2650+-0.0210        ?
   sin-boolean                                       24.0574+-0.9205           22.2940+-1.7308          might be 1.0791x faster
   singleton-scope                                   67.5834+-0.7341     ?     70.7494+-3.3326        ? might be 1.0468x slower
   sink-function                                     12.2899+-0.3006     ?     12.5646+-0.5588        ? might be 1.0224x slower
   sinkable-new-object-dag                           70.8078+-1.6545           70.4924+-2.6450        
   sinkable-new-object-taken                         54.0090+-2.8518           51.2965+-3.0333          might be 1.0529x faster
   sinkable-new-object                               39.0991+-1.2801           38.2803+-0.5756          might be 1.0214x faster
   slow-array-profile-convergence                     3.0665+-0.6344            2.9869+-0.3578          might be 1.0267x faster
   slow-convergence                                   2.8670+-0.3427            2.7189+-0.0899          might be 1.0545x faster
   sorting-benchmark                                 20.8479+-0.2511     ?     21.3106+-1.5328        ? might be 1.0222x slower
   sparse-conditional                                 1.1615+-0.0643            1.1093+-0.0166          might be 1.0470x faster
   splice-to-remove                                  17.5863+-1.6863           17.0345+-1.2749          might be 1.0324x faster
   string-char-code-at                               17.7648+-1.2207           17.3382+-1.1202          might be 1.0246x faster
   string-concat-object                               2.7061+-0.3217            2.6805+-0.2298        
   string-concat-pair-object                          2.5116+-0.0520     ?      2.7131+-0.5518        ? might be 1.0802x slower
   string-concat-pair-simple                         11.9251+-0.3112           11.5071+-0.2640          might be 1.0363x faster
   string-concat-simple                              12.1980+-0.5210     ?     13.2129+-3.3587        ? might be 1.0832x slower
   string-cons-repeat                                 8.3515+-0.6238     ?      8.9486+-1.2248        ? might be 1.0715x slower
   string-cons-tower                                  8.4317+-0.6996     ?      8.8396+-1.1004        ? might be 1.0484x slower
   string-equality                                   17.5135+-0.2340     ?     17.6004+-0.4901        ?
   string-get-by-val-big-char                         7.2497+-0.3055            7.1458+-0.1341          might be 1.0145x faster
   string-get-by-val-out-of-bounds-insane             3.8451+-0.6238     ?      3.9861+-0.4729        ? might be 1.0367x slower
   string-get-by-val-out-of-bounds                    5.2817+-0.1669            5.2092+-0.0594          might be 1.0139x faster
   string-get-by-val                                  3.3776+-0.1265     ?      3.3960+-0.0493        ?
   string-hash                                        2.1488+-0.1568            2.0707+-0.0455          might be 1.0377x faster
   string-long-ident-equality                        15.2775+-0.2600           15.1820+-0.2556        
   string-out-of-bounds                              15.1056+-0.3304           14.8628+-0.2556          might be 1.0163x faster
   string-repeat-arith                               35.9455+-2.6814           35.0235+-1.9042          might be 1.0263x faster
   string-sub                                        68.9455+-2.7560           68.7264+-3.2435        
   string-test                                        3.0938+-0.1675     ?      3.1095+-0.3403        ?
   string-var-equality                               33.7300+-1.9468           33.0508+-1.8982          might be 1.0206x faster
   structure-hoist-over-transitions                   2.6552+-0.0709     ?      2.7123+-0.2471        ? might be 1.0215x slower
   substring-concat-weird                            40.9310+-1.6034           40.8719+-1.6044        
   substring-concat                                  40.2504+-0.4433     ?     40.9985+-0.8247        ? might be 1.0186x slower
   substring                                         47.3151+-2.9234           46.1821+-2.0919          might be 1.0245x faster
   switch-char-constant                               2.7330+-0.0578     ?      2.7953+-0.2474        ? might be 1.0228x slower
   switch-char                                        6.7926+-1.1034            6.5631+-1.0482          might be 1.0350x faster
   switch-constant                                    8.5080+-0.2131     ?      8.6403+-0.4041        ? might be 1.0156x slower
   switch-string-basic-big-var                       18.0417+-0.3967     ?     18.4135+-0.7091        ? might be 1.0206x slower
   switch-string-basic-big                           14.6105+-0.2971     ?     15.3445+-0.8014        ? might be 1.0502x slower
   switch-string-basic-var                           15.0816+-0.9919     ?     16.8730+-4.4301        ? might be 1.1188x slower
   switch-string-basic                               13.7635+-0.3713           13.5308+-0.2617          might be 1.0172x faster
   switch-string-big-length-tower-var                20.5540+-1.2572     ?     21.2533+-1.2571        ? might be 1.0340x slower
   switch-string-length-tower-var                    15.3052+-0.3233     ?     15.3903+-0.1766        ?
   switch-string-length-tower                        13.1029+-0.4819           12.7760+-0.1992          might be 1.0256x faster
   switch-string-short                               12.8110+-0.2831     ?     12.8703+-0.2804        ?
   switch                                            12.8761+-0.2912           12.5076+-0.0974          might be 1.0295x faster
   tear-off-arguments-simple                          3.5764+-0.2011            3.4305+-0.0747          might be 1.0425x faster
   tear-off-arguments                                 4.7480+-0.1670            4.6964+-0.0532          might be 1.0110x faster
   temporal-structure                                12.3202+-0.2157           12.3029+-0.1860        
   to-int32-boolean                                  13.9870+-0.7985           13.7907+-0.4550          might be 1.0142x faster
   try-catch-get-by-val-cloned-arguments             15.0350+-1.4005           14.4935+-0.4362          might be 1.0374x faster
   try-catch-get-by-val-direct-arguments              6.4294+-0.0372     ?      6.8773+-0.5640        ? might be 1.0697x slower
   try-catch-get-by-val-scoped-arguments              7.9189+-0.3035     ?      8.2972+-0.9171        ? might be 1.0478x slower
   typed-array-get-set-by-val-profiling              33.3748+-1.9791           33.1197+-1.5811        
   undefined-property-access                        358.4873+-3.9328     ?    359.8091+-4.7467        ?
   undefined-test                                     3.1068+-0.1519     ?      3.1842+-0.3403        ? might be 1.0249x slower
   unprofiled-licm                                   25.0980+-3.2555           23.7136+-1.4741          might be 1.0584x faster
   varargs-call                                      16.1762+-0.5304     ?     16.6330+-1.3758        ? might be 1.0282x slower
   varargs-construct-inline                          23.8445+-1.2933           23.5767+-1.0594          might be 1.0114x faster
   varargs-construct                                 32.4129+-0.9348     ?     33.1416+-1.4897        ? might be 1.0225x slower
   varargs-inline                                     9.4080+-0.0803     ?      9.4551+-0.1779        ?
   varargs-strict-mode                               10.4024+-0.3032     ?     10.6425+-0.2857        ? might be 1.0231x slower
   varargs                                           10.2199+-0.0963     ?     10.3233+-0.1939        ? might be 1.0101x slower
   weird-inlining-const-prop                          2.3933+-0.1542     ?      2.4170+-0.2581        ?

   <geometric>                                        8.6240+-0.0259            8.6038+-0.0118          might be 1.0023x faster

                                                        TipOfTree                 MoreFTLAI                                     
AsmBench:
   bigfib.cpp                                       495.0035+-1.7222     ?    498.0674+-5.0501        ?
   cray.c                                           425.5793+-6.5097     ?    427.4196+-5.4509        ?
   dry.c                                            481.9525+-8.6790     ?    482.9209+-8.2841        ?
   FloatMM.c                                        730.4862+-9.4699          727.9580+-7.0671        
   gcc-loops.cpp                                   4304.6523+-38.5713        4287.7308+-14.7932       
   n-body.c                                         982.9005+-6.8341          981.7188+-6.4864        
   Quicksort.c                                      419.8948+-5.1199     ?    422.5041+-5.4117        ?
   stepanov_container.cpp                          3602.2148+-10.6756    ?   3618.3750+-19.5309       ?
   Towers.c                                         259.5187+-0.7723     ?    261.1121+-3.2883        ?

   <geometric>                                      792.3764+-3.0038     ?    794.1959+-2.2211        ? might be 1.0023x slower

                                                        TipOfTree                 MoreFTLAI                                     
CompressionBench:
   huffman                                          367.3377+-5.7203          366.4925+-2.4149        
   arithmetic-simple                                401.2019+-7.9292     ?    401.4430+-10.5321       ?
   arithmetic-precise                               302.9927+-6.3914          301.3920+-11.0029       
   arithmetic-complex-precise                       298.6305+-2.9615          296.4503+-3.3609        
   arithmetic-precise-order-0                       425.9280+-8.4396     ?    434.9696+-15.0576       ? might be 1.0212x slower
   arithmetic-precise-order-1                       329.6323+-3.7135     ?    329.8437+-6.4023        ?
   arithmetic-precise-order-2                       361.3228+-7.5016          360.6905+-4.4830        
   arithmetic-simple-order-1                        421.5302+-1.0212     ?    427.8086+-5.7225        ? might be 1.0149x slower
   arithmetic-simple-order-2                        472.8546+-6.3149          469.1770+-5.0197        
   lz-string                                        319.0969+-1.9267     ?    325.3835+-7.2643        ? might be 1.0197x slower

   <geometric>                                      365.8797+-1.5893     ?    367.0270+-2.6640        ? might be 1.0031x slower

                                                        TipOfTree                 MoreFTLAI                                     
Geomean of preferred means:
   <scaled-result>                                   64.1081+-0.1868           63.9787+-0.2021          might be 1.0020x faster
Comment 5 Filip Pizlo 2015-05-01 19:02:33 PDT
Landed in http://trac.webkit.org/changeset/183708