Bug 149048

Summary: JavaScriptCore should discard optimized code after some time
Product: WebKit Reporter: Geoffrey Garen <ggaren>
Component: New BugsAssignee: Geoffrey Garen <ggaren>
Status: RESOLVED FIXED    
Severity: Normal CC: fpizlo, saam
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Geoffrey Garen 2015-09-10 16:22:59 PDT
JavaScriptCore should discard optimized code after some time
Comment 1 Geoffrey Garen 2015-09-10 17:43:09 PDT
Created attachment 260974 [details]
Patch
Comment 2 Geoffrey Garen 2015-09-10 19:49:16 PDT
Seems performance neutral.

Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on Geoffrey-Garens-Mac-Pro (MacPro6,1).

VMs tested:
"Base" at /Volumes/Big/ggaren/OpenSource/WebKitBuild/Release/jsc (r189584)
"Patch" at /Volumes/Big/ggaren/OpenSource/WebKitBuildPatch/Release/jsc

Collected 4 samples per benchmark/VM, with 4 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.

                                                           Base                     Patch                                       
SunSpider:
   3d-cube                                            6.2373+-0.6998            6.0918+-0.5057          might be 1.0239x faster
   3d-morph                                           6.4552+-0.5559            6.3865+-0.2720          might be 1.0108x faster
   3d-raytrace                                        7.0774+-0.2845     ?      7.2231+-0.3546        ? might be 1.0206x slower
   access-binary-trees                                2.5340+-0.2187            2.4935+-0.1033          might be 1.0163x faster
   access-fannkuch                                    6.6491+-0.1683     ?      6.7792+-0.1741        ? might be 1.0196x slower
   access-nbody                                       3.3130+-0.1320            3.3050+-0.1610        
   access-nsieve                                      3.8568+-0.1119     ?      3.9174+-0.3181        ? might be 1.0157x slower
   bitops-3bit-bits-in-byte                           1.5070+-0.0284     ?      1.5217+-0.0832        ?
   bitops-bits-in-byte                                3.9033+-0.0874            3.8508+-0.1092          might be 1.0136x faster
   bitops-bitwise-and                                 2.3863+-0.0722     ?      2.4268+-0.0485        ? might be 1.0170x slower
   bitops-nsieve-bits                                 3.4908+-0.0414     !      3.7028+-0.0856        ! definitely 1.0607x slower
   controlflow-recursive                              2.9725+-0.1339            2.8986+-0.0561          might be 1.0255x faster
   crypto-aes                                         5.0654+-0.1232     ?      5.0667+-0.1937        ?
   crypto-md5                                         3.1998+-0.1150            3.1823+-0.2156        
   crypto-sha1                                        2.9482+-0.0862     ?      2.9938+-0.0787        ? might be 1.0154x slower
   date-format-tofte                                 10.2503+-0.1374           10.2407+-0.1787        
   date-format-xparb                                  5.9922+-0.1604     ?      6.0702+-0.3438        ? might be 1.0130x slower
   math-cordic                                        3.5610+-0.0136     ?      3.6011+-0.1595        ? might be 1.0113x slower
   math-partial-sums                                  6.1277+-0.0955            6.0555+-0.1174          might be 1.0119x faster
   math-spectral-norm                                 2.4400+-0.2233            2.3893+-0.0634          might be 1.0212x faster
   regexp-dna                                         7.5459+-0.1979     ?      7.5820+-0.1625        ?
   string-base64                                      5.2004+-0.0721     ?      5.2903+-0.2524        ? might be 1.0173x slower
   string-fasta                                       6.9998+-0.3947     ?      7.0070+-0.2213        ?
   string-tagcloud                                    9.4146+-0.1670     ?      9.5873+-0.3361        ? might be 1.0183x slower
   string-unpack-code                                21.7823+-0.4895           21.4761+-0.4036          might be 1.0143x faster
   string-validate-input                              5.2923+-0.1939            5.1880+-0.1313          might be 1.0201x faster

   <arithmetic>                                       5.6232+-0.0523     ?      5.6280+-0.0212        ? might be 1.0009x slower

                                                           Base                     Patch                                       
LongSpider:
   3d-cube                                          948.2208+-3.5460     !    954.2710+-1.8615        ! definitely 1.0064x slower
   3d-morph                                        1629.8265+-4.5521     ?   1635.0995+-5.5715        ?
   3d-raytrace                                      745.0506+-12.0808         731.1832+-19.6636         might be 1.0190x faster
   access-binary-trees                             1009.4177+-2.1948         1009.0797+-7.9027        
   access-fannkuch                                  356.6237+-20.6786    ?    359.5458+-6.8134        ?
   access-nbody                                     629.9277+-1.3096     ?    631.1139+-3.0141        ?
   access-nsieve                                    456.8562+-6.7241          456.4175+-5.9906        
   bitops-3bit-bits-in-byte                          41.9263+-0.7383           41.8788+-0.1513        
   bitops-bits-in-byte                               93.4480+-1.8670     ?     94.0328+-2.3434        ?
   bitops-nsieve-bits                               461.6011+-3.7435          460.2842+-5.2090        
   controlflow-recursive                            504.9008+-4.3465          503.0662+-2.5977        
   crypto-aes                                       658.4852+-6.1292     !    684.1891+-7.0355        ! definitely 1.0390x slower
   crypto-md5                                       540.2925+-1.1328     ?    552.6625+-47.9564       ? might be 1.0229x slower
   crypto-sha1                                      760.6544+-11.9878    ?    764.1653+-2.0718        ?
   date-format-tofte                                770.2838+-21.2322    ?    806.0181+-42.6851       ? might be 1.0464x slower
   date-format-xparb                                849.3405+-24.4395         845.8824+-22.7552       
   hash-map                                         192.5185+-14.1186         188.5817+-4.5427          might be 1.0209x faster
   math-cordic                                      564.9545+-3.1905     ?    565.1143+-2.6668        ?
   math-partial-sums                                637.1646+-3.6162          632.9369+-2.8693        
   math-spectral-norm                               601.4333+-3.3690     ?    601.8270+-4.6640        ?
   string-base64                                    421.3780+-2.5806          420.9502+-3.0048        
   string-fasta                                     426.9791+-6.4953     ?    431.3574+-4.6062        ? might be 1.0103x slower
   string-tagcloud                                  211.5512+-7.9018          211.2122+-3.9881        

   <geometric>                                      471.2531+-3.7056     ?    473.0172+-2.3338        ? might be 1.0037x slower

                                                           Base                     Patch                                       
V8Spider:
   crypto                                            58.2097+-0.6847           58.0803+-0.5660        
   deltablue                                         77.3356+-1.3123           76.9157+-1.9631        
   earley-boyer                                      48.6772+-0.5288           48.5846+-0.9942        
   raytrace                                          34.3395+-2.9003           33.5005+-0.7629          might be 1.0250x faster
   regexp                                            77.2864+-0.2377     ?     77.8897+-1.2145        ?
   richards                                          66.8525+-2.7246           65.7289+-0.7452          might be 1.0171x faster
   splay                                             41.3040+-2.4085     ?     42.1997+-5.3736        ? might be 1.0217x slower

   <geometric>                                       55.4076+-0.7865           55.2283+-1.0001          might be 1.0032x faster

                                                           Base                     Patch                                       
