Bug 126799

Summary: FTL should enough things to compile inlined closure calls (like CheckExecutable and GetScope)
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, ggaren, mark.lam, mhahnenberg, msaboff, oliver, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 112840    
Attachments:
Description Flags
the patch oliver: review+

Description Filip Pizlo 2014-01-10 17:26:37 PST
Patch forthcoming.
Comment 1 Filip Pizlo 2014-01-10 18:15:41 PST
Created attachment 220914 [details]
the patch
Comment 2 Oliver Hunt 2014-01-10 18:25:35 PST
Comment on attachment 220914 [details]
the patch

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

> Source/JavaScriptCore/ChangeLog:3
> +        FTL should enough things to compile inlined closure calls (like CheckExecutable and GetScope)

it should enough indeed!
Comment 3 Filip Pizlo 2014-01-10 18:27:51 PST
(In reply to comment #2)
> (From update of attachment 220914 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=220914&action=review
> 
> > Source/JavaScriptCore/ChangeLog:3
> > +        FTL should enough things to compile inlined closure calls (like CheckExecutable and GetScope)
> 
> it should enough indeed!

Heh.  I was going to change the bug title but then I realized that this is one of the most unintentionally awesome bug titles evarrr.
Comment 4 Filip Pizlo 2014-01-10 20:57:15 PST
Some performance.  Note that since I ran all of the benchmarks, I discovered this thing: https://bugs.webkit.org/show_bug.cgi?id=126802


VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/cStack/OpenSource/WebKitBuild/Release/jsc (r161705)
"FixCheckExec" at /Volumes/Data/fromMiniMe/cStack/OpenSource/WebKitBuild/Release/jsc (r161705)
"FTL" at /Volumes/Data/pizlo/cStack/OpenSource/WebKitBuild/Release/jsc (r161705)
    export JSC_useExperimentalFTL=true
"FTLFixCheckExec" at /Volumes/Data/fromMiniMe/cStack/OpenSource/WebKitBuild/Release/jsc (r161705)
    export JSC_useExperimentalFTL=true

Collected 10 samples per benchmark/VM, with 10 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                FixCheckExec                  FTL                 FTLFixCheckExec        FTLFixCheckExec v. TipOfTree
SunSpider:
   3d-cube                                            7.6711+-0.0566     ?      7.6721+-0.1147     !      8.0912+-0.0524            8.0318+-0.1478        ! definitely 1.0470x slower
   3d-morph                                           8.8286+-0.1124     ?      8.8485+-0.0679     ?      8.8794+-0.0509     ?      8.8904+-0.0654        ?
   3d-raytrace                                        9.0245+-0.1112     ?      9.0846+-0.1497     !      9.4104+-0.1113     ?      9.4230+-0.1628        ! definitely 1.0442x slower
   access-binary-trees                                1.9999+-0.0111     ?      2.0042+-0.0137     !      2.2053+-0.0754            2.1799+-0.0159        ! definitely 1.0900x slower
   access-fannkuch                                    8.1082+-0.0869     ?      8.1354+-0.0676            8.0058+-0.0730     ?      8.0350+-0.0902        
   access-nbody                                       4.2680+-0.0196            4.2590+-0.0504     ?      4.2632+-0.0091     ?      4.2714+-0.0095        ?
   access-nsieve                                      5.0443+-0.0411            5.0435+-0.0777     !      5.5087+-0.1305            5.5084+-0.1195        ! definitely 1.0920x slower
   bitops-3bit-bits-in-byte                           1.8362+-0.0034            1.8326+-0.0086     !      2.0089+-0.0235            1.9989+-0.0261        ! definitely 1.0886x slower
   bitops-bits-in-byte                                6.6302+-0.1221     ?      6.6880+-0.0688     ?      6.7059+-0.0236            6.7040+-0.0164        ? might be 1.0111x slower
   bitops-bitwise-and                                 3.1255+-0.0166            3.0988+-0.0479            3.0641+-0.0321            3.0608+-0.0185        ^ definitely 1.0211x faster
   bitops-nsieve-bits                                 5.2763+-0.0241     ?      5.2891+-0.0181     !      5.7512+-0.1253     ?      5.7830+-0.0952        ! definitely 1.0960x slower
   controlflow-recursive                              2.8079+-0.0103     ?      2.8202+-0.0350     !      3.8864+-0.0418     ?      3.8904+-0.0228        ! definitely 1.3855x slower
   crypto-aes                                         5.5870+-0.0499     ?      5.6043+-0.0524     !      6.0238+-0.0411     ?      6.0317+-0.0221        ! definitely 1.0796x slower
   crypto-md5                                         3.1730+-0.0295     ?      3.1771+-0.0177     !      3.5966+-0.0200     ?      3.6138+-0.0325        ! definitely 1.1389x slower
   crypto-sha1                                        2.9949+-0.0063     ?      3.0397+-0.0551     !      3.7330+-0.0238            3.7302+-0.0148        ! definitely 1.2455x slower
   date-format-tofte                                 11.3585+-0.2075     ?     11.5177+-0.2153           11.3836+-0.1623     ?     11.3902+-0.0493        ?
   date-format-xparb                                  8.5674+-0.0726     ^      8.3812+-0.0815     !      8.5720+-0.0893            8.4240+-0.0728          might be 1.0170x faster
   math-cordic                                        4.4530+-0.1026     ?      4.4747+-0.0780     !      4.8512+-0.0406            4.8322+-0.0416        ! definitely 1.0851x slower
   math-partial-sums                                 10.2077+-0.0905     ?     10.2704+-0.1039           10.1999+-0.1436     ?     10.2014+-0.0875        
   math-spectral-norm                                 2.7741+-0.0073     !      2.7918+-0.0075     !      3.2464+-0.0267     ?      3.2557+-0.0258        ! definitely 1.1736x slower
   regexp-dna                                        13.0460+-0.1539           12.9595+-0.0543     ?     12.9971+-0.0939           12.9771+-0.1134        
   string-base64                                      5.5654+-0.0648            5.5554+-0.0263     ?      5.5672+-0.0321            5.5672+-0.0305        ?
   string-fasta                                      10.5246+-0.1475     ?     10.6132+-0.1327     ?     10.9395+-0.2530           10.8660+-0.2037        ? might be 1.0324x slower
   string-tagcloud                                   15.1067+-0.0863     ?     15.1341+-0.0897           15.0781+-0.0761     ?     15.0897+-0.0977        
   string-unpack-code                                30.9782+-0.2159     ?     31.1175+-0.2352     !     31.9035+-0.2278     ?     31.9447+-0.1222        ! definitely 1.0312x slower
   string-validate-input                              7.0970+-0.0587     ?      7.1020+-0.1347            7.0507+-0.0608     ?      7.0541+-0.0576        

   <arithmetic> *                                     7.5405+-0.0194     ?      7.5583+-0.0129     !      7.8047+-0.0237            7.7983+-0.0147        ! definitely 1.0342x slower
   <geometric>                                        6.0350+-0.0150     ?      6.0471+-0.0112     !      6.3900+-0.0195            6.3832+-0.0090        ! definitely 1.0577x slower
   <harmonic>                                         4.9255+-0.0102     ?      4.9347+-0.0128     !      5.3507+-0.0227            5.3430+-0.0070        ! definitely 1.0848x slower

                                                        TipOfTree                FixCheckExec                  FTL                 FTLFixCheckExec        FTLFixCheckExec v. TipOfTree
LongSpider:
   3d-cube                                         2503.8764+-7.7849         2503.5155+-10.1915    ^   1361.5917+-12.0343        1359.1902+-5.9177        ^ definitely 1.8422x faster
   3d-morph                                        1504.1944+-11.8778        1499.5586+-1.1211     ?   1508.6936+-19.0110        1501.1449+-2.6559        
   3d-raytrace                                     1496.8155+-7.4426     !   1529.3772+-23.2964    !   2939.7097+-7.3700     !   2975.2048+-13.2452       ! definitely 1.9877x slower
   access-binary-trees                             2142.2101+-11.0790        2138.0412+-11.5395    !   2277.7354+-12.6957        2275.2448+-17.1123       ! definitely 1.0621x slower
   access-fannkuch                                  666.4541+-0.5140          665.8604+-1.7243          665.4863+-1.6127     ?    666.4712+-0.6101        ?
   access-nbody                                    1474.7346+-2.2429         1474.3858+-2.4483     ?   1475.8490+-2.3036     ?   1475.8843+-2.5830        ?
   access-nsieve                                   1543.1600+-2.8566     ?   1545.9718+-4.4345         1544.6409+-4.7426     ?   1553.3952+-21.8562       ?
   bitops-3bit-bits-in-byte                         121.2870+-0.2276     ?    121.3872+-0.1069     ^     61.3529+-0.1859           61.3390+-0.1769        ^ definitely 1.9773x faster
   bitops-bits-in-byte                              586.7075+-1.5910          586.5655+-2.8073     ^    402.8717+-2.9662          402.2881+-2.0431        ^ definitely 1.4584x faster
   bitops-nsieve-bits                              1125.0093+-1.8826     ?   1127.1469+-1.5727     !   1350.0237+-8.4912         1282.3742+-94.6260       ! definitely 1.1399x slower
   controlflow-recursive                           1155.0647+-1.7116         1154.2030+-1.9268     !   1619.7804+-5.3198         1619.2261+-5.6025        ! definitely 1.4018x slower
   crypto-aes                                      1661.5544+-2.9745         1659.9839+-3.5124         1655.7128+-2.1547     ?   1665.3273+-17.9815       ?
   crypto-md5                                      1145.3681+-2.7763         1142.7816+-1.8070     ^   1130.2133+-2.2666     ?   1132.5366+-2.9232        ^ definitely 1.0113x faster
   crypto-sha1                                     1641.6758+-2.2150         1641.2960+-3.3866         1639.9779+-2.6814     ?   1640.7492+-1.9569        
   date-format-tofte                               1192.6022+-20.4162        1165.4355+-8.9425     ?   1170.0567+-5.6410     ?   1174.2835+-4.6053          might be 1.0156x faster
   date-format-xparb                               1415.8439+-12.1751    ?   1426.8098+-7.2546         1425.9829+-14.0540    ?   1426.0795+-12.9707       ?
   math-cordic                                     1699.8555+-12.5645        1695.8620+-10.0715    ^   1148.7284+-10.9908    ?   1159.8217+-9.9454        ^ definitely 1.4656x faster
   math-partial-sums                               1318.8764+-16.6880        1311.1427+-2.6289     ?   1313.3221+-1.0960         1312.9880+-0.5090        
   math-spectral-norm                              1835.7296+-21.5649        1825.7000+-0.4398     ^   1784.7417+-0.6079     ?   1785.5311+-0.9084        ^ definitely 1.0281x faster
   string-base64                                    501.7857+-1.8510          501.6455+-2.3853          500.4580+-2.1276     ?    503.1436+-2.5841        ?
   string-fasta                                    1008.5933+-8.2789         1006.5723+-2.4411     !   1074.5014+-18.1484        1064.7477+-5.3045        ! definitely 1.0557x slower
   string-tagcloud                                  384.6100+-1.3671     ?    386.1158+-2.2035          385.8059+-1.8750          384.4406+-0.8247        

   <arithmetic>                                    1278.4549+-1.9509         1277.6981+-1.5481     !   1292.6017+-1.5761         1291.8824+-4.2236        ! definitely 1.0105x slower
   <geometric> *                                   1093.5476+-1.4516         1092.9656+-1.1055     ^   1054.6437+-1.1743         1053.0833+-3.7266        ^ definitely 1.0384x faster
   <harmonic>                                       790.3592+-0.7848     ?    790.3811+-0.6294     ^    602.5286+-0.6451          601.8717+-0.9507        ^ definitely 1.3132x faster

                                                        TipOfTree                FixCheckExec                  FTL                 FTLFixCheckExec        FTLFixCheckExec v. TipOfTree
V8Spider:
   crypto                                            80.1494+-0.3566     ?     80.1984+-0.2828                ERROR                     ERROR             
   deltablue                                         98.0229+-0.4899     ?     98.7246+-1.0518     !    101.4045+-1.0451     ?    101.7608+-0.9227        ! definitely 1.0381x slower
   earley-boyer                                      70.7429+-0.5927     ?     71.7299+-1.3362           70.4654+-0.3269     ?     70.9077+-0.2354        ?
   raytrace                                          40.5880+-0.2065     ?     40.7245+-0.3270     !     41.7137+-0.2934     ?     41.7985+-0.1700        ! definitely 1.0298x slower
   regexp                                            99.6550+-0.2859     ?    100.0858+-0.3753           99.6396+-0.4045     ?     99.9974+-0.2832        ?
   richards                                         106.5960+-0.5031          106.3134+-0.8253     ^     99.7352+-0.9259           99.6404+-0.7277        ^ definitely 1.0698x faster
   splay                                             45.7986+-0.4156     ?     45.9906+-0.5483           45.7698+-0.3045     ?     46.1683+-0.4268        ?

   <arithmetic>                                      77.3647+-0.1926     ?     77.6810+-0.2148                ERROR                     ERROR             
   <geometric> *                                     72.9295+-0.2042     ?     73.2465+-0.1829                ERROR                     ERROR             
   <harmonic>                                        68.1544+-0.2203     ?     68.4564+-0.1644                ERROR                     ERROR             

                                                        TipOfTree                FixCheckExec                  FTL                 FTLFixCheckExec        FTLFixCheckExec v. TipOfTree
Octane and V8v7:
   encrypt                                           0.46289+-0.00030    ?     0.46350+-0.00032    ^     0.43812+-0.00053          0.43791+-0.00036       ^ definitely 1.0570x faster
   decrypt                                           8.59542+-0.00463    ?     8.59897+-0.00528    ^     8.18383+-0.07441          8.16628+-0.07131       ^ definitely 1.0525x faster
   deltablue                                x2       0.55008+-0.00372    ?     0.55329+-0.00374    ^     0.53175+-0.00420    ?     0.53747+-0.00425       ^ definitely 1.0235x faster
   earley                                            0.87369+-0.01002          0.87130+-0.01126    ?     0.88252+-0.00764          0.87224+-0.00330       
   boyer                                            12.07404+-0.16278         11.96265+-0.03956         11.95029+-0.05026    ?    11.98773+-0.09106       
   raytrace                                 x2       4.10093+-0.05349          4.05793+-0.03908    ^     3.91427+-0.03099          3.89004+-0.01975       ^ definitely 1.0542x faster
   regexp                                   x2      30.90304+-0.35589         30.86938+-0.06520    !    31.08260+-0.05052    !    31.34586+-0.19360       ? might be 1.0143x slower
   richards                                 x2       0.28934+-0.00287    ?     0.29475+-0.00612    ^     0.22550+-0.00266          0.22443+-0.00186       ^ definitely 1.2892x faster
   splay                                    x2       0.63324+-0.00251          0.63163+-0.00326          0.62653+-0.00297          0.62606+-0.00279       ^ definitely 1.0115x faster
   navier-stokes                            x2      10.51788+-0.01038         10.50962+-0.00407    ^     8.22200+-0.00744    ?     8.22432+-0.00864       ^ definitely 1.2789x faster
   closure                                           0.76716+-0.00299    ?     0.77229+-0.00254    ?     0.77327+-0.00981    ?     0.77550+-0.00145       ! definitely 1.0109x slower
   jquery                                           10.77678+-0.05639    ?    10.86254+-0.07300         10.82574+-0.04861    ?    11.07337+-0.33894       ? might be 1.0275x slower
   gbemu                                    x2      65.35265+-0.45528         65.20059+-0.47422    !    84.21323+-0.43865         83.79444+-0.28540       ! definitely 1.2822x slower
   mandreel                                 x2     131.97772+-0.30278    ?   132.00316+-0.44022    ^   102.05415+-0.49589        101.69215+-0.46442       ^ definitely 1.2978x faster
   pdfjs                                    x2      99.94091+-0.40322    ?   100.06777+-0.52117    ?   100.68009+-0.74764    ?   100.94133+-0.94865       ? might be 1.0100x slower
   box2d                                    x2      31.90217+-0.26346         31.87279+-0.21485    ?    32.08027+-0.18282    ?    32.28119+-0.26209       ? might be 1.0119x slower

V8v7:
   <arithmetic>                                      7.24969+-0.04559          7.23310+-0.01026    ^     6.91626+-0.00869    ?     6.94753+-0.02264       ^ definitely 1.0435x faster
   <geometric> *                                     2.33041+-0.00579    ?     2.33165+-0.00631    ^     2.15318+-0.00434    ?     2.15377+-0.00527       ^ definitely 1.0820x faster
   <harmonic>                                        0.89113+-0.00377    ?     0.89771+-0.00745    ^     0.78955+-0.00374          0.78876+-0.00391       ^ definitely 1.1298x faster

Octane including V8v7:
   <arithmetic>                                     30.22638+-0.04586         30.21743+-0.04706    ^    29.24287+-0.07293    ?    29.24721+-0.09057       ^ definitely 1.0335x faster
   <geometric> *                                     6.81785+-0.01157    ?     6.82295+-0.01093    ^     6.50169+-0.01185    ?     6.50915+-0.01641       ^ definitely 1.0474x faster
   <harmonic>                                        1.33473+-0.00518    ?     1.34445+-0.01038    ^     1.19397+-0.00581          1.19320+-0.00558       ^ definitely 1.1186x faster

                                                        TipOfTree                FixCheckExec                  FTL                 FTLFixCheckExec        FTLFixCheckExec v. TipOfTree
Kraken:
   ai-astar                                          494.319+-0.700            494.167+-0.853      ?     495.698+-2.165            494.167+-0.686         
   audio-beat-detection                              222.366+-0.989            221.979+-1.041            221.894+-0.727      ?     222.054+-1.102         
   audio-dft                                         296.747+-6.281            293.184+-3.295      ?     294.843+-2.885            293.814+-2.574         
   audio-fft                                         129.855+-0.283            129.569+-0.121      ?     129.689+-0.272            129.656+-0.158         
   audio-oscillator                                  245.171+-0.576            245.094+-0.515      !     537.892+-0.728      ^     532.452+-2.098         ! definitely 2.1718x slower
   imaging-darkroom                                  285.095+-0.608      ?     286.775+-4.144      !     297.879+-0.368            297.404+-0.631         ! definitely 1.0432x slower
   imaging-desaturate                                154.395+-0.242            154.257+-0.120      ^     109.583+-0.188      ?     109.612+-0.121         ^ definitely 1.4086x faster
   imaging-gaussian-blur                             362.650+-0.259      ?     362.732+-0.636      ^     193.343+-5.497            191.306+-1.048         ^ definitely 1.8956x faster
   json-parse-financial                               79.629+-0.456      !      80.538+-0.250      ^      79.474+-0.527      !      80.448+-0.305         ! definitely 1.0103x slower
   json-stringify-tinderbox                          104.985+-1.503      !     107.654+-0.967      ^     104.224+-0.486      !     107.990+-0.833         ! definitely 1.0286x slower
   stanford-crypto-aes                                90.920+-0.824      ?      91.609+-0.833      ?      92.861+-0.538      ?      93.653+-0.781         ! definitely 1.0301x slower
   stanford-crypto-ccm                               101.347+-1.270      ?     102.036+-1.510             99.192+-2.087      ?     101.368+-1.975         ?
   stanford-crypto-pbkdf2                            267.095+-3.369            266.384+-4.898      ?     269.124+-3.196      ?     269.984+-10.062        ? might be 1.0108x slower
   stanford-crypto-sha256-iterative                  114.432+-0.592      ?     115.015+-1.035            114.963+-0.765      ?     115.131+-0.407         ?

   <arithmetic> *                                    210.643+-0.554      ?     210.785+-0.398      !     217.190+-0.493            217.074+-0.784         ! definitely 1.0305x slower
   <geometric>                                       180.509+-0.486      ?     181.047+-0.267      ^     178.622+-0.537      ?     179.313+-0.606         ^ definitely 1.0067x faster
   <harmonic>                                        155.807+-0.478      !     156.693+-0.210      ^     151.189+-0.540      !     152.383+-0.486         ^ definitely 1.0225x faster

                                                        TipOfTree                FixCheckExec                  FTL                 FTLFixCheckExec        FTLFixCheckExec v. TipOfTree
JSRegress:
   adapt-to-double-divide                            22.7682+-0.0842     ?     22.7700+-0.0490     ^     20.6226+-0.3619     ?     20.6627+-0.2669        ^ definitely 1.1019x faster
   aliased-arguments-getbyval                         0.9995+-0.0183     ?      0.9999+-0.0095     ?      1.0020+-0.0133     ?      1.0083+-0.0160        ?
   allocate-big-object                                2.6777+-0.0180            2.6651+-0.0105     !      2.8533+-0.0822            2.8448+-0.0200        ! definitely 1.0624x slower
   arity-mismatch-inlining                            0.9615+-0.0033     ?      0.9616+-0.0066     ?      1.0265+-0.0600            1.0112+-0.0513        ? might be 1.0517x slower
   array-access-polymorphic-structure                 9.8414+-0.1188            9.8241+-0.0974     ?      9.9389+-0.1009            9.7885+-0.0562        
   array-nonarray-polymorhpic-access                 59.5282+-4.5299           57.5471+-0.7717           57.2016+-0.2110     ?     59.2874+-4.6376        
   array-with-double-add                              5.7420+-0.0568     ?      5.7548+-0.0110            5.7448+-0.0676     ?      5.7541+-0.0458        ?
   array-with-double-increment                        4.4320+-0.0134     ?      4.4348+-0.0280            4.4123+-0.0058            4.3922+-0.0627        
   array-with-double-mul-add                          6.8831+-0.0607            6.8156+-0.0771            6.8063+-0.1089     ?      6.9208+-0.0751        ?
   array-with-double-sum                              7.9883+-0.0682            7.8912+-0.0849     ?      8.0315+-0.0841            7.9849+-0.0614        
   array-with-int32-add-sub                          10.5358+-0.1288     ?     10.5862+-0.1539           10.5406+-0.0965           10.4942+-0.1624        
   array-with-int32-or-double-sum                     8.0154+-0.0921     ?      8.0649+-0.1073            8.0245+-0.0903     ?      8.0549+-0.0580        ?
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                    117.7346+-0.7914     ?    118.0430+-1.2562          117.1815+-0.9077     ?    118.0196+-0.7448        ?
   ArrayBuffer-DataView-alloc-long-lived             30.7802+-0.2620     ?     30.8670+-0.2050           30.5606+-0.2519     ?     30.6614+-0.0937        
   ArrayBuffer-Int32Array-byteOffset                  5.8847+-0.0598     ?      5.9108+-0.0393            5.8876+-0.0416            5.8325+-0.0841        
   ArrayBuffer-Int8Array-alloc-huge-long-lived   
                                                    210.7763+-2.1090          209.7242+-1.7235          209.6220+-2.5829     ?    209.7376+-1.2637        
   ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented   
                                                    164.8741+-1.3105     ?    165.1981+-0.7583     ?    166.1098+-1.5846     ?    166.2246+-1.1920        ?
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                    120.1937+-1.5741          119.5600+-1.4763     ?    120.4385+-1.0980     ?    121.2920+-1.4191        ?
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     47.9963+-1.0011     ?     48.8702+-0.9466           48.1947+-0.3078     !     49.1562+-0.1312        ! definitely 1.0242x slower
   ArrayBuffer-Int8Array-alloc-long-lived            29.2494+-0.2238     ?     29.6226+-0.1851     ?     29.7337+-0.2291     ?     29.8980+-0.3006        ! definitely 1.0222x slower
   ArrayBuffer-Int8Array-alloc                       26.3542+-0.1047     ?     26.8992+-0.4720     ^     26.1447+-0.1414     !     26.5419+-0.1020        ?
   asmjs_bool_bug                                     9.5250+-0.0756     ?      9.5845+-0.1046     !      9.8651+-0.0989     ?      9.8868+-0.0850        ! definitely 1.0380x slower
   basic-set                                         20.9407+-0.1507     ?     21.1514+-0.2043     !     21.7297+-0.1512     ?     21.9773+-0.1870        ! definitely 1.0495x slower
   big-int-mul                                        5.5760+-0.0300            5.5440+-0.0653     !      6.5515+-0.1733            6.5450+-0.0677        ! definitely 1.1738x slower
   boolean-test                                       4.4179+-0.0546            4.3997+-0.0292            4.3961+-0.0232     ?      4.3967+-0.0287        
   branch-fold                                        4.9258+-0.0089     ?      4.9313+-0.0110     ?      4.9378+-0.0137            4.9230+-0.0143        
   by-val-generic                                    12.6362+-0.2212           12.6137+-0.1330     ?     12.8072+-0.0970           12.7515+-0.0609        ?
   captured-assignments                               0.5886+-0.0052     ?      0.5895+-0.0045     ?      0.5953+-0.0161     ?      0.6079+-0.0355        ? might be 1.0328x slower
   cast-int-to-double                                12.3472+-0.0966     ?     12.3927+-0.1260     ?     12.6016+-0.1030     ?     12.6234+-0.0665        ! definitely 1.0224x slower
   cell-argument                                     14.5278+-0.1023     !     14.8374+-0.1195     ^     11.8671+-0.1957           11.8562+-0.2323        ^ definitely 1.2253x faster
   cfg-simplify                                       3.9913+-0.0107            3.9877+-0.0066     ?      4.0162+-0.0548            4.0063+-0.0411        ?
   chain-custom-getter                              785.7201+-4.7544          774.9294+-13.9247    !    928.7588+-19.3011    ?    930.7358+-19.7532       ! definitely 1.1846x slower
   chain-getter-access                              539.8118+-9.0362     !    573.9733+-8.9855     ?    578.6847+-7.1547     !    620.3259+-2.3922        ! definitely 1.1492x slower
   cmpeq-obj-to-obj-other                            13.0906+-0.4676     ?     14.1458+-2.1807     ?     16.3955+-0.5252     ?     16.4952+-0.3963        ! definitely 1.2601x slower
   constant-test                                      8.5434+-0.0724            8.5324+-0.0957     ?      8.6555+-0.1061     ?      8.6816+-0.0436        ! definitely 1.0162x slower
   DataView-custom-properties                       125.2718+-0.7239     ?    125.8856+-1.0729          124.9971+-0.6608     ?    126.0068+-0.6301        ?
   delay-tear-off-arguments-strictmode                3.5699+-0.0110     ?      3.5699+-0.0064     ?      3.5872+-0.0337     ?      3.5913+-0.0082        ! definitely 1.0060x slower
   destructuring-arguments-length                   185.0263+-27.8906         179.5193+-5.5981     ^    172.1504+-1.6535     !    177.7067+-1.2775          might be 1.0412x faster
   destructuring-arguments                            8.8659+-0.0897     ?      8.8792+-0.1078            8.8020+-0.1252     ?      8.8587+-0.0821        
   destructuring-swap                                 8.6755+-0.0886     ?      8.7834+-0.0815            8.7769+-0.0835            8.7628+-0.0858        ? might be 1.0101x slower
   direct-arguments-getbyval                          0.8704+-0.0242            0.8558+-0.0063     ?      0.8573+-0.0059     ?      0.8611+-0.0059          might be 1.0109x faster
   double-get-by-val-out-of-bounds                    7.7149+-0.5972            7.3409+-0.0868     !      7.7952+-0.1916     ?      7.9471+-0.1824        ? might be 1.0301x slower
   double-pollution-getbyval                         11.0939+-0.1019           11.0723+-0.1032     !     11.4652+-0.0490     ?     11.5111+-0.1108        ! definitely 1.0376x slower
   double-pollution-putbyoffset                       6.0324+-0.0561            5.9981+-0.0417     !      6.3926+-0.0468            6.3822+-0.0247        ! definitely 1.0580x slower
   double-to-int32-typed-array-no-inline              2.6492+-0.0529     ?      2.6603+-0.0438     !      3.0187+-0.0574            2.9813+-0.0194        ! definitely 1.1254x slower
   double-to-int32-typed-array                        2.2313+-0.0193            2.2289+-0.0077            2.2258+-0.0086     ?      2.2376+-0.0231        ?
   double-to-uint32-typed-array-no-inline             2.6911+-0.0091     ?      2.6972+-0.0069     !      3.0754+-0.0133     !      3.1152+-0.0254        ! definitely 1.1576x slower
   double-to-uint32-typed-array                       2.3737+-0.0062     ?      2.3837+-0.0099     ?      2.3868+-0.0245     ?      2.3905+-0.0098        ! definitely 1.0071x slower
   empty-string-plus-int                             10.7057+-0.1277     ?     10.9320+-0.1384           10.7168+-0.1107     ?     10.9085+-0.0954        ? might be 1.0190x slower
   emscripten-cube2hash                              54.9446+-0.3880           54.6385+-0.1356     !     55.4715+-0.4426     ?     55.7242+-0.3169        ! definitely 1.0142x slower
   emscripten-memops                               7061.3607+-4.1728     ?   7070.3717+-17.8514    ^   2437.1325+-4.2583     ?   2437.2468+-5.3392        ^ definitely 2.8973x faster
   external-arguments-getbyval                        2.0317+-0.0138     ?      2.0661+-0.0277            2.0543+-0.0417     ?      2.0822+-0.0371        ? might be 1.0249x slower
   external-arguments-putbyval                        3.0534+-0.0146     ?      3.0889+-0.0383            3.0786+-0.0668            3.0705+-0.0221        ?
   fixed-typed-array-storage-var-index                1.3686+-0.0048     ?      1.3718+-0.0035     !      1.4488+-0.0574            1.4121+-0.0062        ! definitely 1.0318x slower
   fixed-typed-array-storage                          1.0045+-0.0170            0.9928+-0.0108     !      1.0230+-0.0079     ?      1.0450+-0.0492        ? might be 1.0403x slower
   Float32Array-matrix-mult                           6.5426+-0.0274     ?      6.5445+-0.0301     ?      6.6799+-0.1270     ?      6.8240+-0.1373        ! definitely 1.0430x slower
   Float32Array-to-Float64Array-set                  92.1776+-0.6055     ?     92.8438+-1.7705           92.4980+-0.7805           91.0309+-0.8654          might be 1.0126x faster
   Float64Array-alloc-long-lived                    102.1573+-0.3997     ?    102.2274+-0.7198     ?    102.5580+-0.5562          102.2887+-0.4180        ?
   Float64Array-to-Int16Array-set                   118.6215+-0.3266     !    119.2333+-0.2850     ^    118.2244+-0.6123     ?    118.9777+-0.3216        ?
   fold-double-to-int                                22.6026+-0.1833     ?     22.6584+-0.1644     ^     20.0281+-0.1372           19.9190+-0.0526        ^ definitely 1.1347x faster
   for-of-iterate-array-entries                       8.7549+-0.0892            8.6857+-0.0663     ?      8.7622+-0.1105            8.6423+-0.1088          might be 1.0130x faster
   for-of-iterate-array-keys                          3.4925+-0.0710            3.4752+-0.0583            3.4688+-0.0568            3.4669+-0.0421        
   for-of-iterate-array-values                        2.9918+-0.0808            2.9740+-0.0598     ?      2.9776+-0.0503     ?      2.9842+-0.0660        
   function-dot-apply                                 3.0044+-0.0038            3.0035+-0.0042     !      3.8615+-0.0173     ?      3.8687+-0.0211        ! definitely 1.2877x slower
   function-test                                      4.9180+-0.0906            4.8993+-0.1110            4.8900+-0.0458            4.8284+-0.0533          might be 1.0186x faster
   get-by-id-chain-from-try-block                     8.0522+-0.0681     ?      8.0712+-0.0357            7.9800+-0.1229     ?      8.0563+-0.0701        ?
   get-by-id-proto-or-self                           23.0795+-0.3241     ?     23.7317+-0.3487     !     27.6522+-0.3594     ?     27.8814+-0.6046        ! definitely 1.2081x slower
   get-by-id-self-or-proto                           24.0378+-0.6304     ?     24.3442+-0.5002     !     29.3991+-0.6363           29.0856+-0.5352        ! definitely 1.2100x slower
   get-by-val-out-of-bounds                           7.7682+-0.3857     ^      7.2262+-0.1268     ?      7.5412+-0.2463     ?      7.7521+-0.3003        
   get_callee_monomorphic                             4.7619+-0.1050     ^      4.3965+-0.0272     !      5.3801+-0.0594     ^      4.6175+-0.0115        ^ definitely 1.0313x faster
   get_callee_polymorphic                             4.5210+-0.0182     !      4.5777+-0.0289     !      5.0017+-0.0153     ?      5.0393+-0.0435        ! definitely 1.1146x slower
   global-var-const-infer-fire-from-opt               0.9822+-0.0134            0.9691+-0.0074     ?      0.9959+-0.0470     ?      1.0330+-0.0504        ? might be 1.0518x slower
   global-var-const-infer                             0.7758+-0.0092     ?      0.7769+-0.0043     !      0.9594+-0.0088     ?      0.9626+-0.0089        ! definitely 1.2408x slower
   HashMap-put-get-iterate-keys                      41.6363+-0.1710     ?     41.7726+-0.1493     !     42.1134+-0.1477     ?     42.1417+-0.1517        ! definitely 1.0121x slower
   HashMap-put-get-iterate                           56.7378+-0.2768     !     58.6771+-1.2814     ?     59.0423+-0.5452     ?     59.1075+-1.4629        ! definitely 1.0418x slower
   HashMap-string-put-get-iterate                    51.6584+-0.2903     !     53.5354+-0.4997     ^     52.5642+-0.3323     ?     53.2216+-0.3419        ! definitely 1.0303x slower
   imul-double-only                                  18.1411+-0.1315     ?     18.1673+-0.1255     ^     10.5522+-0.3367     ?     10.8551+-0.5028        ^ definitely 1.6712x faster
   imul-int-only                                     14.8410+-0.1286     ?     15.0529+-0.1703     !     16.0874+-0.0982     ?     16.1007+-0.2660        ! definitely 1.0849x slower
   imul-mixed                                        22.9689+-0.7543     ?     23.2639+-1.1164     ^     11.9964+-0.3117           11.8530+-0.5193        ^ definitely 1.9378x faster
   in-four-cases                                     25.9466+-0.0866     ?     26.0591+-0.2230           25.8700+-0.0818     ?     25.8857+-0.0620        
   in-one-case-false                                 12.4495+-0.1328     ?     12.5667+-0.1358           12.5073+-0.1020     ?     12.5233+-0.0801        ?
   in-one-case-true                                  12.4437+-0.1172     ?     12.5248+-0.1059           12.4097+-0.1463     ?     12.4690+-0.0928        ?
   in-two-cases                                      13.3238+-0.1046           13.3067+-0.0960           13.2787+-0.0785           13.2167+-0.1045        
   indexed-properties-in-objects                      4.1182+-0.0471     ?      4.1316+-0.0497     !      4.5095+-0.0668     !      4.6158+-0.0231        ! definitely 1.1209x slower
   infer-closure-const-then-mov-no-inline             4.8186+-0.0466            4.8152+-0.0449     !      5.8540+-0.0210            5.8273+-0.0368        ! definitely 1.2093x slower
   infer-closure-const-then-mov                      28.9272+-0.1153     ?     28.9407+-0.0610     !     29.1231+-0.0767           29.0886+-0.0864        ?
   infer-closure-const-then-put-to-scope-no-inline   
                                                     15.4231+-0.1136           15.4051+-0.0551     !     16.5770+-0.1529     ?     16.6068+-0.1158        ! definitely 1.0767x slower
   infer-closure-const-then-put-to-scope             35.9636+-0.1377           35.9612+-0.1766           35.9013+-0.1805     ?     36.1146+-0.2866        ?
   infer-closure-const-then-reenter-no-inline   
                                                     80.3116+-0.1119     ?     80.3620+-0.0557     !     81.4963+-0.0851           81.4940+-0.1035        ! definitely 1.0147x slower
   infer-closure-const-then-reenter                  36.0927+-0.2258           36.0251+-0.2405           36.0079+-0.2111     ?     36.0280+-0.1931        
   infer-one-time-closure-ten-vars                   29.0254+-0.1060           28.9932+-0.0923     ^     18.3215+-0.3914     ?     18.5302+-0.2376        ^ definitely 1.5664x faster
   infer-one-time-closure-two-vars                   28.8340+-0.1427     ?     28.8396+-0.1377     ^     18.1955+-0.1089           17.9840+-0.3017        ^ definitely 1.6033x faster
   infer-one-time-closure                            28.7838+-0.1448           28.6645+-0.1311     ^     17.9581+-0.3049           17.9373+-0.2984        ^ definitely 1.6047x faster
   infer-one-time-deep-closure                       56.9215+-0.1426     ?     56.9938+-0.1187     ^     29.2010+-0.2192           29.1772+-0.2230        ^ definitely 1.9509x faster
   inline-arguments-access                            1.6638+-0.0073     !      1.6992+-0.0281     ?      1.7437+-0.0642            1.7119+-0.0212        ! definitely 1.0289x slower
   inline-arguments-aliased-access                    1.8123+-0.0159     ?      1.8227+-0.0333            1.8007+-0.0055     ?      1.8376+-0.0520        ? might be 1.0139x slower
   inline-arguments-local-escape                     22.3928+-0.1509     !     23.8595+-0.4099     ^     22.4605+-0.2118     !     23.8054+-0.1706        ! definitely 1.0631x slower
   inline-get-scoped-var                              7.4903+-0.0997     ?      7.4991+-0.0615     ?      7.6285+-0.1282            7.5798+-0.0621        ? might be 1.0120x slower
   inlined-put-by-id-transition                      15.4001+-0.1493           15.2264+-0.2160     ?     16.1427+-1.3546           15.9469+-1.1562        ? might be 1.0355x slower
   int-or-other-abs-then-get-by-val                   9.3115+-0.1159     ?      9.3493+-0.1389     ?      9.4963+-0.0733            9.4457+-0.1152        ? might be 1.0144x slower
   int-or-other-abs-zero-then-get-by-val             39.3368+-0.3829     ^     38.3810+-0.5372           37.9797+-0.1634     ?     38.1994+-0.1555        ^ definitely 1.0298x faster
   int-or-other-add-then-get-by-val                   9.7096+-0.1276     ?      9.7123+-0.1243     ?      9.8217+-0.0884            9.7853+-0.1049        ?
   int-or-other-add                                  10.9070+-0.0720     ?     11.0251+-0.0920     ?     11.1535+-0.1209           11.1291+-0.0695        ! definitely 1.0204x slower
   int-or-other-div-then-get-by-val                   6.3979+-0.0221            6.3557+-0.1153     ?      6.4233+-0.0885     ?      6.5078+-0.0498        ! definitely 1.0172x slower
   int-or-other-max-then-get-by-val                   8.6165+-0.1613     ?      8.6944+-0.1590     ^      8.3965+-0.1249     ?      8.4291+-0.1080          might be 1.0222x faster
   int-or-other-min-then-get-by-val                   7.2387+-0.1081            7.1911+-0.1257     !      7.4316+-0.0811            7.4228+-0.0517        ! definitely 1.0254x slower
   int-or-other-mod-then-get-by-val                   6.0687+-0.0971     ?      6.0834+-0.0940     ?      6.1592+-0.0871            6.1136+-0.0809        ?
   int-or-other-mul-then-get-by-val                   6.4042+-0.0742            6.3649+-0.0853     ?      6.4840+-0.0927            6.4405+-0.0210        ?
   int-or-other-neg-then-get-by-val                   8.2224+-0.0811     ?      8.2599+-0.0666     ?      8.3339+-0.0423            8.2959+-0.1395        ?
   int-or-other-neg-zero-then-get-by-val             38.8593+-0.1193           38.3467+-0.4383     ^     37.5436+-0.1245     ?     37.6920+-0.2932        ^ definitely 1.0310x faster
   int-or-other-sub-then-get-by-val                  10.1507+-0.0972           10.0791+-0.1102     ?     10.1676+-0.1080     ?     10.2367+-0.1135        ?
   int-or-other-sub                                   8.9234+-0.1088            8.8191+-0.0789     !      8.9905+-0.0747            8.9876+-0.0533        ?
   int-overflow-local                                 6.3711+-0.0917     ?      6.3978+-0.0743     ?      6.4485+-0.0255            6.4462+-0.0666        ? might be 1.0118x slower
   Int16Array-alloc-long-lived                       67.2349+-0.3082     ?     67.6126+-0.4627     ?     67.7252+-0.3948     ?     68.0738+-1.2113        ? might be 1.0125x slower
   Int16Array-bubble-sort-with-byteLength            48.5761+-0.1561     ?     48.7672+-0.5835     ^     47.7909+-0.3105           47.7251+-0.0964        ^ definitely 1.0178x faster
   Int16Array-bubble-sort                            48.5637+-0.2037           48.4744+-0.0670     ?     48.7266+-0.7315           48.5449+-0.7399        
   Int16Array-load-int-mul                            1.8152+-0.0053     ?      1.8210+-0.0150     !      1.9589+-0.0741     ?      2.0267+-0.0835        ! definitely 1.1165x slower
   Int16Array-to-Int32Array-set                      86.8397+-1.7401     !     92.4728+-1.0978     ^     86.9999+-2.0459     !     92.9760+-1.3973        ! definitely 1.0707x slower
   Int32Array-alloc-huge-long-lived                 712.2728+-17.2541         709.3384+-3.6399     ?    709.3982+-3.1097          706.7303+-2.2527        
   Int32Array-alloc-huge                            811.0125+-5.7769     ?    812.0178+-5.9389          803.7876+-8.7713     ?    811.6374+-5.1956        ?
   Int32Array-alloc-large-long-lived                976.4769+-10.0124         973.3675+-6.9126          971.8263+-9.8685          970.0762+-7.5081        
   Int32Array-alloc-large                            44.7758+-0.8626     ?     45.1868+-0.8895     ?     45.6393+-0.8795           44.6207+-0.9048        
   Int32Array-alloc-long-lived                       79.9903+-0.5596     ?     80.4180+-0.4090           80.2055+-0.3686     ?     80.3152+-0.3844        ?
   Int32Array-alloc                                   4.6545+-0.0095     ?      4.6548+-0.0131     ^      4.5169+-0.0062     ?      4.5177+-0.0118        ^ definitely 1.0303x faster
   Int32Array-Int8Array-view-alloc                   14.7580+-0.0810     !     14.9585+-0.0824     ^     14.7243+-0.0918     !     15.0699+-0.0836        ! definitely 1.0211x slower
   int52-spill                                       11.2817+-0.1498     !     12.3247+-0.0762     ^     11.5361+-0.1466     !     12.6296+-0.1477        ! definitely 1.1195x slower
   Int8Array-alloc-long-lived                        65.9457+-0.5621           65.7803+-0.5776     ?     66.0222+-0.5005     ?     66.2208+-0.5245        ?
   Int8Array-load-with-byteLength                     5.0613+-0.0468     ?      5.0779+-0.0103     !      5.2982+-0.0614            5.1465+-0.1519        ? might be 1.0168x slower
   Int8Array-load                                     5.1014+-0.0191            5.0769+-0.0121     ?      5.1667+-0.1065     ?      5.1683+-0.0942        ? might be 1.0131x slower
   integer-divide                                    15.3657+-0.1359     ?     15.3684+-0.1156     ?     15.5246+-0.0669           15.4351+-0.1376        ?
   integer-modulo                                     2.0304+-0.0098            2.0278+-0.0240     !      2.5364+-0.0278     ?      2.5771+-0.0335        ! definitely 1.2693x slower
   large-int-captured                                 9.7647+-0.1353            9.5948+-0.5842     ?     10.0499+-0.1491     ^      9.3074+-0.1700        ^ definitely 1.0491x faster
   large-int-neg                                     26.3621+-0.2970     ?     26.4509+-0.2193     ^     25.3733+-0.1781     ?     25.3838+-0.1449        ^ definitely 1.0385x faster
   large-int                                         23.9165+-0.1025           23.8443+-0.2725     ^     22.1670+-0.1570           22.0733+-0.1522        ^ definitely 1.0835x faster
   logical-not                                        5.7751+-0.0107     ?      5.7830+-0.0770     !      6.3733+-0.0498            6.3572+-0.0855        ! definitely 1.1008x slower
   lots-of-fields                                    11.0189+-0.0398           10.9742+-0.0993           10.8486+-0.0995     ?     10.9960+-0.0884        
   make-indexed-storage                               4.2648+-0.0215     ?      4.2733+-0.0179     !      4.6584+-0.0625     ?      4.7080+-0.1105        ! definitely 1.1039x slower
   make-rope-cse                                      5.9769+-0.0791     ?      6.0621+-0.0697            6.0182+-0.0726     ?      6.0840+-0.0426        ? might be 1.0179x slower
   marsaglia-larger-ints                            116.9496+-0.2246     ?    117.0748+-0.2536     ^     54.0457+-0.2927     ?     54.2396+-0.2088        ^ definitely 2.1562x faster
   marsaglia-osr-entry                               46.9667+-0.0955           46.9050+-0.1828     ^     32.0281+-0.1637     ?     32.0327+-0.2502        ^ definitely 1.4662x faster
   marsaglia                                        462.8059+-0.5197          462.5735+-0.6252     ^    282.5758+-0.7912     ?    282.7220+-0.7813        ^ definitely 1.6370x faster
   method-on-number                                  30.6934+-0.6263     ?     31.1495+-0.8311           30.8765+-0.4087     ?     30.9382+-0.6069        ?
   negative-zero-divide                               0.4166+-0.0027     ?      0.4204+-0.0110            0.4170+-0.0037     ?      0.4173+-0.0037        ?
   negative-zero-modulo                               0.4099+-0.0182            0.4028+-0.0037            0.4010+-0.0019     ?      0.4073+-0.0073        
   negative-zero-negate                               0.3951+-0.0178            0.3847+-0.0024     ?      0.3868+-0.0038            0.3853+-0.0039          might be 1.0253x faster
   nested-function-parsing-random                   384.8512+-0.6386          383.6837+-0.9574     ?    385.0830+-1.3577          383.5749+-0.5080        ^ definitely 1.0033x faster
   nested-function-parsing                           47.2764+-0.1489     ?     47.4376+-0.1488           47.3145+-0.0846     !     47.5951+-0.1616        ! definitely 1.0067x slower
   new-array-buffer-dead                              3.7576+-0.0143     ?      3.7671+-0.0254     !      4.0556+-0.0752            4.0192+-0.0776        ! definitely 1.0696x slower
   new-array-buffer-push                             10.6301+-0.1276           10.6096+-0.1660     ?     10.6493+-0.1333     ?     10.7690+-0.1074        ? might be 1.0131x slower
   new-array-dead                                    28.5463+-0.1586     ?     28.5797+-0.0951     ^     17.4819+-0.1753     ?     17.5460+-0.1534        ^ definitely 1.6269x faster
   new-array-push                                     6.9432+-0.0737     ?      6.9521+-0.0559     !      7.3121+-0.0603            7.2932+-0.0555        ! definitely 1.0504x slower
   number-test                                        4.3265+-0.0176     ?      4.3381+-0.0238            4.3135+-0.0138     ?      4.3151+-0.0273        
   object-closure-call                               12.9492+-0.1032           12.5276+-1.0282     !     14.3364+-0.1392           13.1934+-1.6985        ? might be 1.0189x slower
   object-test                                        4.6861+-0.0502     ?      4.6964+-0.0464            4.6663+-0.0046     ?      4.6996+-0.0626        ?
   poly-stricteq                                     79.7288+-0.3306     ?     80.0933+-0.5188     ?     81.7341+-2.1637           79.6055+-0.3308        
   polymorphic-structure                             26.0527+-0.0745     ?     26.0877+-0.0806     !     26.2974+-0.0551     ?     26.3709+-0.0762        ! definitely 1.0122x slower
   polyvariant-monomorphic-get-by-id                 12.7833+-0.1504           12.7353+-0.0909     !     12.9660+-0.1018           12.8403+-0.1122        ?
   proto-custom-getter                              593.6379+-17.9362         583.3150+-10.8249    !    747.0965+-17.6511    ?    753.3169+-13.1491       ! definitely 1.2690x slower
   proto-getter-access                              452.9693+-6.3546          451.8937+-3.4632     !    502.0115+-4.3053     !    512.5396+-3.9269        ! definitely 1.1315x slower
   put-by-id                                         19.4384+-0.3097           19.2197+-0.3895     ?     19.6048+-0.2843     ?     19.6688+-0.2445        ? might be 1.0119x slower
   put-by-val-large-index-blank-indexing-type   
                                                     11.0238+-0.0762     !     11.4510+-0.1161     ^     10.9587+-0.0882     !     11.3981+-0.0807        ! definitely 1.0340x slower
   put-by-val-machine-int                             4.0043+-0.0150     ?      4.0149+-0.0161            4.0118+-0.0592            3.9206+-0.0919          might be 1.0213x faster
   rare-osr-exit-on-local                            20.4200+-0.1123           20.3313+-0.1698     !     22.6434+-0.4076           22.4200+-0.3201        ! definitely 1.0979x slower
   register-pressure-from-osr                        30.5567+-0.1513     ?     30.6169+-0.1751     !     33.2118+-0.1181           33.1870+-0.1327        ! definitely 1.0861x slower
   simple-activation-demo                            35.1231+-0.0930     ^     34.4927+-0.1168     !     35.3384+-0.0933     ^     34.7324+-0.1153        ^ definitely 1.0113x faster
   simple-custom-getter                             666.5453+-0.3841          666.4794+-0.1786     ?    675.0518+-18.8179    ?    690.2691+-37.7701       ? might be 1.0356x slower
   simple-getter-access                             414.1193+-8.3103     ?    420.3711+-9.9774          420.2833+-7.5859     ?    420.3192+-5.4244        ? might be 1.0150x slower
   slow-array-profile-convergence                     3.9607+-0.0360            3.9519+-0.0170     !      4.0828+-0.0744     ?      4.1407+-0.1294        ! definitely 1.0455x slower
   slow-convergence                                   4.3491+-0.0344            4.3383+-0.0212            4.3130+-0.0521     ?      4.3756+-0.0399        ?
   sparse-conditional                                 1.3927+-0.0210            1.3831+-0.0174     ?      1.4284+-0.0435     ?      1.4642+-0.0747        ? might be 1.0513x slower
   splice-to-remove                                  77.0413+-0.1601     ?     77.2592+-0.1044           77.0603+-0.1105     ?     77.1806+-0.0956        ?
   stepanov_container                             10159.7774+-65.3852    ?  10220.2766+-78.6030    ^   9354.9991+-63.7988        9322.8393+-50.0231       ^ definitely 1.0898x faster
   string-concat-object                               3.0427+-0.0166     ?      3.0438+-0.0246     ?      3.0453+-0.0313            3.0359+-0.0148        
   string-concat-pair-object                          2.9838+-0.0242            2.9634+-0.0203     ?      2.9697+-0.0256     ?      2.9861+-0.0173        ?
   string-concat-pair-simple                         16.7938+-0.3177           16.5605+-0.3424     ?     16.8059+-0.3725     ?     17.1277+-0.1210        ? might be 1.0199x slower
   string-concat-simple                              16.8822+-0.3542           16.7658+-0.3869     ?     16.8919+-0.3541     ?     17.0646+-0.2469        ? might be 1.0108x slower
   string-cons-repeat                                10.5060+-0.0225     ?     10.5758+-0.1464           10.4854+-0.0267     ?     10.5618+-0.0776        ?
   string-cons-tower                                 11.3373+-0.0350     ?     11.3825+-0.0610     ?     11.3983+-0.0095     ?     11.4053+-0.0533        ?
   string-equality                                   43.4208+-0.1582     !     44.2858+-0.6599           43.4949+-0.3677     ?     44.5021+-0.6905        ! definitely 1.0249x slower
   string-get-by-val-big-char                        12.7086+-0.0733     !     13.1123+-0.1092     !     13.9976+-0.1066     !     14.3728+-0.1094        ! definitely 1.1310x slower
   string-get-by-val-out-of-bounds-insane             6.0124+-0.1766            5.9194+-0.1784     ?      6.0778+-0.0771     ?      6.1631+-0.2043        ? might be 1.0251x slower
   string-get-by-val-out-of-bounds                    5.3922+-0.0196            5.3683+-0.0478     !      6.8594+-0.0824            6.7498+-0.1168        ! definitely 1.2518x slower
   string-get-by-val                                  5.0190+-0.1033            4.9966+-0.0723     !      5.6904+-0.1145     ?      5.6985+-0.0929        ! definitely 1.1354x slower
   string-hash                                        2.7786+-0.0045     ?      2.7906+-0.0136     !      3.0412+-0.0690     ?      3.0496+-0.0478        ! definitely 1.0975x slower
   string-long-ident-equality                        38.1164+-0.8305           37.8205+-0.1267     ^     37.4363+-0.1779     !     38.8120+-0.9259        ? might be 1.0183x slower
   string-repeat-arith                               49.1936+-0.4711           49.0386+-0.6959     ?     49.0423+-0.3158     ^     48.2684+-0.2258        ^ definitely 1.0192x faster
   string-sub                                        99.1313+-0.8025     ^     97.1266+-0.8017     !     99.6276+-1.1304           97.8362+-2.2023          might be 1.0132x faster
   string-test                                        4.3379+-0.0438     ?      4.3562+-0.0306            4.3453+-0.0150     ?      4.3496+-0.0115        ?
   string-var-equality                               69.5204+-0.1835     ?     69.5653+-0.1227     ?     70.2233+-0.7973           69.9354+-0.8832        ?
   structure-hoist-over-transitions                   3.4157+-0.0235            3.4097+-0.0128     !      3.8219+-0.0233            3.8125+-0.0148        ! definitely 1.1162x slower
   switch-char-constant                               3.5011+-0.0088            3.5001+-0.0070     !      3.8187+-0.0180     !      3.8762+-0.0311        ! definitely 1.1071x slower
   switch-char                                        7.8720+-0.0706     ?      7.8813+-0.0371     !      9.0654+-0.0263            9.0540+-0.0222        ! definitely 1.1501x slower
   switch-constant                                    9.3833+-0.1285            9.3124+-0.1122     !     10.4903+-0.0547           10.4525+-0.1007        ! definitely 1.1140x slower
   switch-string-basic-big-var                       23.8240+-2.2877           23.0140+-2.1795           22.9598+-1.1382     ?     23.8999+-2.8546        ?
   switch-string-basic-big                           21.9469+-1.4260           21.4095+-0.5382     ?     22.0909+-1.4853     ?     23.1126+-1.8493        ? might be 1.0531x slower
   switch-string-basic-var                           20.3468+-0.2810     ?     20.3830+-0.3719           20.2715+-0.1735     ?     20.2721+-0.1563        
   switch-string-basic                               20.7035+-0.9135     ?     21.8971+-1.6131           20.8157+-0.7820     ?     21.2472+-1.4636        ? might be 1.0263x slower
   switch-string-big-length-tower-var                28.4075+-0.1245     ?     28.4091+-0.0819           28.3831+-0.0624     ?     28.4954+-0.1198        ?
   switch-string-length-tower-var                    21.7140+-0.1489           21.5929+-0.1943     ?     21.6778+-0.2075           21.5660+-0.1404        
   switch-string-length-tower                        16.1853+-0.1390     ?     16.2672+-0.1037           16.2519+-0.1283           16.1598+-0.1448        
   switch-string-short                               16.2066+-0.1151           16.1954+-0.1007           16.1661+-0.1177     ?     16.2183+-0.1559        ?
   switch                                            13.6022+-0.1168           13.5781+-0.1266     !     15.4640+-0.0560           15.4053+-0.0454        ! definitely 1.1326x slower
   tear-off-arguments-simple                          2.3004+-0.0032     ?      2.3087+-0.0076     ^      2.2863+-0.0049            2.2860+-0.0070        ^ definitely 1.0063x faster
   tear-off-arguments                                 3.7057+-0.0107     ?      3.7124+-0.0092     ^      3.6803+-0.0099     !      3.7280+-0.0365        ?
   temporal-structure                                17.6721+-0.1345           17.6696+-0.0737     ?     17.7899+-0.1034           17.7532+-0.1096        ?
   to-int32-boolean                                  21.4215+-0.1283           21.3370+-0.1172     ?     21.4432+-0.0967     ?     21.4438+-0.1184        ?
   undefined-test                                     4.5145+-0.0046     !      4.5375+-0.0158            4.5185+-0.0123            4.5180+-0.0602        ?
   weird-inlining-const-prop                          2.3183+-0.0555            2.2907+-0.0153     !      2.7371+-0.0222            2.7308+-0.0131        ! definitely 1.1780x slower

   <arithmetic>                                     137.6772+-0.3337     ?    138.1045+-0.3876     ^    111.8774+-0.3151     ?    112.1940+-0.3232        ^ definitely 1.2271x faster
   <geometric> *                                     14.6458+-0.0212     ?     14.6642+-0.0129     ^     14.5480+-0.0111     !     14.5896+-0.0166        ^ definitely 1.0038x faster
   <harmonic>                                         5.1615+-0.0202            5.1481+-0.0088     !      5.2916+-0.0204     ?      5.3104+-0.0160        ! definitely 1.0288x slower

                                                        TipOfTree                FixCheckExec                  FTL                 FTLFixCheckExec        FTLFixCheckExec v. TipOfTree
All benchmarks:
   <arithmetic>                                     202.0969+-0.3233     ?    202.3499+-0.2921                ERROR                     ERROR             
   <geometric>                                       20.2622+-0.0236     ?     20.2886+-0.0128                ERROR                     ERROR             
   <harmonic>                                         4.6417+-0.0117     ?      4.6450+-0.0095                ERROR                     ERROR             

                                                        TipOfTree                FixCheckExec                  FTL                 FTLFixCheckExec        FTLFixCheckExec v. TipOfTree
Geomean of preferred means:
   <scaled-result>                                   48.2696+-0.0434     ?     48.3408+-0.0363                ERROR                     ERROR
Comment 5 Filip Pizlo 2014-01-10 21:02:33 PST
Landed in http://trac.webkit.org/changeset/161732