Octane:
   encrypt                                           0.23409+-0.00612          0.23326+-0.00528       
   decrypt                                           3.95816+-0.13177    ?     4.12333+-0.27060       ? might be 1.0417x slower
   deltablue                                x2       0.19946+-0.00486    ?     0.20553+-0.01411       ? might be 1.0305x slower
   earley                                            0.36717+-0.00167    !     0.37233+-0.00259       ! definitely 1.0141x slower
   boyer                                             5.48428+-0.12144    ?     5.56320+-0.01901       ? might be 1.0144x slower
   navier-stokes                            x2       5.47994+-0.01630          5.46790+-0.00738       
   raytrace                                 x2       1.26255+-0.08325    ?     1.33305+-0.12293       ? might be 1.0558x slower
   richards                                 x2       0.12981+-0.00145    ?     0.12984+-0.00070       ?
   splay                                    x2       0.37700+-0.00468          0.37496+-0.00241       
   regexp                                   x2      28.75323+-0.27899    ?    28.86369+-0.31549       ?
   pdfjs                                    x2      44.65081+-0.34340    ?    44.82206+-0.09845       ?
   mandreel                                 x2      51.61221+-0.22120         51.50935+-0.36027       
   gbemu                                    x2      50.04648+-4.62259         48.81325+-4.94189         might be 1.0253x faster
   closure                                           0.76864+-0.00280          0.76804+-0.00432       
   jquery                                            9.64820+-0.10518          9.64324+-0.09229       
   box2d                                    x2      13.48822+-0.20810         13.39042+-0.05116       
   zlib                                     x2     431.98319+-32.10724   ?   444.29810+-8.06167       ? might be 1.0285x slower
   typescript                               x2     896.21698+-12.58872       891.41260+-17.48438      

   <geometric>                                       6.95822+-0.13383    ?     7.00655+-0.03539       ? might be 1.0069x slower

                                                           Base                     Patch                                       
Kraken:
   ai-astar                                          292.406+-5.995      ?     296.105+-7.487         ? might be 1.0127x slower
   audio-beat-detection                               63.339+-2.650      ?      63.389+-0.878         ?
   audio-dft                                         112.648+-0.466            112.370+-1.076         
   audio-fft                                          42.341+-1.827             41.859+-0.479           might be 1.0115x faster
   audio-oscillator                                   74.727+-0.311      ?      74.835+-0.461         ?
   imaging-darkroom                                   73.143+-0.605      ?      73.244+-0.466         ?
   imaging-desaturate                                 65.622+-0.597      ?      66.083+-0.246         ?
   imaging-gaussian-blur                             110.054+-1.044      ?     110.892+-0.787         ?
   json-parse-financial                               48.437+-0.348      ?      48.912+-1.294         ?
   json-stringify-tinderbox                           29.625+-0.609      ?      29.689+-0.435         ?
   stanford-crypto-aes                                49.640+-2.558             48.840+-0.351           might be 1.0164x faster
   stanford-crypto-ccm                                46.026+-2.410      ?      47.207+-2.503         ? might be 1.0257x slower
   stanford-crypto-pbkdf2                            109.024+-8.086            106.833+-0.944           might be 1.0205x faster
   stanford-crypto-sha256-iterative                   43.832+-1.966             43.548+-0.650         

   <arithmetic>                                       82.919+-1.092      ?      83.129+-0.352         ? might be 1.0025x slower

                                                           Base                     Patch                                       
JSRegress:
   abc-forward-loop-equal                            48.1035+-0.5561     ?     48.2924+-1.0393        ?
   abc-postfix-backward-loop                         48.0013+-0.8086           47.8587+-0.6556        
   abc-simple-backward-loop                          47.6072+-0.8286     ?     47.7894+-0.3806        ?
   abc-simple-forward-loop                           47.5130+-0.3448     ?     47.9283+-0.7418        ?
   abc-skippy-loop                                   33.0482+-0.2891           32.8343+-0.7428        
   abs-boolean                                        2.9927+-0.1647     ?      2.9993+-0.1007        ?
   adapt-to-double-divide                            16.7838+-0.3599           16.6985+-0.3171        
   aliased-arguments-getbyval                         1.4738+-0.1747     ?      1.4794+-0.1304        ?
   allocate-big-object                                2.6908+-0.0736     ?      2.7150+-0.0954        ?
   arguments-named-and-reflective                    11.3193+-0.2797           11.0587+-0.2759          might be 1.0236x faster
   arguments-out-of-bounds                           12.1168+-0.2314     ?     12.6416+-0.5029        ? might be 1.0433x slower
   arguments-strict-mode                              9.7892+-0.3217     ?      9.8463+-0.5311        ?
   arguments                                          8.8338+-0.3951            8.8176+-0.4749        
   arity-mismatch-inlining                            1.1785+-0.0632            1.1765+-0.0791        
   array-access-polymorphic-structure                 6.7513+-0.3880            6.6359+-0.2965          might be 1.0174x faster
   array-nonarray-polymorhpic-access                 32.2955+-1.1367           32.2368+-1.8580        
   array-prototype-every                             90.6672+-1.1731     ^     87.3447+-0.7376        ^ definitely 1.0380x faster
   array-prototype-forEach                           87.8310+-0.6259     ^     85.7389+-0.9604        ^ definitely 1.0244x faster
   array-prototype-map                               94.6243+-3.8122     ?     95.2415+-3.5741        ?
   array-prototype-reduce                            84.8847+-0.9273     ^     83.1986+-0.4480        ^ definitely 1.0203x faster
   array-prototype-reduceRight                       85.2482+-3.5397           83.5174+-1.7338          might be 1.0207x faster
   array-prototype-some                              90.0785+-0.9885     ^     87.6427+-0.8578        ^ definitely 1.0278x faster
   array-splice-contiguous                           27.2339+-0.7555     ?     27.7100+-1.0436        ? might be 1.0175x slower
   array-with-double-add                              4.5016+-0.1538            4.4897+-0.0679        
   array-with-double-increment                        3.5605+-0.1503     ?      3.6738+-0.2240        ? might be 1.0318x slower
   array-with-double-mul-add                          5.3488+-0.0276     ?      5.4230+-0.1689        ? might be 1.0139x slower
   array-with-double-sum                              3.6185+-0.0872     ?      3.6650+-0.2377        ? might be 1.0129x slower
   array-with-int32-add-sub                           7.5129+-0.2097            7.3766+-0.1579          might be 1.0185x faster
   array-with-int32-or-double-sum                     3.7282+-0.0855            3.7060+-0.0880        
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     32.4965+-0.7169           32.3425+-0.4192        
   ArrayBuffer-DataView-alloc-long-lived             13.8568+-0.6737           13.8319+-0.1462        
   ArrayBuffer-Int32Array-byteOffset                  4.1959+-0.2235     ?      4.2175+-0.1405        ?
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     39.1814+-0.7421     ?     40.2591+-0.3356        ? might be 1.0275x slower
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     22.8585+-0.8327     ?     22.9091+-0.3903        ?
   ArrayBuffer-Int8Array-alloc-long-lived            13.7353+-0.3880     ?     13.8456+-0.6961        ?
   ArrayBuffer-Int8Array-alloc                       10.6022+-0.6779     ?     10.8674+-0.2719        ? might be 1.0250x slower
   arrowfunction-call                                12.2315+-0.3184     ?     12.3964+-0.1959        ? might be 1.0135x slower
   asmjs_bool_bug                                     8.3838+-0.1533     ?      8.4919+-0.2304        ? might be 1.0129x slower
   assign-custom-setter-polymorphic                   3.2315+-0.2413     ?      3.3799+-0.1348        ? might be 1.0459x slower
   assign-custom-setter                               4.4169+-0.2202     !      4.7983+-0.1085        ! definitely 1.0864x slower
   basic-set                                          9.8530+-0.3592     ?      9.9135+-0.4781        ?
   big-int-mul                                        4.2476+-0.0409     ?      4.3080+-0.2400        ? might be 1.0142x slower
   boolean-test                                       3.4380+-0.0488     ?      3.4860+-0.1120        ? might be 1.0140x slower
   branch-fold                                        4.2503+-0.1265            4.2258+-0.1025        
   branch-on-string-as-boolean                       18.8042+-0.2395           18.5748+-0.3348          might be 1.0123x faster
   by-val-generic                                     2.9458+-0.1551            2.8915+-0.1721          might be 1.0188x faster
   call-spread-apply                                 31.0847+-0.6128     ?     31.1466+-0.6160        ?
   call-spread-call                                  25.4944+-0.3940     ?     25.6371+-0.7728        ?
   captured-assignments                               0.6633+-0.0708     ?      0.6989+-0.0173        ? might be 1.0536x slower
   cast-int-to-double                                 5.9068+-0.1977     ?      6.1335+-0.4189        ? might be 1.0384x slower
   cell-argument                                      7.4530+-0.2797            7.1038+-0.1011          might be 1.0492x faster
   cfg-simplify                                       3.2186+-0.2275            3.1664+-0.0892          might be 1.0165x faster
   chain-getter-access                                8.5395+-0.7279            8.5180+-0.1890        
   cmpeq-obj-to-obj-other                            11.3019+-0.3684           11.1620+-0.2548          might be 1.0125x faster
   constant-test                                      5.4701+-0.2929     ?      5.5930+-0.3335        ? might be 1.0225x slower
   create-lots-of-functions                          11.5002+-0.4423           11.2812+-0.4050          might be 1.0194x faster
   cse-new-array-buffer                               2.6204+-0.0989     ?      2.6536+-0.1842        ? might be 1.0127x slower
   cse-new-array                                      2.7009+-0.1032     ?      2.7596+-0.0704        ? might be 1.0217x slower
   DataView-custom-properties                        38.5078+-1.1626     ?     38.5394+-1.7292        ?
   delay-tear-off-arguments-strictmode               14.3003+-0.4223     ?     14.5397+-0.3416        ? might be 1.0167x slower
   deltablue-varargs                                223.1760+-4.3511     ?    234.9409+-16.3981       ? might be 1.0527x slower
   destructuring-arguments                          187.9759+-1.2313     ?    190.3360+-2.2611        ? might be 1.0126x slower
   destructuring-parameters-overridden-by-function   
                                                      0.7146+-0.0277            0.6899+-0.0176          might be 1.0358x faster
   destructuring-swap                                 5.7375+-0.1178            5.7073+-0.4247        
   direct-arguments-getbyval                          1.4429+-0.1372            1.4395+-0.0783        
   div-boolean-double                                 5.7106+-0.2121     ?      5.7683+-0.2591        ? might be 1.0101x slower
   div-boolean                                        8.5978+-0.3652            8.4628+-0.3403          might be 1.0160x faster
   double-get-by-val-out-of-bounds                    4.8203+-0.0944     ?      4.8655+-0.1121        ?
   double-pollution-getbyval                          9.4998+-0.2149            9.3795+-0.0371          might be 1.0128x faster
   double-pollution-putbyoffset                       4.5532+-0.2151     ?      4.6624+-0.2673        ? might be 1.0240x slower
   double-real-use                                   30.7264+-0.7680     ?     31.3766+-1.1779        ? might be 1.0212x slower
   double-to-int32-typed-array-no-inline              2.7514+-0.0644     ?      2.7988+-0.0404        ? might be 1.0172x slower
   double-to-int32-typed-array                        2.4935+-0.0339     ?      2.5008+-0.0269        ?
   double-to-uint32-typed-array-no-inline             2.8384+-0.0736            2.8302+-0.1239        
   double-to-uint32-typed-array                       2.5436+-0.2247            2.5090+-0.0900          might be 1.0138x faster
   elidable-new-object-dag                           40.2050+-0.7183           39.6685+-0.8250          might be 1.0135x faster
   elidable-new-object-roflcopter                    41.5924+-2.3977           40.3585+-0.2329          might be 1.0306x faster
   elidable-new-object-then-call                     32.4847+-0.7504     ?     32.6133+-1.0561        ?
   elidable-new-object-tree                          44.1786+-1.5786     ?     44.6307+-1.3642        ? might be 1.0102x slower
   empty-string-plus-int                              5.7098+-0.2421            5.4800+-0.0760          might be 1.0419x faster
   emscripten-cube2hash                              40.6042+-0.7137     ?     40.8475+-0.3289        ?
   exit-length-on-plain-object                       14.6960+-1.0210           14.4001+-0.6074          might be 1.0205x faster
   external-arguments-getbyval                        1.6146+-0.1492     ?      1.6296+-0.1953        ?
   external-arguments-putbyval                        2.5869+-0.1000            2.5798+-0.0944        
   fixed-typed-array-storage-var-index                1.5748+-0.0273     ?      1.5806+-0.0486        ?
   fixed-typed-array-storage                          1.2333+-0.0361            1.2120+-0.0101          might be 1.0176x faster
   Float32Array-matrix-mult                           5.0604+-0.1371     ?      5.1265+-0.1525        ? might be 1.0131x slower
   Float32Array-to-Float64Array-set                  55.5769+-0.4961     !     60.3507+-3.0429        ! definitely 1.0859x slower
   Float64Array-alloc-long-lived                     87.2200+-1.3251     ?     88.1776+-0.8644        ? might be 1.0110x slower
   Float64Array-to-Int16Array-set                    71.9532+-0.6098     !     75.4155+-1.0384        ! definitely 1.0481x slower
   fold-double-to-int                                15.0355+-0.6995           14.8770+-0.1703          might be 1.0107x faster
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     10.0189+-0.1284            9.7164+-0.4659          might be 1.0311x faster
   fold-get-by-id-to-multi-get-by-offset              8.3186+-0.0879     !      8.6828+-0.2584        ! definitely 1.0438x slower
   fold-multi-get-by-offset-to-get-by-offset   
                                                      8.0441+-0.2120            7.7456+-0.8229          might be 1.0385x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      7.9437+-0.4780     ?      8.0733+-0.0665        ? might be 1.0163x slower
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      8.6274+-0.2882     ?      8.7487+-0.1560        ? might be 1.0141x slower
   fold-multi-put-by-offset-to-put-by-offset   
                                                      6.2975+-0.0354            6.2590+-0.0789        
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     11.5766+-1.0997     ?     12.2416+-0.3844        ? might be 1.0574x slower
   fold-put-by-id-to-multi-put-by-offset              9.2458+-0.1445            9.1170+-0.0616          might be 1.0141x faster
   fold-put-by-val-with-string-to-multi-put-by-offset   
                                                     10.2343+-0.7437           10.1255+-0.6364          might be 1.0107x faster
   fold-put-by-val-with-symbol-to-multi-put-by-offset   
                                                     10.5015+-0.2209           10.3148+-0.1339          might be 1.0181x faster
   fold-put-structure                                 5.6913+-0.0697            5.6516+-0.1104        
   for-of-iterate-array-entries                      12.8765+-0.5243     ?     13.1497+-0.3388        ? might be 1.0212x slower
   for-of-iterate-array-keys                          4.1752+-0.3003            4.0663+-0.0699          might be 1.0268x faster
   for-of-iterate-array-values                        4.2271+-0.2269            4.1605+-0.2083          might be 1.0160x faster
   fround                                            17.3673+-0.3637           17.0823+-0.5189          might be 1.0167x faster
   ftl-library-inlining-dataview                     68.0703+-1.2451           67.6883+-0.3754        
   ftl-library-inlining                              87.8853+-10.6803          87.7934+-9.9843        
   function-call                                     12.5859+-0.6688     ?     12.7795+-0.3634        ? might be 1.0154x slower
   function-dot-apply                                 2.6051+-0.0469            2.5950+-0.0448        
   function-test                                      3.2193+-0.0786     ?      3.2261+-0.1740        ?
   function-with-eval                               112.6788+-3.5921     ?    113.9485+-5.9971        ? might be 1.0113x slower
   gcse-poly-get-less-obvious                        22.9280+-3.0578     ?     23.6687+-4.1118        ? might be 1.0323x slower
   gcse-poly-get                                     25.4863+-1.7762           25.1368+-1.2359          might be 1.0139x faster
   gcse                                               4.7037+-0.0821     ?      4.7100+-0.0861        ?
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      3.0352+-0.1894            2.9593+-0.0199          might be 1.0257x faster
   get-by-id-bimorphic-check-structure-elimination   
                                                      6.5380+-0.2632     ?      6.6253+-0.2399        ? might be 1.0134x slower
   get-by-id-chain-from-try-block                     6.0472+-0.1046     ?      6.0513+-0.0810        ?
   get-by-id-check-structure-elimination              5.4367+-0.0847     ?      5.4952+-0.1171        ? might be 1.0108x slower
   get-by-id-proto-or-self                           19.8561+-3.9997           18.1194+-2.3369          might be 1.0958x faster
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.5529+-0.2508     ?      3.6356+-0.1542        ? might be 1.0233x slower
   get-by-id-self-or-proto                           16.8647+-0.5897     ?     17.5812+-0.3535        ? might be 1.0425x slower
   get-by-val-out-of-bounds                           4.7416+-0.1714     ?      4.7797+-0.1559        ?
   get-by-val-with-string-bimorphic-check-structure-elimination-simple   
                                                      3.1897+-0.1960            3.1546+-0.0187          might be 1.0111x faster
   get-by-val-with-string-bimorphic-check-structure-elimination   
                                                      7.6027+-0.3610            7.5794+-0.3607        
   get-by-val-with-string-chain-from-try-block   
                                                      6.1221+-0.1064     ?      6.1418+-0.1981        ?
   get-by-val-with-string-check-structure-elimination   
                                                      6.6045+-0.1906            6.5778+-0.4556        
   get-by-val-with-string-proto-or-self              16.8469+-0.9328     ?     16.9870+-0.6625        ?
   get-by-val-with-string-quadmorphic-check-structure-elimination-simple   
                                                      3.9755+-0.0743            3.9297+-0.0649          might be 1.0116x faster
   get-by-val-with-string-self-or-proto              18.6971+-3.3760           18.6467+-4.7651        
   get-by-val-with-symbol-bimorphic-check-structure-elimination-simple   
                                                      4.0092+-0.1205     ?      4.0128+-0.1225        ?
   get-by-val-with-symbol-bimorphic-check-structure-elimination   
                                                     14.9407+-0.5033           14.6888+-0.2942          might be 1.0172x faster
   get-by-val-with-symbol-chain-from-try-block   
                                                      6.2743+-0.3345            6.1370+-0.0784          might be 1.0224x faster
   get-by-val-with-symbol-check-structure-elimination   
                                                     13.8293+-0.2424     ?     14.0618+-0.6038        ? might be 1.0168x slower
   get-by-val-with-symbol-proto-or-self              17.6307+-1.8650           16.6982+-1.0487          might be 1.0558x faster
   get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple   
                                                      4.6359+-0.0676            4.6089+-0.0569        
   get-by-val-with-symbol-self-or-proto              18.9074+-3.4554     ?     19.7935+-5.2944        ? might be 1.0469x slower
   get_callee_monomorphic                             2.7129+-0.1072            2.6530+-0.1890          might be 1.0226x faster
   get_callee_polymorphic                             3.8300+-0.2907            3.7509+-0.0909          might be 1.0211x faster
   getter-no-activation                               5.4818+-0.1841     ?      5.5209+-0.1138        ?
   getter-prototype                                  12.4570+-0.3733     ?     12.5677+-0.2328        ?
   getter-richards                                  105.8670+-6.9694     ?    109.2382+-1.4403        ? might be 1.0318x slower
   getter                                             5.8940+-0.0644     ?      5.9675+-0.1726        ? might be 1.0125x slower
   global-object-access-with-mutating-structure   
                                                      6.7225+-0.5886     ?      6.7460+-0.5548        ?
   global-var-const-infer-fire-from-opt               1.0620+-0.1053            1.0029+-0.0591          might be 1.0589x faster
   global-var-const-infer                             0.9444+-0.1326     ?      0.9679+-0.2018        ? might be 1.0249x slower
   hard-overflow-check-equal                         52.9185+-0.5200           52.8524+-0.7410        
   hard-overflow-check                               52.6165+-0.4986     ?     52.8942+-0.3932        ?
   HashMap-put-get-iterate-keys                      29.5360+-0.4139           29.5180+-0.2162        
   HashMap-put-get-iterate                           29.5767+-0.4430     ?     29.6217+-0.6966        ?
   HashMap-string-put-get-iterate                    28.2620+-0.5061     ?     28.8810+-1.0779        ? might be 1.0219x slower
   hoist-make-rope                                    9.8349+-0.9167            9.7319+-0.4388          might be 1.0106x faster
   hoist-poly-check-structure-effectful-loop   
                                                      5.7693+-0.0739            5.6109+-0.3129          might be 1.0282x faster
   hoist-poly-check-structure                         3.9210+-0.1325     ?      3.9910+-0.0457        ? might be 1.0179x slower
   imul-double-only                                   6.7025+-0.0828     ?      6.8994+-0.3171        ? might be 1.0294x slower
   imul-int-only                                      7.4933+-0.4571            7.3098+-0.3317          might be 1.0251x faster
   imul-mixed                                         6.3622+-0.7186     ?      6.7463+-0.2592        ? might be 1.0604x slower
   in-four-cases                                     22.2242+-0.7362     ?     22.4494+-0.6771        ? might be 1.0101x slower
   in-one-case-false                                 12.1819+-0.4986     ?     12.1830+-0.1656        ?
   in-one-case-true                                  12.0107+-0.1792     ?     12.3430+-0.4526        ? might be 1.0277x slower
   in-two-cases                                      12.9393+-0.6616           12.6743+-0.3044          might be 1.0209x faster
   indexed-properties-in-objects                      3.2122+-0.1168     !      3.4222+-0.0666        ! definitely 1.0654x slower
   infer-closure-const-then-mov-no-inline             4.4662+-0.1405     ?      4.4791+-0.1120        ?
   infer-closure-const-then-mov                      18.3288+-0.6653           18.0468+-0.3235          might be 1.0156x faster
   infer-closure-const-then-put-to-scope-no-inline   
                                                     13.3832+-0.5111     ?     13.4852+-0.3499        ?
   infer-closure-const-then-put-to-scope             24.3826+-0.7556     ?     24.7231+-0.7332        ? might be 1.0140x slower
   infer-closure-const-then-reenter-no-inline   
                                                     59.7552+-0.6142     ?     59.8978+-0.8822        ?
   infer-closure-const-then-reenter                  24.3978+-1.1732     ?     24.9388+-0.7626        ? might be 1.0222x slower
   infer-constant-global-property                     3.9473+-0.1238            3.8723+-0.0588          might be 1.0194x faster
   infer-constant-property                            3.0565+-0.1574            3.0112+-0.0925          might be 1.0150x faster
   infer-one-time-closure-ten-vars                    9.9090+-0.4527            9.5013+-0.3505          might be 1.0429x faster
   infer-one-time-closure-two-vars                    9.1288+-0.1974            9.0475+-0.4048        
   infer-one-time-closure                             8.9611+-0.0701     ?      9.1169+-1.0928        ? might be 1.0174x slower
   infer-one-time-deep-closure                       15.7145+-0.3856           15.5960+-0.1721        
   inline-arguments-access                            4.2329+-0.0805     ?      4.2457+-0.1745        ?
   inline-arguments-aliased-access                    4.3180+-0.2005            4.2280+-0.2336          might be 1.0213x faster
   inline-arguments-local-escape                      4.3953+-0.4073            4.2136+-0.0859          might be 1.0431x faster
   inline-get-scoped-var                              5.4865+-0.0399     ?      5.5066+-0.0951        ?
   inlined-put-by-id-transition                      12.0798+-0.3691           12.0021+-0.3956        
   inlined-put-by-val-with-string-transition   
                                                     83.7814+-2.2002           82.7788+-3.2583          might be 1.0121x faster
   inlined-put-by-val-with-symbol-transition   
                                                     78.9785+-1.0235     ?     80.2457+-2.3106        ? might be 1.0160x slower
   int-or-other-abs-then-get-by-val                   5.4112+-0.2169     ?      5.4224+-0.3706        ?
   int-or-other-abs-zero-then-get-by-val             17.8592+-0.7648     ?     17.8660+-0.1983        ?
   int-or-other-add-then-get-by-val                   4.7850+-0.1026     ?      4.9000+-0.1965        ? might be 1.0240x slower
   int-or-other-add                                   5.9617+-0.3165            5.8693+-0.1850          might be 1.0157x faster
   int-or-other-div-then-get-by-val                   4.5030+-0.1448     ?      4.6926+-0.2731        ? might be 1.0421x slower
   int-or-other-max-then-get-by-val                   4.7780+-0.1563            4.7155+-0.0684          might be 1.0132x faster
   int-or-other-min-then-get-by-val                   4.6543+-0.0917            4.5980+-0.0488          might be 1.0122x faster
   int-or-other-mod-then-get-by-val                   4.2036+-0.0928            4.0475+-0.0728          might be 1.0386x faster
   int-or-other-mul-then-get-by-val                   4.3290+-0.0631            4.3159+-0.0306        
   int-or-other-neg-then-get-by-val                   4.7644+-0.0480            4.7549+-0.1058        
   int-or-other-neg-zero-then-get-by-val             17.7068+-0.6359     ?     17.7236+-0.2004        ?
   int-or-other-sub-then-get-by-val                   5.0949+-0.5794            5.0521+-0.2516        
   int-or-other-sub                                   4.1118+-0.1812            4.0336+-0.0845          might be 1.0194x faster
   int-overflow-local                                 5.0202+-0.1580            4.9775+-0.1859        
   Int16Array-alloc-long-lived                       53.7579+-1.1505     ?     54.5819+-0.7837        ? might be 1.0153x slower
   Int16Array-bubble-sort-with-byteLength            21.4916+-1.7347     ?     23.4140+-0.9621        ? might be 1.0895x slower
   Int16Array-bubble-sort                            21.2446+-0.4869     !     23.8806+-0.4579        ! definitely 1.1241x slower
   Int16Array-load-int-mul                            1.8278+-0.0364     ?      1.8324+-0.0484        ?
   Int16Array-to-Int32Array-set                      56.6932+-0.3758     ^     53.6176+-0.6763        ^ definitely 1.0574x faster
   Int32Array-alloc-large                            20.9693+-0.3988     ?     21.1763+-1.3286        ?
   Int32Array-alloc-long-lived                       65.6148+-2.1784     ?     66.2059+-2.1091        ?
   Int32Array-alloc                                   2.8509+-0.3403            2.7319+-0.1152          might be 1.0435x faster
   Int32Array-Int8Array-view-alloc                    6.8150+-0.4187     ?      6.8752+-0.3104        ?
   int52-spill                                        5.8445+-0.0795     ?      5.9636+-0.1852        ? might be 1.0204x slower
   Int8Array-alloc-long-lived                        48.0988+-1.1143           48.0609+-0.3585        
   Int8Array-load-with-byteLength                     3.7614+-0.1651            3.7407+-0.1625        
   Int8Array-load                                     3.7318+-0.0947            3.7098+-0.0998        
   integer-divide                                    12.3812+-0.1302     ?     12.3933+-0.0598        ?
   integer-modulo                                     2.3895+-0.1456     ?      2.5073+-0.5597        ? might be 1.0493x slower
   is-boolean-fold-tricky                             4.6791+-0.1768            4.5599+-0.1430          might be 1.0262x faster
   is-boolean-fold                                    3.1417+-0.0568            3.1248+-0.0739        
   is-function-fold-tricky-internal-function   
                                                     12.3511+-0.1122     !     12.7722+-0.2373        ! definitely 1.0341x slower
   is-function-fold-tricky                            4.7083+-0.1464            4.6413+-0.1993          might be 1.0144x faster
   is-function-fold                                   3.2090+-0.2112     ?      3.2590+-0.0977        ? might be 1.0156x slower
   is-number-fold-tricky                              4.5206+-0.0877            4.4832+-0.1153        
   is-number-fold                                     3.0812+-0.0086     ?      3.1103+-0.1050        ?
   is-object-or-null-fold-functions                   3.2311+-0.1815            3.2076+-0.0344        
   is-object-or-null-fold-less-tricky                 4.7050+-0.2780            4.7010+-0.1387        
   is-object-or-null-fold-tricky                      6.6096+-0.3387            6.5068+-0.3227          might be 1.0158x faster
   is-object-or-null-fold                             3.2028+-0.2336     ?      3.2035+-0.1728        ?
   is-object-or-null-trickier-function                4.9253+-0.4361            4.6915+-0.0762          might be 1.0498x faster
   is-object-or-null-trickier-internal-function   
                                                     12.7163+-0.4285     ?     12.8639+-0.1060        ? might be 1.0116x slower
   is-object-or-null-tricky-function                  4.6570+-0.0428     ?      4.6932+-0.1739        ?
   is-object-or-null-tricky-internal-function   
                                                      9.7974+-0.0980     ?      9.9031+-0.3577        ? might be 1.0108x slower
   is-string-fold-tricky                              4.5418+-0.0991            4.5173+-0.0994        
   is-string-fold                                     3.1372+-0.0893     ?      3.1390+-0.1655        ?
   is-undefined-fold-tricky                           3.7626+-0.1408     ?      3.8765+-0.1306        ? might be 1.0303x slower
   is-undefined-fold                                  3.1303+-0.1176     ?      3.1395+-0.0810        ?
   JSONP-negative-0                                   0.4467+-0.1607            0.4174+-0.0156          might be 1.0703x faster
   large-int-captured                                 4.9310+-0.1557            4.7653+-0.1667          might be 1.0348x faster
   large-int-neg                                     16.0753+-0.2672     ?     16.6140+-0.8417        ? might be 1.0335x slower
   large-int                                         14.3806+-0.6807     ?     14.6409+-0.8332        ? might be 1.0181x slower
   load-varargs-elimination                          25.7891+-1.6299           25.3300+-1.4658          might be 1.0181x faster
   logical-not-weird-types                            3.9338+-0.3594            3.8328+-0.1446          might be 1.0263x faster
   logical-not                                        5.0678+-0.1032     ?      5.1293+-0.2495        ? might be 1.0121x slower
   lots-of-fields                                    12.2301+-0.5804           11.7603+-0.5923          might be 1.0399x faster
   make-indexed-storage                               3.2770+-0.3707     ?      3.3136+-0.3320        ? might be 1.0112x slower
   make-rope-cse                                      3.7972+-0.1017            3.7879+-0.0661        
   marsaglia-larger-ints                             40.6863+-0.9590           40.3148+-1.7619        
   marsaglia-osr-entry                               22.4962+-0.6040           22.0637+-0.0399          might be 1.0196x faster
   math-with-out-of-bounds-array-values              24.9387+-0.1729     !     25.9249+-0.3306        ! definitely 1.0395x slower
   max-boolean                                        2.7365+-0.0751     ?      2.7622+-0.0953        ?
   method-on-number                                  18.3220+-0.6449     ?     18.5464+-0.8985        ? might be 1.0122x slower
   min-boolean                                        2.8106+-0.0773     ?      2.8146+-0.0643        ?
   minus-boolean-double                               3.4840+-0.0728            3.4763+-0.0489        
   minus-boolean                                      2.6152+-0.0850     ?      2.6163+-0.0106        ?
   misc-strict-eq                                    33.7088+-1.8749           33.3093+-1.6502          might be 1.0120x faster
   mod-boolean-double                                11.5528+-0.2004     ?     11.5768+-0.1514        ?
   mod-boolean                                        8.4190+-0.3070            8.3293+-0.2680          might be 1.0108x faster
   mul-boolean-double                                 4.0167+-0.0893     ?      4.0730+-0.1955        ? might be 1.0140x slower
   mul-boolean                                        3.1799+-0.1238     ?      3.2496+-0.1714        ? might be 1.0219x slower
   neg-boolean                                        3.5299+-0.1829            3.4731+-0.0845          might be 1.0163x faster
   negative-zero-divide                               0.5255+-0.0303     ?      0.5269+-0.0240        ?
   negative-zero-modulo                               0.5057+-0.0287     ?      0.5204+-0.0178        ? might be 1.0291x slower
   negative-zero-negate                               0.5245+-0.0199     ?      0.5298+-0.0072        ? might be 1.0100x slower
   nested-function-parsing                           52.9336+-0.6886     !     54.5853+-0.5575        ! definitely 1.0312x slower
   new-array-buffer-dead                            107.6801+-1.3331          107.3778+-0.5421        
   new-array-buffer-push                              6.8890+-0.3760     ?      6.9991+-0.1106        ? might be 1.0160x slower
   new-array-dead                                    15.8400+-1.9725     ?     16.7477+-4.1757        ? might be 1.0573x slower
   new-array-push                                     4.1543+-0.0463            4.1073+-0.1780          might be 1.0114x faster
   no-inline-constructor                             38.1882+-2.8637           37.9509+-0.8652        
   number-test                                        3.4013+-0.0479     ?      3.4438+-0.0406        ? might be 1.0125x slower
   object-closure-call                                6.3429+-0.1600     ?      6.3528+-0.1952        ?
   object-get-own-property-symbols-on-large-array   
                                                      4.0447+-0.2725     ?      4.2041+-0.2472        ? might be 1.0394x slower
   object-test                                        3.2077+-0.2401     ?      3.2257+-0.1948        ?
   obvious-sink-pathology-taken                     124.3295+-1.0017     ?    124.6260+-0.9326        ?
   obvious-sink-pathology                           117.5911+-1.0863     ?    117.7963+-0.6207        ?
   obviously-elidable-new-object                     28.3379+-0.2113     !     29.4803+-0.7092        ! definitely 1.0403x slower
   plus-boolean-arith                                 2.8150+-0.1031     ?      2.8298+-0.0754        ?
   plus-boolean-double                                3.5417+-0.1951     ?      3.5540+-0.1459        ?
   plus-boolean                                       2.6378+-0.0951     ?      2.6926+-0.1230        ? might be 1.0208x slower
   poly-chain-access-different-prototypes-simple   
                                                      4.3190+-0.1118     ?      4.3412+-0.2244        ?
   poly-chain-access-different-prototypes             4.3748+-0.0752            4.3513+-0.0730        
   poly-chain-access-simpler                          4.3500+-0.1794            4.3227+-0.1853        
   poly-chain-access                                  4.3268+-0.0655            4.3008+-0.0254        
   poly-stricteq                                     65.0734+-0.3617     ?     65.4987+-3.6282        ?
   polymorphic-array-call                             1.6907+-0.0373     ?      1.7180+-0.1425        ? might be 1.0161x slower
   polymorphic-get-by-id                              3.4050+-0.0604     ?      3.5034+-0.1792        ? might be 1.0289x slower
   polymorphic-put-by-id                             30.6072+-4.1435           28.1839+-2.0028          might be 1.0860x faster
   polymorphic-put-by-val-with-string                31.8353+-4.0195           30.9077+-4.8101          might be 1.0300x faster
   polymorphic-put-by-val-with-symbol                30.4117+-3.9061           28.5417+-0.3851          might be 1.0655x faster
   polymorphic-structure                             15.9402+-0.1737     ?     16.3052+-1.0374        ? might be 1.0229x slower
   polyvariant-monomorphic-get-by-id                  9.2556+-0.3274            9.0581+-0.1915          might be 1.0218x faster
   proto-getter-access                                8.4208+-0.2796            8.4055+-0.2691        
   prototype-access-with-mutating-prototype           6.4734+-0.1408            6.3663+-0.2912          might be 1.0168x faster
   put-by-id-replace-and-transition                   9.7357+-0.3364            9.6450+-0.3109        
   put-by-id-slightly-polymorphic                     3.1693+-0.2227            3.1048+-0.1054          might be 1.0208x faster
   put-by-id                                         12.6175+-0.4947     ?     12.6537+-0.5938        ?
   put-by-val-direct                                  0.5532+-0.0739     ?      0.5535+-0.0568        ?
   put-by-val-large-index-blank-indexing-type   
                                                      5.6323+-0.0783     ?      5.8564+-0.3423        ? might be 1.0398x slower
   put-by-val-machine-int                             2.9135+-0.0925     ?      2.9188+-0.2052        ?
   put-by-val-with-string-replace-and-transition   
                                                     14.2010+-0.6017           13.9992+-0.1558          might be 1.0144x faster
   put-by-val-with-string-slightly-polymorphic   
                                                      4.0900+-0.1024     ?      4.1268+-0.1660        ?
   put-by-val-with-string                            13.5883+-0.7296           13.4720+-0.0482        
   put-by-val-with-symbol-replace-and-transition   
                                                     15.3295+-0.5172           15.0808+-0.5488          might be 1.0165x faster
   put-by-val-with-symbol-slightly-polymorphic   
                                                      4.1121+-0.1476            4.0933+-0.1579        
   put-by-val-with-symbol                            13.2982+-0.4330     ?     13.3563+-0.6064        ?
   rare-osr-exit-on-local                            15.1112+-0.1928     ?     15.1863+-0.3113        ?
   register-pressure-from-osr                        22.7595+-0.4318     ?     23.1343+-0.5986        ? might be 1.0165x slower
   repeat-multi-get-by-offset                        25.1729+-0.4199     ?     25.3583+-0.9629        ?
   setter-prototype                                   7.3597+-0.1280     ?      7.5302+-0.3865        ? might be 1.0232x slower
   setter                                             6.0432+-0.0519     ?      6.1143+-0.1187        ? might be 1.0118x slower
   simple-activation-demo                            26.9531+-0.4117           26.7610+-0.7117        
   simple-getter-access                              10.9451+-0.2104     ?     11.2740+-0.5488        ? might be 1.0301x slower
   simple-poly-call-nested                            8.1638+-0.1222            8.0952+-0.0735        
   simple-poly-call                                   1.6819+-0.0246     ?      1.7116+-0.0199        ? might be 1.0176x slower
   sin-boolean                                       18.3032+-1.4250     ?     18.3826+-1.1145        ?
   singleton-scope                                   65.7672+-0.5304           65.7308+-0.7070        
   sink-function                                     10.2374+-0.1175           10.2098+-0.3518        
   sink-huge-activation                              16.1848+-0.5124     ?     16.2265+-0.4778        ?
   sinkable-new-object-dag                           65.5506+-5.7785     ?     66.7152+-5.1335        ? might be 1.0178x slower
   sinkable-new-object-taken                         49.2723+-1.0427     ?     49.3115+-0.3463        ?
   sinkable-new-object                               36.6432+-0.2633     ?     36.7252+-0.1604        ?
   slow-array-profile-convergence                     3.0258+-0.3610     ?      3.1163+-0.2794        ? might be 1.0299x slower
   slow-convergence                                   3.0170+-0.1360            3.0093+-0.0834        
   slow-ternaries                                    19.4141+-0.3800     ?     19.5340+-0.2947        ?
   sorting-benchmark                                 20.4288+-0.2233     ?     20.8904+-1.7590        ? might be 1.0226x slower
   sparse-conditional                                 1.5334+-0.0369            1.5275+-0.0156        
   splice-to-remove                                  15.4173+-0.3900     ?     16.0878+-0.9037        ? might be 1.0435x slower
   string-char-code-at                               17.9681+-0.4810           17.6215+-0.2419          might be 1.0197x faster
   string-concat-object                               2.2531+-0.0724     ?      2.3021+-0.0538        ? might be 1.0218x slower
   string-concat-pair-object                          2.2101+-0.1823            2.2093+-0.1749        
   string-concat-pair-simple                         11.7041+-0.2897     ?     11.8547+-0.3716        ? might be 1.0129x slower
   string-concat-simple                              12.2270+-0.5407           12.0445+-0.2470          might be 1.0152x faster
   string-cons-repeat                                 8.1304+-0.3160            7.8806+-0.5256          might be 1.0317x faster
   string-cons-tower                                  8.0052+-0.3428     ?      8.0276+-0.1973        ?
   string-equality                                   18.6295+-0.3478     ?     19.0002+-0.4735        ? might be 1.0199x slower
   string-get-by-val-big-char                         7.3295+-0.2414            7.2252+-0.0996          might be 1.0144x faster
   string-get-by-val-out-of-bounds-insane             3.9244+-0.0414            3.9018+-0.1706        
   string-get-by-val-out-of-bounds                    5.4972+-0.1938     ?      5.6815+-0.1329        ? might be 1.0335x slower
   string-get-by-val                                  3.6685+-0.1686     ?      3.7336+-0.0370        ? might be 1.0177x slower
   string-hash                                        2.4371+-0.1263            2.3954+-0.0807          might be 1.0174x faster
   string-long-ident-equality                        15.6154+-0.4045           15.3831+-0.2601          might be 1.0151x faster
   string-out-of-bounds                              12.8478+-0.4156           12.8387+-0.3508        
   string-repeat-arith                               34.6110+-1.0393           34.1917+-2.4397          might be 1.0123x faster
   string-sub                                        70.7313+-0.1943     ^     69.0818+-0.4489        ^ definitely 1.0239x faster
   string-test                                        3.2631+-0.0478     ?      3.3445+-0.1715        ? might be 1.0249x slower
   string-var-equality                               34.2977+-0.8461           33.9955+-0.1745        
   structure-hoist-over-transitions                   2.7400+-0.0622            2.7134+-0.1239        
   substring-concat-weird                            43.3453+-1.0381           43.0583+-0.7842        
   substring-concat                                  47.2188+-0.9017           46.9208+-1.1969        
   substring                                         51.8653+-0.8646     ?     52.4946+-2.6871        ? might be 1.0121x slower
   switch-char-constant                               3.0668+-0.0569     ?      3.0958+-0.1218        ?
   switch-char                                        6.8625+-0.2702            6.6623+-0.0978          might be 1.0301x faster
   switch-constant                                   11.0928+-0.7461           11.0499+-1.6914        
   switch-string-basic-big-var                       22.0075+-0.3705           21.5055+-0.3714          might be 1.0233x faster
   switch-string-basic-big                           19.7175+-0.3262     ?     20.1105+-0.1904        ? might be 1.0199x slower
   switch-string-basic-var                           15.9337+-0.1604     ?     16.1204+-0.2862        ? might be 1.0117x slower
   switch-string-basic                               15.1682+-0.4945           14.9330+-0.7539          might be 1.0157x faster
   switch-string-big-length-tower-var                21.3610+-0.6158     ?     21.5001+-0.2621        ?
   switch-string-length-tower-var                    16.0756+-0.7110           15.8297+-0.4328          might be 1.0155x faster
   switch-string-length-tower                        13.4177+-0.2120           13.2820+-0.2260          might be 1.0102x faster
   switch-string-short                               13.4620+-0.2589           13.2797+-0.5204          might be 1.0137x faster
   switch                                            14.4987+-0.3938     ?     14.8499+-0.2951        ? might be 1.0242x slower
   tear-off-arguments-simple                          3.3881+-0.2707     ?      3.4697+-0.0793        ? might be 1.0241x slower
   tear-off-arguments                                 4.6969+-0.1263     ?      4.7200+-0.2809        ?
   temporal-structure                                14.4500+-0.2179           14.4330+-0.2158        
   to-int32-boolean                                  14.1476+-0.3757     ?     14.4440+-0.5843        ? might be 1.0209x slower
   try-catch-get-by-val-cloned-arguments             15.7106+-0.7948           15.5933+-0.6106        
   try-catch-get-by-val-direct-arguments              6.9453+-0.1399     ?      7.4100+-0.5119        ? might be 1.0669x slower
   try-catch-get-by-val-scoped-arguments              8.2535+-0.4974            8.1392+-0.1651          might be 1.0140x faster
   typed-array-get-set-by-val-profiling              30.2241+-0.5645     ?     30.3189+-0.6442        ?
   undefined-property-access                        382.6136+-1.6418          381.9443+-1.1407        
   undefined-test                                     3.4184+-0.1295     ?      3.4193+-0.0883        ?
   unprofiled-licm                                   20.0278+-0.7352     ?     20.0485+-0.9729        ?
   varargs-call                                      14.8815+-0.3872           14.8328+-0.3921        
   varargs-construct-inline                          26.8505+-0.5301     ?     27.1570+-0.8905        ? might be 1.0114x slower
   varargs-construct                                 23.5258+-0.5923           23.3618+-0.1625        
   varargs-inline                                     9.4118+-0.1307     ?      9.8157+-0.4786        ? might be 1.0429x slower
   varargs-strict-mode                               10.7822+-0.1246     ?     11.0145+-0.1695        ? might be 1.0216x slower
   varargs                                           10.8675+-0.4662           10.7636+-0.4807        
   weird-inlining-const-prop                          2.6058+-0.1340     ?      2.6479+-0.1650        ? might be 1.0162x slower

   <geometric>                                        9.3877+-0.0234     ?      9.4067+-0.0242        ? might be 1.0020x slower

                                                           Base                     Patch                                       
AsmBench:
   bigfib.cpp                                       528.5793+-3.3852     ?    529.1025+-0.9544        ?
   cray.c                                           456.2888+-4.0944          455.0552+-3.0460        
   dry.c                                            527.4217+-5.1473          520.4431+-16.5272         might be 1.0134x faster
   FloatMM.c                                        768.4789+-7.8811          766.0724+-2.0565        
   gcc-loops.cpp                                   4200.5502+-42.5262    ?   4226.8358+-60.5876       ?
   n-body.c                                        1047.1781+-10.4612    ?   1048.1959+-3.9731        ?
   Quicksort.c                                      444.4725+-13.0951    ?    450.0363+-4.6655        ? might be 1.0125x slower
   stepanov_container.cpp                          3930.5422+-43.8807        3927.3470+-42.9982       
   Towers.c                                         268.5123+-0.9841          268.3182+-0.7044        

   <geometric>                                      837.0230+-2.7997          837.0180+-3.4398          might be 1.0000x faster

                                                           Base                     Patch                                       
CompressionBench:
   huffman                                           67.4948+-0.4238           66.7712+-0.7150          might be 1.0108x faster
   arithmetic-simple                                354.3824+-1.4436     ?    355.1945+-3.7094        ?
   arithmetic-precise                               286.4746+-0.6170     ?    286.8820+-1.5880        ?
   arithmetic-complex-precise                       289.9983+-4.2780          288.6801+-4.6025        
   arithmetic-precise-order-0                       363.2487+-2.1802     ?    364.5946+-2.4276        ?
   arithmetic-precise-order-1                       341.5037+-4.9531          339.1226+-2.1590        
   arithmetic-precise-order-2                       403.8220+-3.6805     ?    404.6668+-6.2920        ?
   arithmetic-simple-order-1                        409.1862+-3.4871     ?    409.3912+-2.5747        ?
   arithmetic-simple-order-2                        466.1685+-3.7014          465.3141+-1.5558        
   lz-string                                        315.7957+-10.5015    ?    320.7185+-9.8534        ? might be 1.0156x slower

   <geometric>                                      300.4539+-1.3091     ?    300.4931+-1.3449        ? might be 1.0001x slower

                                                           Base                     Patch                                       
Geomean of preferred means:
   <scaled-result>                                   61.3229+-0.2256     ?     61.4227+-0.2358        ? might be 1.0016x slower
Comment 3 Michael Saboff 2015-09-10 21:12:57 PDT
Comment on attachment 260974 [details]
Patch

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

r=me

> Source/JavaScriptCore/jit/JITCode.h:129
> +            return std::chrono::milliseconds(10000); // 10s

It probably makes sense to have this time to live as an option.

> Source/JavaScriptCore/jit/JITCode.h:131
> +            return std::chrono::milliseconds(100000); // 100s

Ditto.
Comment 4 Geoffrey Garen 2015-09-11 09:08:47 PDT
Comment on attachment 260974 [details]
Patch

Clearing flags on attachment: 260974

Committed r189620: <http://trac.webkit.org/changeset/189620>
Comment 5 Geoffrey Garen 2015-09-11 09:08:52 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 Geoffrey Garen 2015-09-11 09:14:40 PDT
> It probably makes sense to have this time to live as an option.

I should be able to arrange that in a follow-up patch.
Comment 7 Alexey Proskuryakov 2015-09-11 09:29:17 PDT
This appears to have broken CLOOP build:

CompileC /Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/CodeBlock.o bytecode/CodeBlock.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
    cd /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore
    export LANG=en_US.US-ASCII
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu++11 -stdlib=libc++ -Wno-trigraphs -fno-exceptions -fno-rtti -fpascal-strings -O0 -fno-common -Werror -Wno-missing-field-initializers -Wmissing-prototypes -Wnon-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wsign-compare -Wno-shorten-64-to-32 -Wnewline-eof -Wno-c++11-extensions -DHAVE_HEADER_DETECTION_H -DENABLE_3D_TRANSFORMS -DENABLE_ATTACHMENT_ELEMENT -DENABLE_CACHE_PARTITIONING -DENABLE_CANVAS_PATH -DENABLE_CHANNEL_MESSAGING -DENABLE_ES6_ARROWFUNCTION_SYNTAX -DENABLE_ES6_CLASS_SYNTAX -DENABLE_ES6_TEMPLATE_LITERAL_SYNTAX -DENABLE_CONTENT_FILTERING -DENABLE_CSS_ANIMATIONS_LEVEL_2 -DENABLE_CSS_BOX_DECORATION_BREAK -DENABLE_CSS_COMPOSITING -DENABLE_CSS_GRID_LAYOUT -DENABLE_CSS_REGIONS -DENABLE_CSS_SELECTORS_LEVEL4 -DENABLE_CSS_SHAPES -DENABLE_CURSOR_VISIBILITY -DENABLE_DASHBOARD_SUPPORT -DENABLE_DETAILS_ELEMENT -DENABLE_DOM4_EVENTS_CONSTRUCTOR -DENABLE_ENCRYPTED_MEDIA -DENABLE_ENCRYPTED_MEDIA_V2 -DENABLE_FULLSCREEN_API -DENABLE_GAMEPAD -DENABLE_GEOLOCATION -DENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING -DENABLE_ICONDATABASE -DENABLE_INDEXED_DATABASE -DENABLE_INDIE_UI -DENABLE_INPUT_TYPE_COLOR -DENABLE_INPUT_TYPE_COLOR_POPOVER -DENABLE_INTL -DENABLE_LEGACY_CSS_VENDOR_PREFIXES -DENABLE_LEGACY_NOTIFICATIONS -DENABLE_LEGACY_VENDOR_PREFIXES -DENABLE_LEGACY_WEB_AUDIO -DENABLE_MATHML -DENABLE_MEDIA_CONTROLS_SCRIPT -DENABLE_MEDIA_STREAM -DENABLE_METER_ELEMENT -DENABLE_MOUSE_CURSOR_SCALE -DENABLE_NAVIGATOR_HWCONCURRENCY -DENABLE_NOTIFICATIONS -DENABLE_PDFKIT_PLUGIN -DENABLE_PUBLIC_SUFFIX_LIST -DENABLE_REQUEST_ANIMATION_FRAME -DENABLE_RUBBER_BANDING -DENABLE_CSS_SCROLL_SNAP -DENABLE_SPEECH_SYNTHESIS -DENABLE_STREAMS_API -DENABLE_SUBTLE_CRYPTO -DENABLE_SVG_FONTS -DENABLE_SVG_OTF_CONVERTER -DENABLE_TEMPLATE_ELEMENT -DENABLE_CSS_TRAILING_WORD -DENABLE_USERSELECT_ALL -DENABLE_VIDEO -DENABLE_VIDEO_TRACK -DENABLE_DATACUE_VALUE -DENABLE_WEBGL -DENABLE_WEB_AUDIO -DENABLE_WEB_REPLAY -DENABLE_WEB_SOCKETS -DENABLE_XHR_TIMEOUT -DENABLE_XSLT -DENABLE_FTL_JIT=0 -DENABLE_JIT=0 -DENABLE_SATURATED_LAYOUT_ARITHMETIC -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.9 -g -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/JavaScriptCore.hmap -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/include -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/DerivedSources/JavaScriptCore -I. -Iicu -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/usr/local/LLVMForJavaScriptCore/include -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/ExtraIncludesForLocalLLVMBuild -I/usr/local/LLVMForJavaScriptCore/include -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/usr/local/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/DerivedSources/x86_64 -I/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/DerivedSources -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough -F/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug -fno-strict-aliasing -include /Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/PrecompiledHeaders/JavaScriptCorePrefix-bgfzggyfwybghlcusrgbwgdrrqyr/JavaScriptCorePrefix.h -MMD -MT dependencies -MF /Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/CodeBlock.d --serialize-diagnostics /Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/CodeBlock.dia -c /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp -o /Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/JavaScriptCore.build/Debug/JavaScriptCore.build/Objects-normal/x86_64/CodeBlock.o
/Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:2654:22: error: use of undeclared identifier 'callLinkInfosBegin'
    for (auto iter = callLinkInfosBegin(); !!iter; ++iter)
                     ^
/Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:2657:50: error: use of undeclared identifier 'm_stubInfos'
    for (Bag<StructureStubInfo>::iterator iter = m_stubInfos.begin(); !!iter; ++iter) {
                                                 ^
/Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:2659:17: error: member access into incomplete type 'JSC::StructureStubInfo'
        stubInfo.visitWeakReferences(this);
                ^
In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:59:
/Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/jit/Repatch.h:61:8: note: forward declaration of 'JSC::StructureStubInfo'
struct StructureStubInfo;
       ^
In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:31:
In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.h:33:
In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/ArrayProfile.h:30:
In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/runtime/JSArray.h:25:
In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/runtime/ButterflyInlines.h:31:
In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/heap/CopiedSpaceInlines.h:32:
In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/runtime/VM.h:58:
/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/usr/local/include/wtf/Bag.h:44:11: error: field has incomplete type 'JSC::StructureStubInfo'
        T m_item;
          ^
/Volumes/Data/slave/mavericks-cloop-debug/build/WebKitBuild/Debug/usr/local/include/wtf/Bag.h:92:28: note: in instantiation of member class 'WTF::Bag<JSC::StructureStubInfo>::Node' requested here
            m_node = m_node->m_next;
                           ^
/Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:2657:79: note: in instantiation of member function 'WTF::Bag<JSC::StructureStubInfo>::iterator::operator++' requested here
    for (Bag<StructureStubInfo>::iterator iter = m_stubInfos.begin(); !!iter; ++iter) {
                                                                              ^
In file included from /Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/bytecode/CodeBlock.cpp:59:
/Volumes/Data/slave/mavericks-cloop-debug/build/Source/JavaScriptCore/jit/Repatch.h:61:8: note: forward declaration of 'JSC::StructureStubInfo'
struct StructureStubInfo;
       ^
4 errors generated.
Comment 8 Geoffrey Garen 2015-09-11 10:48:26 PDT
Committed revision 189623.