Bug 145618

Summary: Simplify unboxing of double JSValues known to be not NaN and not Int32
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, basile_clement, benjamin, commit-queue, ggaren, mark.lam, mhahnenb, mmirman, msaboff, nrotem, oliver, saam, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 145666    
Bug Blocks:    
Attachments:
Description Flags
work in progress
none
the fully speculative approach
none
the best approach
ggaren: review+
patch for relanding none

Description Filip Pizlo 2015-06-03 14:39:05 PDT
Patch forthcoming.
Comment 1 Filip Pizlo 2015-06-03 14:45:53 PDT
Created attachment 254211 [details]
work in progress
Comment 2 Filip Pizlo 2015-06-03 21:04:47 PDT
This is a speed-up on small benchmarks, but it hurts on larger codebases.  We sort of slowly discover that things that usually loaded double might also load integers.  That sucks.
Comment 3 Filip Pizlo 2015-06-03 21:49:44 PDT
Created attachment 254243 [details]
the fully speculative approach

It's not a speed-up.


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

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r185168)
"DoubleRealUse" at /Volumes/Data/pizlo/primary/OpenSource/WebKitBuild/Release/jsc (r185168)

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

                                                        TipOfTree               DoubleRealUse                                   
SunSpider:
   3d-cube                                            5.2075+-0.0833     ?      5.3324+-0.1867        ? might be 1.0240x slower
   3d-morph                                           6.1673+-0.3740            5.8788+-0.1221          might be 1.0491x faster
   3d-raytrace                                        6.5563+-0.0789            6.4498+-0.0731          might be 1.0165x faster
   access-binary-trees                                2.4699+-0.2710     ?      2.5842+-0.3809        ? might be 1.0463x slower
   access-fannkuch                                    6.1806+-0.1458            6.1668+-0.0737        
   access-nbody                                       3.1104+-0.0510            3.0740+-0.3740          might be 1.0118x faster
   access-nsieve                                      3.5695+-0.2341            3.3698+-0.0740          might be 1.0592x faster
   bitops-3bit-bits-in-byte                           1.6565+-0.0785     ?      1.6637+-0.0660        ?
   bitops-bits-in-byte                                4.0986+-0.2763            4.0587+-0.3927        
   bitops-bitwise-and                                 2.1854+-0.0838            2.1850+-0.0748        
   bitops-nsieve-bits                                 3.2852+-0.0727     ?      3.3074+-0.1230        ?
   controlflow-recursive                              3.0378+-0.1247            3.0242+-0.0948        
   crypto-aes                                         4.7883+-0.2016     ?      4.8606+-0.2916        ? might be 1.0151x slower
   crypto-md5                                         3.2500+-0.2745     ?      3.2623+-0.4295        ?
   crypto-sha1                                        3.8812+-0.3857            3.7139+-0.2853          might be 1.0450x faster
   date-format-tofte                                  9.3881+-0.3306     ?      9.4261+-0.1504        ?
   date-format-xparb                                  5.8167+-0.1341     ?      6.0332+-0.2083        ? might be 1.0372x slower
   math-cordic                                        3.2987+-0.2547            3.2331+-0.1280          might be 1.0203x faster
   math-partial-sums                                  5.7467+-0.8611     ?      5.8330+-1.0082        ? might be 1.0150x slower
   math-spectral-norm                                 2.0642+-0.0330     ?      2.1838+-0.1491        ? might be 1.0579x slower
   regexp-dna                                         8.6687+-1.6371            8.6411+-1.5925        
   string-base64                                      5.0812+-0.2293     ?      5.1669+-0.1582        ? might be 1.0169x slower
   string-fasta                                       7.4731+-1.0590            6.6886+-0.0766          might be 1.1173x faster
   string-tagcloud                                   10.2870+-1.0441           10.1497+-0.4703          might be 1.0135x faster
   string-unpack-code                                21.3035+-0.8507           20.7372+-0.6711          might be 1.0273x faster
   string-validate-input                              6.0163+-0.1456            5.9932+-0.2005        

   <arithmetic>                                       5.5611+-0.1496            5.5007+-0.0727          might be 1.0110x faster

                                                        TipOfTree               DoubleRealUse                                   
LongSpider:
   3d-cube                                          902.2222+-7.6102          895.4152+-5.1156        
   3d-morph                                        1542.4805+-25.7183        1528.7774+-2.8184        
   3d-raytrace                                      696.4887+-3.9326     ?    725.1276+-37.4852       ? might be 1.0411x slower
   access-binary-trees                             1002.5318+-7.2856     ?   1004.8466+-8.3921        ?
   access-fannkuch                                  332.7771+-7.6106     ?    339.3682+-16.9684       ? might be 1.0198x slower
   access-nbody                                     667.3458+-80.2716         607.5635+-26.6574         might be 1.0984x faster
   access-nsieve                                    478.9073+-6.4017     ?    480.7949+-6.8700        ?
   bitops-3bit-bits-in-byte                          45.7203+-2.2841           45.2336+-1.0784          might be 1.0108x faster
   bitops-bits-in-byte                               99.7555+-1.0750     ?    100.5952+-6.1329        ?
   bitops-nsieve-bits                               423.4315+-4.3478          421.3146+-2.6293        
   controlflow-recursive                            491.8769+-11.4132         486.4794+-13.3929         might be 1.0111x faster
   crypto-aes                                       705.0099+-7.8571     ?    709.0625+-8.0707        ?
   crypto-md5                                       517.1257+-7.5386     !    545.3444+-19.6261       ! definitely 1.0546x slower
   crypto-sha1                                      607.4552+-4.2406          599.2410+-4.6065          might be 1.0137x faster
   date-format-tofte                                770.1103+-61.8561         745.5965+-14.6196         might be 1.0329x faster
   date-format-xparb                                812.3102+-18.3401         803.2241+-16.6033         might be 1.0113x faster
   hash-map                                         184.2764+-2.0028     ?    184.8893+-4.9793        ?
   math-cordic                                      590.9546+-4.5418     ^    579.3164+-4.5807        ^ definitely 1.0201x faster
   math-partial-sums                                510.2572+-9.0965     ?    513.2317+-15.0406       ?
   math-spectral-norm                               575.7033+-26.2633         566.6305+-2.3492          might be 1.0160x faster
   string-base64                                    415.4858+-7.9618          415.1095+-13.2360       
   string-fasta                                     430.0212+-4.2098     ^    422.5883+-2.9173        ^ definitely 1.0176x faster
   string-tagcloud                                  198.2579+-5.7287          194.8677+-2.9214          might be 1.0174x faster

   <geometric>                                      457.2412+-2.8887          454.8856+-3.3251          might be 1.0052x faster

                                                        TipOfTree               DoubleRealUse                                   
V8Spider:
   crypto                                            57.5230+-3.3151           55.8582+-2.2353          might be 1.0298x faster
   deltablue                                         99.6683+-2.8588     ?    103.4340+-4.3219        ? might be 1.0378x slower
   earley-boyer                                      50.1773+-2.4286           48.4775+-2.6288          might be 1.0351x faster
   raytrace                                          42.7799+-2.9050           41.6053+-2.1656          might be 1.0282x faster
   regexp                                            83.7779+-2.0596     ?     85.2198+-2.3967        ? might be 1.0172x slower
   richards                                          86.1364+-9.4491           78.6632+-1.8901          might be 1.0950x faster
   splay                                             38.9261+-2.6066     ?     38.9561+-2.8811        ?

   <geometric>                                       61.7590+-1.5058           60.6784+-1.2904          might be 1.0178x faster

                                                        TipOfTree               DoubleRealUse                                   
Octane:
   encrypt                                           0.20342+-0.00187    ?     0.20669+-0.00742       ? might be 1.0161x slower
   decrypt                                           3.59392+-0.04761    ?     3.61798+-0.16179       ?
   deltablue                                x2       0.19611+-0.00159          0.19557+-0.00139       
   earley                                            0.39254+-0.00559    ?     0.39506+-0.00622       ?
   boyer                                             5.18598+-0.05464          5.14634+-0.05711       
   navier-stokes                            x2       5.19834+-0.04226    ?     5.29325+-0.20832       ? might be 1.0183x slower
   raytrace                                 x2       1.28006+-0.05758          1.26084+-0.05403         might be 1.0152x faster
   richards                                 x2       0.13058+-0.00830    ?     0.13404+-0.01589       ? might be 1.0265x slower
   splay                                    x2       0.40027+-0.00264    ?     0.40176+-0.00467       ?
   regexp                                   x2      31.67856+-0.25548         31.66756+-0.19514       
   pdfjs                                    x2      43.55866+-1.82793         42.77513+-0.39407         might be 1.0183x faster
   mandreel                                 x2      50.56241+-0.60535         50.29173+-0.17694       
   gbemu                                    x2      43.03807+-0.98079         42.18216+-0.60149         might be 1.0203x faster
   closure                                           0.59586+-0.00434    ^     0.57045+-0.00935       ^ definitely 1.0445x faster
   jquery                                            8.11527+-1.03202          7.46431+-0.58215         might be 1.0872x faster
   box2d                                    x2      12.57739+-0.13561    !    13.08020+-0.23478       ! definitely 1.0400x slower
   zlib                                     x2     384.27230+-18.61507   ?   398.42453+-1.88660       ? might be 1.0368x slower
   typescript                               x2     821.99406+-8.82742    ?   869.12850+-131.49051     ? might be 1.0573x slower

   <geometric>                                       6.64357+-0.03593    ?     6.66855+-0.08163       ? might be 1.0038x slower

                                                        TipOfTree               DoubleRealUse                                   
Kraken:
   ai-astar                                          236.443+-1.670            236.181+-1.787         
   audio-beat-detection                              107.971+-0.979      ^     105.016+-0.805         ^ definitely 1.0281x faster
   audio-dft                                         119.337+-2.966      ?     120.659+-4.208         ? might be 1.0111x slower
   audio-fft                                          85.316+-4.901      ?      87.926+-6.763         ? might be 1.0306x slower
   audio-oscillator                                   78.017+-2.126             77.422+-1.466         
   imaging-darkroom                                  105.233+-1.858      ?     108.444+-2.833         ? might be 1.0305x slower
   imaging-desaturate                                 64.715+-2.082             64.201+-1.512         
   imaging-gaussian-blur                             113.112+-5.271            110.452+-1.969           might be 1.0241x faster
   json-parse-financial                               48.111+-3.034      ?      49.360+-1.908         ? might be 1.0260x slower
   json-stringify-tinderbox                           28.977+-1.646             28.150+-0.096           might be 1.0294x faster
   stanford-crypto-aes                                57.852+-0.744      ?      58.111+-1.059         ?
   stanford-crypto-ccm                                50.009+-2.686             47.360+-1.271           might be 1.0559x faster
   stanford-crypto-pbkdf2                            110.913+-2.068      ?     113.451+-5.204         ? might be 1.0229x slower
   stanford-crypto-sha256-iterative                   44.537+-2.003             42.976+-0.941           might be 1.0363x faster

   <arithmetic>                                       89.324+-0.609             89.265+-0.672           might be 1.0007x faster

                                                        TipOfTree               DoubleRealUse                                   
JSRegress:
   abs-boolean                                        2.8376+-0.3266            2.7451+-0.0865          might be 1.0337x faster
   adapt-to-double-divide                            16.7734+-0.5426     ?     17.0118+-0.3433        ? might be 1.0142x slower
   aliased-arguments-getbyval                         1.4055+-0.1806            1.3113+-0.0304          might be 1.0718x faster
   allocate-big-object                                3.0466+-0.4180            3.0170+-0.4234        
   arguments-named-and-reflective                    13.2015+-1.3778           12.6938+-0.9487          might be 1.0400x faster
   arguments-out-of-bounds                           14.9971+-0.3518     ?     15.3243+-0.7902        ? might be 1.0218x slower
   arguments-strict-mode                             10.8641+-0.3232     ?     11.1214+-0.9365        ? might be 1.0237x slower
   arguments                                         10.0681+-0.6876            9.8380+-0.3512          might be 1.0234x faster
   arity-mismatch-inlining                            1.0291+-0.1555            1.0253+-0.1510        
   array-access-polymorphic-structure                 7.0399+-0.2564     ?      7.3042+-1.0102        ? might be 1.0375x slower
   array-nonarray-polymorhpic-access                 33.9204+-1.5068           33.8266+-1.2544        
   array-prototype-every                             87.0354+-2.3006           84.2882+-2.7259          might be 1.0326x faster
   array-prototype-forEach                           85.8264+-3.1040           82.1468+-2.9620          might be 1.0448x faster
   array-prototype-map                               91.2099+-2.0517     ?     93.5383+-5.3774        ? might be 1.0255x slower
   array-prototype-reduce                            82.2781+-4.1595           80.0555+-2.1708          might be 1.0278x faster
   array-prototype-reduceRight                       79.4298+-1.3697     ?     80.3011+-1.5326        ? might be 1.0110x slower
   array-prototype-some                              87.3388+-2.5978           83.0658+-3.1192          might be 1.0514x faster
   array-splice-contiguous                           45.5822+-1.0578           43.6873+-1.0541          might be 1.0434x faster
   array-with-double-add                              4.4175+-0.3048     ?      4.6088+-0.4721        ? might be 1.0433x slower
   array-with-double-increment                        3.4209+-0.3021            3.3191+-0.0958          might be 1.0307x faster
   array-with-double-mul-add                          5.3308+-0.1826            5.2437+-0.1354          might be 1.0166x faster
   array-with-double-sum                              3.3361+-0.0229     ?      3.3625+-0.0653        ?
   array-with-int32-add-sub                           6.8907+-0.1447     ?      6.9786+-0.2622        ? might be 1.0127x slower
   array-with-int32-or-double-sum                     3.4983+-0.1685            3.4334+-0.0686          might be 1.0189x faster
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     38.4041+-1.9034           38.1603+-1.8058        
   ArrayBuffer-DataView-alloc-long-lived             15.3880+-1.5195           14.1374+-0.1883          might be 1.0885x faster
   ArrayBuffer-Int32Array-byteOffset                  4.2602+-0.6290            4.2323+-0.6394        
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     39.0927+-1.6346           38.8737+-1.3288        
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     22.8891+-1.4255     ?     24.0944+-2.4210        ? might be 1.0527x slower
   ArrayBuffer-Int8Array-alloc-long-lived            14.4453+-1.6649           13.8597+-1.1174          might be 1.0423x faster
   ArrayBuffer-Int8Array-alloc                       10.6375+-0.2400           10.5234+-0.2488          might be 1.0108x faster
   asmjs_bool_bug                                     7.8302+-0.2158            7.8073+-0.2157        
   assign-custom-setter-polymorphic                   3.5393+-0.6087            3.1836+-0.1760          might be 1.1117x faster
   assign-custom-setter                               4.3242+-0.1463     ?      4.4461+-0.5629        ? might be 1.0282x slower
   basic-set                                         10.4209+-2.5099           10.3842+-1.3897        
   big-int-mul                                        4.2530+-0.0442     ?      4.3186+-0.1396        ? might be 1.0154x slower
   boolean-test                                       3.1616+-0.0397     ?      3.2970+-0.3065        ? might be 1.0428x slower
   branch-fold                                        4.1911+-0.3835            4.0564+-0.3298          might be 1.0332x faster
   branch-on-string-as-boolean                       20.4595+-0.4351     ?     20.7202+-0.7411        ? might be 1.0127x slower
   by-val-generic                                     8.1837+-0.1469     ?      8.6629+-1.2123        ? might be 1.0586x slower
   call-spread-apply                                 30.8493+-1.0747     ?     32.0629+-1.5713        ? might be 1.0393x slower
   call-spread-call                                  26.0834+-0.7277     ?     26.7745+-2.2894        ? might be 1.0265x slower
   captured-assignments                               0.5478+-0.0517            0.5298+-0.0321          might be 1.0339x faster
   cast-int-to-double                                 5.4578+-0.2206            5.4109+-0.1563        
   cell-argument                                      8.7883+-0.3329     ?      8.8635+-0.4228        ?
   cfg-simplify                                       2.9381+-0.1462            2.8512+-0.0344          might be 1.0305x faster
   chain-getter-access                                9.5314+-0.1399            9.4527+-0.2901        
   cmpeq-obj-to-obj-other                            11.9466+-1.0611     ?     12.1261+-0.8434        ? might be 1.0150x slower
   constant-test                                      5.0378+-0.0863            5.0149+-0.0348        
   create-lots-of-functions                          11.7821+-0.4059           11.6198+-0.2246          might be 1.0140x faster
   cse-new-array-buffer                               2.6167+-0.2285            2.5841+-0.0810          might be 1.0126x faster
   cse-new-array                                      2.6519+-0.0500     ?      2.6969+-0.1211        ? might be 1.0170x slower
   DataView-custom-properties                        42.7445+-1.0516     ?     43.8654+-2.3752        ? might be 1.0262x slower
   deconstructing-parameters-overridden-by-function   
                                                      0.6428+-0.1140            0.5741+-0.0199          might be 1.1196x faster
   delay-tear-off-arguments-strictmode               14.4125+-0.2257     ?     14.4250+-0.2993        ?
   deltablue-varargs                                210.4035+-0.7795     ?    212.7792+-3.2653        ? might be 1.0113x slower
   destructuring-arguments                           17.3330+-0.3969     ?     17.8540+-0.5462        ? might be 1.0301x slower
   destructuring-swap                                 5.2234+-0.1952            5.1254+-0.0739          might be 1.0191x faster
   direct-arguments-getbyval                          1.3277+-0.0776            1.3091+-0.0347          might be 1.0142x faster
   div-boolean-double                                 5.3381+-0.1240            5.2511+-0.0229          might be 1.0166x faster
   div-boolean                                        7.8847+-0.1132            7.8754+-0.0961        
   double-get-by-val-out-of-bounds                    4.5522+-0.0381     ?      4.7736+-0.2450        ? might be 1.0486x slower
   double-pollution-getbyval                          8.9635+-0.1112            8.9047+-0.0870        
   double-pollution-putbyoffset                       4.4185+-0.0732     ?      4.4722+-0.2199        ? might be 1.0122x slower
   double-real-use                                   39.0668+-1.6955     ^     30.4990+-1.2299        ^ definitely 1.2809x faster
   double-to-int32-typed-array-no-inline              2.7313+-0.2043     ?      2.7535+-0.2377        ?
   double-to-int32-typed-array                        2.1572+-0.2232            2.0500+-0.0574          might be 1.0523x faster
   double-to-uint32-typed-array-no-inline             2.7023+-0.2326            2.6252+-0.0622          might be 1.0294x faster
   double-to-uint32-typed-array                       2.0720+-0.0287     ?      2.3260+-0.3393        ? might be 1.1226x slower
   elidable-new-object-dag                           44.2897+-1.3454     ?     44.4213+-0.9309        ?
   elidable-new-object-roflcopter                    44.8328+-1.5369     ?     45.4310+-1.6736        ? might be 1.0133x slower
   elidable-new-object-then-call                     40.2274+-1.3271     ?     41.3258+-2.2996        ? might be 1.0273x slower
   elidable-new-object-tree                          46.4532+-1.2336           45.0935+-1.1671          might be 1.0302x faster
   empty-string-plus-int                              5.6277+-0.2631            5.5695+-0.2339          might be 1.0104x faster
   emscripten-cube2hash                              39.1297+-1.4873     ?     41.1858+-4.3145        ? might be 1.0525x slower
   exit-length-on-plain-object                       15.0299+-1.5489           14.8380+-1.5363          might be 1.0129x faster
   external-arguments-getbyval                        1.3437+-0.1977            1.2830+-0.0798          might be 1.0473x faster
   external-arguments-putbyval                        2.4117+-0.0928     ?      2.5052+-0.2451        ? might be 1.0388x slower
   fixed-typed-array-storage-var-index                1.2375+-0.0392     ?      1.3359+-0.1200        ? might be 1.0794x slower
   fixed-typed-array-storage                          0.9421+-0.1219     ?      0.9768+-0.1244        ? might be 1.0368x slower
   Float32Array-matrix-mult                           4.5734+-0.1918     ?      4.5754+-0.2368        ?
   Float32Array-to-Float64Array-set                  57.2163+-1.1058           56.1418+-0.5572          might be 1.0191x faster
   Float64Array-alloc-long-lived                     94.5553+-14.3392          88.8394+-2.0734          might be 1.0643x faster
   Float64Array-to-Int16Array-set                    80.2882+-24.3991          71.4111+-2.2570          might be 1.1243x faster
   fold-double-to-int                                13.5704+-0.2985     ?     14.6393+-1.3181        ? might be 1.0788x slower
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     10.7907+-1.3939           10.1106+-1.3575          might be 1.0673x faster
   fold-get-by-id-to-multi-get-by-offset             10.7985+-1.0210           10.2894+-0.9842          might be 1.0495x faster
   fold-multi-get-by-offset-to-get-by-offset   
                                                      9.8443+-0.7882     ?     10.0229+-1.1569        ? might be 1.0181x slower
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      9.9176+-0.6141            9.5675+-0.5345          might be 1.0366x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                     10.7037+-1.7508            8.9285+-0.5125          might be 1.1988x faster
   fold-multi-put-by-offset-to-put-by-offset   
                                                      7.8844+-1.3119            7.6875+-1.5877          might be 1.0256x faster
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     10.4602+-1.3174           10.4260+-0.9964        
   fold-put-by-id-to-multi-put-by-offset              9.9980+-1.9674     ?     10.4753+-0.8441        ? might be 1.0477x slower
   fold-put-structure                                 7.6666+-1.6118            7.4066+-1.4183          might be 1.0351x faster
   for-of-iterate-array-entries                       4.6623+-0.1293     ?      4.7010+-0.1734        ?
   for-of-iterate-array-keys                          3.9391+-0.3203            3.9340+-0.3743        
   for-of-iterate-array-values                        3.6787+-0.1282            3.6475+-0.2078        
   fround                                            21.4746+-0.9308           20.8999+-0.5318          might be 1.0275x faster
   ftl-library-inlining-dataview                     64.9382+-1.0983     ?     65.1637+-1.6433        ?
   ftl-library-inlining                              74.2057+-18.0303          66.9991+-0.9306          might be 1.1076x faster
   function-dot-apply                                 2.5230+-0.2466            2.2663+-0.0386          might be 1.1133x faster
   function-test                                      3.0274+-0.2219            2.9648+-0.0695          might be 1.0211x faster
   function-with-eval                               102.6410+-2.4377          102.6136+-2.3049        
   gcse-poly-get-less-obvious                        18.5053+-1.0033     ?     18.7858+-0.8200        ? might be 1.0152x slower
   gcse-poly-get                                     20.1694+-1.5331           19.9557+-1.4433          might be 1.0107x faster
   gcse                                               4.4203+-0.0701     ?      4.5905+-0.4470        ? might be 1.0385x slower
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.9832+-0.3608            2.8367+-0.1326          might be 1.0516x faster
   get-by-id-bimorphic-check-structure-elimination   
                                                      6.1282+-0.1250     ?      6.2177+-0.2375        ? might be 1.0146x slower
   get-by-id-chain-from-try-block                     7.0140+-0.5718            6.6600+-0.1425          might be 1.0531x faster
   get-by-id-check-structure-elimination              5.1483+-0.0670            5.1313+-0.0862        
   get-by-id-proto-or-self                           19.4073+-1.6552     ?     19.9637+-2.1348        ? might be 1.0287x slower
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.0160+-0.0383     ?      3.0227+-0.0682        ?
   get-by-id-self-or-proto                           19.9460+-1.7833           19.0833+-1.7449          might be 1.0452x faster
   get-by-val-out-of-bounds                           4.5542+-0.1369            4.5197+-0.1044        
   get_callee_monomorphic                             4.3585+-3.2620            2.9818+-0.2521          might be 1.4617x faster
   get_callee_polymorphic                             3.9095+-0.2449     ?      4.0955+-0.3186        ? might be 1.0476x slower
   getter-no-activation                               5.0218+-0.1814     ?      5.1886+-0.3417        ? might be 1.0332x slower
   getter-prototype                                  14.9541+-0.2419     ?     15.9630+-0.9818        ? might be 1.0675x slower
   getter-richards                                  124.2562+-6.2881     ?    125.4907+-6.0617        ?
   getter                                             6.6858+-0.6336            5.9235+-0.7752          might be 1.1287x faster
   global-var-const-infer-fire-from-opt               1.0173+-0.1377            1.0118+-0.1388        
   global-var-const-infer                             0.9065+-0.1779     ?      0.9185+-0.1056        ? might be 1.0132x slower
   HashMap-put-get-iterate-keys                      30.2247+-1.3320     ?     31.1772+-3.0472        ? might be 1.0315x slower
   HashMap-put-get-iterate                           31.3045+-2.3697     ?     31.4943+-0.6194        ?
   HashMap-string-put-get-iterate                    32.0721+-1.8685     ?     32.9683+-2.0579        ? might be 1.0279x slower
   hoist-make-rope                                   12.7364+-1.3327           12.2931+-0.7632          might be 1.0361x faster
   hoist-poly-check-structure-effectful-loop   
                                                      5.1100+-0.0293     ?      5.2917+-0.2498        ? might be 1.0356x slower
   hoist-poly-check-structure                         3.7509+-0.0777     ?      3.9055+-0.3564        ? might be 1.0412x slower
   imul-double-only                                   8.6060+-0.1512            8.6001+-0.2152        
   imul-int-only                                     10.4123+-1.4735           10.1228+-0.5164          might be 1.0286x faster
   imul-mixed                                         8.5044+-0.4534     ?      8.8334+-0.3452        ? might be 1.0387x slower
   in-four-cases                                     22.2348+-0.2869     ?     22.5486+-0.4569        ? might be 1.0141x slower
   in-one-case-false                                 11.0827+-0.0546     ?     11.1069+-0.1143        ?
   in-one-case-true                                  12.1269+-1.6875           11.1901+-0.1851          might be 1.0837x faster
   in-two-cases                                      11.8077+-0.1629           11.7408+-0.1111        
   indexed-properties-in-objects                      2.9668+-0.0758     ?      3.1082+-0.4127        ? might be 1.0477x slower
   infer-closure-const-then-mov-no-inline             4.5200+-0.8152            4.2318+-0.2552          might be 1.0681x faster
   infer-closure-const-then-mov                      19.8160+-0.2918     ?     20.1775+-0.3038        ? might be 1.0182x slower
   infer-closure-const-then-put-to-scope-no-inline   
                                                     13.2520+-1.1941           13.1132+-0.9908          might be 1.0106x faster
   infer-closure-const-then-put-to-scope             21.8588+-1.0526     ?     22.2146+-1.2806        ? might be 1.0163x slower
   infer-closure-const-then-reenter-no-inline   
                                                     54.5949+-0.3532     ?     56.0672+-2.8812        ? might be 1.0270x slower
   infer-closure-const-then-reenter                  22.8127+-1.4267     ?     23.2625+-2.3935        ? might be 1.0197x slower
   infer-constant-global-property                     4.0082+-0.3825            3.5937+-0.0933          might be 1.1153x faster
   infer-constant-property                            2.8944+-0.2435            2.8083+-0.0785          might be 1.0307x faster
   infer-one-time-closure-ten-vars                   13.3232+-1.4699           13.2872+-1.5319        
   infer-one-time-closure-two-vars                   12.2513+-0.3514     ?     12.2869+-0.2255        ?
   infer-one-time-closure                            12.6633+-1.5575           12.0705+-0.2563          might be 1.0491x faster
   infer-one-time-deep-closure                       21.2947+-0.6907     ?     21.6072+-1.4548        ? might be 1.0147x slower
   inline-arguments-access                            4.6730+-0.1381     ?      4.7654+-0.1724        ? might be 1.0198x slower
   inline-arguments-aliased-access                    4.7504+-0.1716            4.7082+-0.0807        
   inline-arguments-local-escape                      4.8551+-0.3103            4.6902+-0.0616          might be 1.0352x faster
   inline-get-scoped-var                              5.1100+-0.1824     ?      5.1344+-0.5319        ?
   inlined-put-by-id-transition                      11.9030+-0.5962     ?     12.2266+-0.3723        ? might be 1.0272x slower
   int-or-other-abs-then-get-by-val                   5.1215+-0.2454            5.0756+-0.0787        
   int-or-other-abs-zero-then-get-by-val             17.8440+-0.9926           17.6526+-0.9544          might be 1.0108x faster
   int-or-other-add-then-get-by-val                   4.4205+-0.1034     ?      4.4861+-0.1758        ? might be 1.0149x slower
   int-or-other-add                                   5.3848+-0.0202     ?      5.3971+-0.0357        ?
   int-or-other-div-then-get-by-val                   4.3278+-0.1161     ?      4.3933+-0.2540        ? might be 1.0151x slower
   int-or-other-max-then-get-by-val                   4.7248+-0.9101            4.5157+-0.2431          might be 1.0463x faster
   int-or-other-min-then-get-by-val                   4.4384+-0.1156     ?      4.4504+-0.1541        ?
   int-or-other-mod-then-get-by-val                   4.2196+-0.2621            4.1223+-0.2608          might be 1.0236x faster
   int-or-other-mul-then-get-by-val                   3.9810+-0.0937     ?      4.1138+-0.2077        ? might be 1.0333x slower
   int-or-other-neg-then-get-by-val                   4.8594+-0.1167     ?      4.8968+-0.1402        ?
   int-or-other-neg-zero-then-get-by-val             18.4589+-1.7394     ?     19.3217+-1.9011        ? might be 1.0467x slower
   int-or-other-sub-then-get-by-val                   4.4002+-0.0115            4.3920+-0.0349        
   int-or-other-sub                                   3.7487+-0.1903            3.6540+-0.0526          might be 1.0259x faster
   int-overflow-local                                 4.6661+-0.1774            4.6343+-0.1715        
   Int16Array-alloc-long-lived                       54.3511+-2.9206     ?     54.5292+-2.1662        ?
   Int16Array-bubble-sort-with-byteLength            19.9249+-0.9188     ?     20.2442+-0.6781        ? might be 1.0160x slower
   Int16Array-bubble-sort                            20.8496+-1.4314           20.3274+-0.5610          might be 1.0257x faster
   Int16Array-load-int-mul                            1.7804+-0.2673     ?      1.7904+-0.2219        ?
   Int16Array-to-Int32Array-set                      57.8140+-1.8583     ?     58.3795+-2.3094        ?
   Int32Array-alloc-large                            23.6589+-0.1905     ?     23.9900+-0.6308        ? might be 1.0140x slower
   Int32Array-alloc-long-lived                       63.2822+-1.4778     ?     64.7022+-1.5537        ? might be 1.0224x slower
   Int32Array-alloc                                   3.7797+-0.4164            3.6362+-0.3875          might be 1.0395x faster
   Int32Array-Int8Array-view-alloc                    7.1634+-1.0068            6.7926+-0.3483          might be 1.0546x faster
   int52-spill                                        6.2610+-0.7893            6.0571+-0.1953          might be 1.0337x faster
   Int8Array-alloc-long-lived                        48.1276+-1.4136     ?     48.3827+-0.9814        ?
   Int8Array-load-with-byteLength                     3.5852+-0.4155            3.4337+-0.0975          might be 1.0441x faster
   Int8Array-load                                     3.5115+-0.2397            3.4783+-0.1436        
   integer-divide                                    11.3422+-0.3493           10.9189+-0.1067          might be 1.0388x faster
   integer-modulo                                     2.1478+-0.1087            2.1188+-0.1170          might be 1.0137x faster
   is-boolean-fold-tricky                             4.4830+-0.0704     ?      4.7302+-0.3595        ? might be 1.0551x slower
   is-boolean-fold                                    2.9036+-0.0376     ?      3.1035+-0.3258        ? might be 1.0688x slower
   is-function-fold-tricky-internal-function   
                                                     11.9618+-0.0885           11.9406+-0.1377        
   is-function-fold-tricky                            4.6790+-0.2567            4.6241+-0.0850          might be 1.0119x faster
   is-function-fold                                   2.9247+-0.0667     ?      2.9884+-0.1406        ? might be 1.0218x slower
   is-number-fold-tricky                              4.5805+-0.1666     ?      4.6740+-0.3337        ? might be 1.0204x slower
   is-number-fold                                     2.9275+-0.0550     ?      3.1178+-0.3831        ? might be 1.0650x slower
   is-object-or-null-fold-functions                   2.9695+-0.0318     ?      3.0308+-0.2409        ? might be 1.0206x slower
   is-object-or-null-fold-less-tricky                 4.7665+-0.6049            4.6498+-0.0841          might be 1.0251x faster
   is-object-or-null-fold-tricky                      6.6985+-0.0985     ?      6.7192+-0.1697        ?
   is-object-or-null-fold                             3.0727+-0.2637            2.9555+-0.0719          might be 1.0396x faster
   is-object-or-null-trickier-function                5.0022+-0.5587     ?      5.0970+-0.5050        ? might be 1.0189x slower
   is-object-or-null-trickier-internal-function   
                                                     12.7261+-0.3110     ?     13.0110+-0.6257        ? might be 1.0224x slower
   is-object-or-null-tricky-function                  4.9194+-0.4001            4.7124+-0.0998          might be 1.0439x faster
   is-object-or-null-tricky-internal-function   
                                                      9.4375+-0.1333     ?      9.4692+-0.1508        ?
   is-string-fold-tricky                              4.6027+-0.2229     ?      4.6833+-0.2499        ? might be 1.0175x slower
   is-string-fold                                     2.9202+-0.1234     ?      2.9450+-0.1312        ?
   is-undefined-fold-tricky                           3.8329+-0.1706            3.7989+-0.0864        
   is-undefined-fold                                  2.9125+-0.0294     ?      3.1643+-0.3385        ? might be 1.0865x slower
   large-int-captured                                 4.7419+-0.1537     ?      4.8794+-0.1371        ? might be 1.0290x slower
   large-int-neg                                     17.1477+-1.7475           16.3807+-0.4393          might be 1.0468x faster
   large-int                                         15.5111+-1.2273     ?     16.0937+-0.7750        ? might be 1.0376x slower
   load-varargs-elimination                          24.2316+-1.2811     ?     24.4222+-1.9877        ?
   logical-not-weird-types                            3.3941+-0.1888            3.3179+-0.0455          might be 1.0230x faster
   logical-not                                        4.6557+-0.0309     ?      4.6676+-0.0862        ?
   lots-of-fields                                    12.6707+-0.3571           12.5468+-0.1883        
   make-indexed-storage                               3.1636+-0.3018     ?      3.3836+-0.6067        ? might be 1.0695x slower
   make-rope-cse                                     12.2181+-1.3334           11.8793+-1.1884          might be 1.0285x faster
   marsaglia-larger-ints                             37.0295+-2.3763     ?     37.1607+-1.6921        ?
   marsaglia-osr-entry                               24.4607+-2.0935           23.7255+-1.5469          might be 1.0310x faster
   math-with-out-of-bounds-array-values              25.5886+-1.8904           25.0866+-0.7850          might be 1.0200x faster
   max-boolean                                        2.5857+-0.0435     ?      2.6598+-0.1374        ? might be 1.0287x slower
   method-on-number                                  17.3110+-0.1650     ?     17.5668+-0.6050        ? might be 1.0148x slower
   min-boolean                                        2.5511+-0.0263            2.5465+-0.0703        
   minus-boolean-double                               3.3351+-0.1154     ?      3.3551+-0.2793        ?
   minus-boolean                                      2.4524+-0.1014     ?      2.5657+-0.3028        ? might be 1.0462x slower
   misc-strict-eq                                    38.7204+-1.0216     ?     42.2240+-6.5308        ? might be 1.0905x slower
   mod-boolean-double                                10.9502+-0.0796           10.9231+-0.1240        
   mod-boolean                                        8.0583+-0.1661            7.8685+-0.0303          might be 1.0241x faster
   mul-boolean-double                                 3.7335+-0.0744     ?      3.7753+-0.1276        ? might be 1.0112x slower
   mul-boolean                                        3.0894+-0.3625            2.9347+-0.0483          might be 1.0527x faster
   neg-boolean                                        3.4464+-0.4038            3.2710+-0.0869          might be 1.0536x faster
   negative-zero-divide                               0.4207+-0.0578            0.4096+-0.0471          might be 1.0271x faster
   negative-zero-modulo                               0.4023+-0.0598            0.3929+-0.0273          might be 1.0237x faster
   negative-zero-negate                               0.3674+-0.0188            0.3531+-0.0190          might be 1.0403x faster
   nested-function-parsing                           40.5914+-1.7576     ?     41.7058+-3.3320        ? might be 1.0275x slower
   new-array-buffer-dead                            114.2998+-1.5549     ?    114.6182+-1.3925        ?
   new-array-buffer-push                              7.2747+-0.9603            6.9245+-0.1207          might be 1.0506x faster
   new-array-dead                                    19.3903+-0.5255     ?     19.8325+-1.2238        ? might be 1.0228x slower
   new-array-push                                     6.7833+-0.3648            6.4696+-0.1749          might be 1.0485x faster
   no-inline-constructor                             41.8991+-1.5522     ?     41.9394+-1.6583        ?
   number-test                                        3.1413+-0.1006     ?      3.2775+-0.3410        ? might be 1.0434x slower
   object-closure-call                                5.7493+-0.0656     ?      6.0048+-0.2294        ? might be 1.0444x slower
   object-test                                        2.8927+-0.0469     ?      2.9446+-0.1355        ? might be 1.0179x slower
   obvious-sink-pathology-taken                     142.9825+-2.1512          140.8191+-2.0056          might be 1.0154x faster
   obvious-sink-pathology                           133.0490+-1.4301     ?    133.2569+-2.4277        ?
   obviously-elidable-new-object                     35.7445+-1.7268           35.3518+-1.5200          might be 1.0111x faster
   plus-boolean-arith                                 2.5623+-0.0585     ?      2.6721+-0.2732        ? might be 1.0429x slower
   plus-boolean-double                                3.3501+-0.2911            3.2718+-0.0602          might be 1.0239x faster
   plus-boolean                                       2.5957+-0.2950            2.5927+-0.3068        
   poly-chain-access-different-prototypes-simple   
                                                      3.3689+-0.0501     ?      3.7232+-0.4822        ? might be 1.1052x slower
   poly-chain-access-different-prototypes             2.7000+-0.2363     ?      2.7984+-0.3462        ? might be 1.0364x slower
   poly-chain-access-simpler                          3.3518+-0.0442     ?      3.3630+-0.0640        ?
   poly-chain-access                                  2.7590+-0.3102            2.7491+-0.3492        
   poly-stricteq                                     60.5506+-1.8994     ?     63.6329+-3.3601        ? might be 1.0509x slower
   polymorphic-array-call                             1.4986+-0.1730            1.4307+-0.0843          might be 1.0474x faster
   polymorphic-get-by-id                              3.2782+-0.2155            3.2665+-0.2156        
   polymorphic-put-by-id                             33.4622+-1.7446     ?     33.6665+-3.0862        ?
   polymorphic-structure                             15.0530+-0.2385           14.8111+-0.1080          might be 1.0163x faster
   polyvariant-monomorphic-get-by-id                  8.8453+-0.2127            8.7787+-0.3083        
   proto-getter-access                                9.2908+-0.1065     ?      9.3082+-0.1288        ?
   put-by-id-replace-and-transition                   9.7959+-0.2382     ?     10.0859+-0.5009        ? might be 1.0296x slower
   put-by-id-slightly-polymorphic                     3.1323+-0.4104            2.9204+-0.1634          might be 1.0726x faster
   put-by-id                                         13.0553+-0.4262           12.7040+-0.3052          might be 1.0277x faster
   put-by-val-direct                                  0.4283+-0.0795            0.4272+-0.0522        
   put-by-val-large-index-blank-indexing-type   
                                                     13.1276+-1.4051           12.1064+-0.3343          might be 1.0844x faster
   put-by-val-machine-int                             2.9094+-0.1600     ?      2.9724+-0.2621        ? might be 1.0216x slower
   rare-osr-exit-on-local                            15.9099+-0.6103           15.8766+-0.9555        
   register-pressure-from-osr                        21.9226+-1.2966     ?     22.2310+-1.3063        ? might be 1.0141x slower
   repeat-multi-get-by-offset                        24.3743+-0.3086     ?     24.7098+-0.2497        ? might be 1.0138x slower
   setter-prototype                                  10.7619+-0.5196           10.4538+-0.1769          might be 1.0295x faster
   setter                                             6.2537+-0.8783     ?      6.3359+-0.5745        ? might be 1.0131x slower
   simple-activation-demo                            25.2025+-0.4405     ?     25.4860+-0.4742        ? might be 1.0113x slower
   simple-getter-access                              11.6899+-0.2631     ?     11.7480+-0.3036        ?
   simple-poly-call-nested                            8.1728+-0.0876            8.1190+-0.1956        
   simple-poly-call                                   1.4102+-0.0767            1.3463+-0.0401          might be 1.0475x faster
   sin-boolean                                       22.6632+-0.5788     ?     23.3724+-1.3998        ? might be 1.0313x slower
   singleton-scope                                   63.9156+-1.9700           63.0796+-1.9565          might be 1.0133x faster
   sink-function                                     12.4641+-0.7043     ?     12.4647+-0.3738        ?
   sink-huge-activation                              19.2975+-0.7630     ?     19.8514+-1.5714        ? might be 1.0287x slower
   sinkable-new-object-dag                           71.9130+-2.4208           70.5653+-1.8497          might be 1.0191x faster
   sinkable-new-object-taken                         52.0552+-3.0743     ?     52.3549+-4.9129        ?
   sinkable-new-object                               39.1655+-0.6509     ?     39.7068+-1.5556        ? might be 1.0138x slower
   slow-array-profile-convergence                     2.8878+-0.2076     ?      2.9471+-0.0751        ? might be 1.0205x slower
   slow-convergence                                   3.0730+-0.3470            2.7896+-0.0615          might be 1.1016x faster
   slow-ternaries                                    18.8223+-2.0692     ?     21.4842+-2.4291        ? might be 1.1414x slower
   sorting-benchmark                                 19.2030+-0.5318           18.6563+-0.4758          might be 1.0293x faster
   sparse-conditional                                 1.2264+-0.0749     ?      1.2312+-0.1474        ?
   splice-to-remove                                  16.0563+-1.7855           15.6812+-1.5290          might be 1.0239x faster
   string-char-code-at                               16.7347+-0.8669           16.4208+-0.5914          might be 1.0191x faster
   string-concat-object                               2.8617+-0.3465            2.7163+-0.2363          might be 1.0535x faster
   string-concat-pair-object                          2.8368+-0.3453            2.7112+-0.2158          might be 1.0463x faster
   string-concat-pair-simple                         12.3529+-1.0113           12.1772+-0.9165          might be 1.0144x faster
   string-concat-simple                              12.4578+-0.4951     ?     12.5195+-1.1764        ?
   string-cons-repeat                                 8.0747+-0.2880     ?      8.2799+-0.3900        ? might be 1.0254x slower
   string-cons-tower                                  8.5498+-0.6764            8.4909+-0.6138        
   string-equality                                   18.5198+-1.5364           17.8836+-0.5688          might be 1.0356x faster
   string-get-by-val-big-char                         7.3082+-0.0762            7.2928+-0.0735        
   string-get-by-val-out-of-bounds-insane             3.8822+-0.4778            3.7118+-0.2930          might be 1.0459x faster
   string-get-by-val-out-of-bounds                    5.9774+-0.9069            5.5479+-0.0299          might be 1.0774x faster
   string-get-by-val                                  3.3770+-0.0225            3.3624+-0.0220        
   string-hash                                        2.1770+-0.1004     ?      2.2645+-0.2380        ? might be 1.0402x slower
   string-long-ident-equality                        14.7213+-0.3649     ?     14.7865+-0.4588        ?
   string-out-of-bounds                              15.2880+-0.4108           14.9545+-0.3898          might be 1.0223x faster
   string-repeat-arith                               35.7542+-1.4529           35.4350+-2.9356        
   string-sub                                        67.8794+-4.3434     ?     68.5086+-4.5731        ?
   string-test                                        3.0181+-0.1270     ?      3.2303+-0.3456        ? might be 1.0703x slower
   string-var-equality                               32.7290+-1.3032     ?     34.2165+-2.1635        ? might be 1.0454x slower
   structure-hoist-over-transitions                   2.7901+-0.1108     ?      2.8010+-0.2556        ?
   substring-concat-weird                            41.9108+-1.3926           40.7247+-1.8571          might be 1.0291x faster
   substring-concat                                  43.4109+-1.1216     ?     43.7703+-1.1727        ?
   substring                                         46.6959+-2.3642           46.0793+-1.8715          might be 1.0134x faster
   switch-char-constant                               3.0058+-0.4271     ?      3.0671+-0.2604        ? might be 1.0204x slower
   switch-char                                        7.1657+-0.6936     ?      8.5056+-3.2870        ? might be 1.1870x slower
   switch-constant                                    9.0639+-1.1615            8.5501+-0.3464          might be 1.0601x faster
   switch-string-basic-big-var                       18.5407+-0.3937           18.3272+-0.2640          might be 1.0116x faster
   switch-string-basic-big                           15.0085+-0.2522     ?     15.3356+-0.5832        ? might be 1.0218x slower
   switch-string-basic-var                           15.2753+-0.2562     ?     15.5671+-1.1621        ? might be 1.0191x slower
   switch-string-basic                               13.4288+-0.1705     ?     14.1586+-0.7360        ? might be 1.0543x slower
   switch-string-big-length-tower-var                20.9299+-1.3765           20.1623+-0.4438          might be 1.0381x faster
   switch-string-length-tower-var                    16.5822+-1.6813           15.7602+-0.2953          might be 1.0522x faster
   switch-string-length-tower                        13.2035+-0.1588     ?     13.3005+-0.2497        ?
   switch-string-short                               13.1145+-0.2329     ?     13.2142+-0.3672        ?
   switch                                            12.6549+-0.2787     ?     12.8795+-0.2741        ? might be 1.0177x slower
   tear-off-arguments-simple                          3.6147+-0.2295     ?      3.6676+-0.2604        ? might be 1.0146x slower
   tear-off-arguments                                 4.8877+-0.1064            4.8542+-0.0646        
   temporal-structure                                12.2610+-0.0931     ?     12.3354+-0.2138        ?
   to-int32-boolean                                  13.8328+-0.1757     ?     14.0223+-0.2766        ? might be 1.0137x slower
   try-catch-get-by-val-cloned-arguments             15.2725+-1.2145     ?     15.8356+-1.6117        ? might be 1.0369x slower
   try-catch-get-by-val-direct-arguments              6.7498+-0.2283     ?      7.1612+-0.9423        ? might be 1.0610x slower
   try-catch-get-by-val-scoped-arguments              8.1247+-0.9463     ?      8.6989+-1.4290        ? might be 1.0707x slower
   typed-array-get-set-by-val-profiling              32.0531+-0.4645     ?     33.2397+-1.5452        ? might be 1.0370x slower
   undefined-property-access                        345.4032+-4.9826          343.1266+-3.7414        
   undefined-test                                     3.0913+-0.0947     ?      3.2022+-0.3273        ? might be 1.0359x slower
   unprofiled-licm                                   24.0673+-1.8458           22.7692+-0.2689          might be 1.0570x faster
   varargs-call                                      15.5179+-1.1307     ?     15.8522+-0.9078        ? might be 1.0215x slower
   varargs-construct-inline                          27.9700+-0.3651     ?     28.1016+-0.4652        ?
   varargs-construct                                 23.2754+-1.1227           22.8737+-0.5924          might be 1.0176x faster
   varargs-inline                                     9.3752+-0.1059     ?      9.5979+-0.5112        ? might be 1.0238x slower
   varargs-strict-mode                               10.1875+-0.3392     ?     10.6054+-1.0846        ? might be 1.0410x slower
   varargs                                           10.2556+-0.3138           10.1293+-0.1912          might be 1.0125x faster
   weird-inlining-const-prop                          3.4197+-0.1985     ?      3.5808+-0.6880        ? might be 1.0471x slower

   <geometric>                                        9.0044+-0.0365            8.9777+-0.0336          might be 1.0030x faster

                                                        TipOfTree               DoubleRealUse                                   
AsmBench:
   bigfib.cpp                                       503.0432+-3.8539     ?    504.4475+-12.4463       ?
   cray.c                                           442.8666+-37.6423         433.9375+-11.7515         might be 1.0206x faster
   dry.c                                            497.8990+-32.9357         490.5914+-10.1555         might be 1.0149x faster
   FloatMM.c                                        728.0811+-8.9143     ?    732.2224+-7.0928        ?
   gcc-loops.cpp                                   4288.9237+-12.7884        4287.5203+-10.1031       
   n-body.c                                         986.8309+-16.8883    ?    987.5693+-4.1504        ?
   Quicksort.c                                      424.0061+-8.4774          420.4270+-5.0102        
   stepanov_container.cpp                          3644.1721+-28.9923        3625.5382+-33.9577       
   Towers.c                                         262.4240+-4.6459     ?    268.7939+-11.3024       ? might be 1.0243x slower

   <geometric>                                      802.4849+-8.3162          801.3281+-5.0665          might be 1.0014x faster

                                                        TipOfTree               DoubleRealUse                                   
CompressionBench:
   huffman                                          372.1481+-2.4314          359.9830+-21.8492         might be 1.0338x faster
   arithmetic-simple                                369.5149+-1.8958          365.4513+-3.8456          might be 1.0111x faster
   arithmetic-precise                               284.2368+-4.0836     ?    285.6455+-4.0471        ?
   arithmetic-complex-precise                       282.7521+-3.7237     ?    283.8317+-3.8072        ?
   arithmetic-precise-order-0                       377.7775+-3.9822     ?    383.9491+-12.6373       ? might be 1.0163x slower
   arithmetic-precise-order-1                       336.8847+-5.7941          335.5776+-3.4991        
   arithmetic-precise-order-2                       367.8700+-2.4209     ?    369.9931+-4.7226        ?
   arithmetic-simple-order-1                        425.8757+-3.1045          424.7941+-1.7873        
   arithmetic-simple-order-2                        476.4365+-6.9473     ?    486.7944+-26.6505       ? might be 1.0217x slower
   lz-string                                        321.2834+-8.3610     ?    324.4677+-23.6514       ?

   <geometric>                                      357.0867+-1.0973     ?    357.3429+-2.1540        ? might be 1.0007x slower

                                                        TipOfTree               DoubleRealUse                                   
Geomean of preferred means:
   <scaled-result>                                   62.7480+-0.2255           62.4810+-0.2299          might be 1.0043x faster
Comment 4 Filip Pizlo 2015-06-03 23:24:39 PDT
Performance of my new approach, which doesn't exit on int32:


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

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r185168)
"DoubleRealUse" at /Volumes/Data/pizlo/primary/OpenSource/WebKitBuild/Release/jsc (r185168)

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

                                                        TipOfTree               DoubleRealUse                                   
SunSpider:
   3d-cube                                            5.3221+-0.1115            5.2605+-0.1609          might be 1.0117x faster
   3d-morph                                           5.9623+-0.2388            5.9599+-0.2709        
   3d-raytrace                                        6.8566+-0.6339            6.5788+-0.0808          might be 1.0422x faster
   access-binary-trees                                2.4335+-0.1505            2.4120+-0.1860        
   access-fannkuch                                    6.1764+-0.1127            6.0918+-0.1051          might be 1.0139x faster
   access-nbody                                       3.3754+-0.4442            3.0621+-0.1999          might be 1.1023x faster
   access-nsieve                                      3.5551+-0.2637            3.5038+-0.3001          might be 1.0146x faster
   bitops-3bit-bits-in-byte                           1.6198+-0.0319     ?      1.6975+-0.2081        ? might be 1.0480x slower
   bitops-bits-in-byte                                3.8624+-0.2744     ?      3.9931+-0.2235        ? might be 1.0338x slower
   bitops-bitwise-and                                 2.2467+-0.2766            2.1314+-0.0466          might be 1.0541x faster
   bitops-nsieve-bits                                 3.3441+-0.1082            3.3337+-0.1040        
   controlflow-recursive                              3.2377+-0.1895            2.8695+-0.2331          might be 1.1283x faster
   crypto-aes                                         4.9750+-0.3584            4.9052+-0.1531          might be 1.0142x faster
   crypto-md5                                         3.0975+-0.2459            2.8215+-0.1347          might be 1.0978x faster
   crypto-sha1                                        3.6498+-0.3771     ?      3.8837+-0.4193        ? might be 1.0641x slower
   date-format-tofte                                  9.3612+-0.1448     ?      9.4022+-0.1499        ?
   date-format-xparb                                  5.9841+-0.2561     ?      6.1887+-0.4810        ? might be 1.0342x slower
   math-cordic                                        3.2651+-0.1193            3.1871+-0.0546          might be 1.0245x faster
   math-partial-sums                                  5.8693+-0.4863            5.5940+-0.1428          might be 1.0492x faster
   math-spectral-norm                                 2.1519+-0.2269            2.1172+-0.1708          might be 1.0164x faster
   regexp-dna                                         7.5005+-0.0389     ?      8.0334+-1.3654        ? might be 1.0711x slower
   string-base64                                      5.9878+-1.0825            5.4905+-0.8090          might be 1.0906x faster
   string-fasta                                       7.1882+-0.8249            6.9584+-0.5457          might be 1.0330x faster
   string-tagcloud                                   10.3786+-0.8621            9.8961+-0.6123          might be 1.0488x faster
   string-unpack-code                                23.0459+-2.2604           21.7979+-2.0024          might be 1.0573x faster
   string-validate-input                              6.0846+-0.1851     ?      6.2032+-0.3189        ? might be 1.0195x slower

   <arithmetic>                                       5.6358+-0.0808            5.5144+-0.0886          might be 1.0220x faster

                                                        TipOfTree               DoubleRealUse                                   
LongSpider:
   3d-cube                                          917.2194+-42.2956    ?    919.8247+-29.7549       ?
   3d-morph                                        1544.4682+-11.9912        1543.7540+-17.2601       
   3d-raytrace                                      712.4201+-23.6070    ?    744.5203+-41.4073       ? might be 1.0451x slower
   access-binary-trees                             1024.1423+-40.5805        1005.8717+-14.0052         might be 1.0182x faster
   access-fannkuch                                  337.8470+-12.8270         330.5921+-10.3222         might be 1.0219x faster
   access-nbody                                     652.9954+-61.6087         592.6971+-4.4409          might be 1.1017x faster
   access-nsieve                                    479.2895+-7.5068     ?    491.1532+-34.0588       ? might be 1.0248x slower
   bitops-3bit-bits-in-byte                          44.5645+-0.5171     ?     44.5877+-0.7342        ?
   bitops-bits-in-byte                              105.0497+-7.8977          101.3522+-5.3547          might be 1.0365x faster
   bitops-nsieve-bits                               434.1840+-16.4957         422.4702+-3.5278          might be 1.0277x faster
   controlflow-recursive                            501.1655+-18.4525    ?    505.2799+-25.5211       ?
   crypto-aes                                       726.6181+-33.2660         712.1210+-5.9667          might be 1.0204x faster
   crypto-md5                                       530.9701+-10.8298         528.4897+-12.8996       
   crypto-sha1                                      606.7327+-3.9739     ?    612.4525+-38.4913       ?
   date-format-tofte                                746.2010+-23.1563         727.0964+-9.3464          might be 1.0263x faster
   date-format-xparb                                811.0345+-28.4121    ?    838.2397+-41.7665       ? might be 1.0335x slower
   hash-map                                         184.8923+-3.1517          181.2685+-3.3051          might be 1.0200x faster
   math-cordic                                      612.3558+-35.5435         577.8084+-3.0599          might be 1.0598x faster
   math-partial-sums                                504.5493+-3.3006     ?    512.5730+-8.6444        ? might be 1.0159x slower
   math-spectral-norm                               565.8687+-2.6923     ?    567.4092+-4.9666        ?
   string-base64                                    415.3897+-4.6097     ?    418.6079+-12.7659       ?
   string-fasta                                     444.6607+-23.0503         430.0969+-15.9991         might be 1.0339x faster
   string-tagcloud                                  207.4302+-16.2675         204.3066+-17.9218         might be 1.0153x faster

   <geometric>                                      461.8882+-1.8881          457.3781+-3.3135          might be 1.0099x faster

                                                        TipOfTree               DoubleRealUse                                   
V8Spider:
   crypto                                            57.7496+-3.0320     ?     60.8284+-5.8435        ? might be 1.0533x slower
   deltablue                                        104.7713+-3.4896          102.1827+-8.1962          might be 1.0253x faster
   earley-boyer                                      50.5662+-5.5138     ?     52.0559+-4.4320        ? might be 1.0295x slower
   raytrace                                          44.7061+-3.0388           42.8388+-2.8336          might be 1.0436x faster
   regexp                                            84.5137+-2.2940           83.1131+-2.1030          might be 1.0169x faster
   richards                                          81.2517+-6.0775           79.8196+-0.8812          might be 1.0179x faster
   splay                                             42.0199+-3.0746           40.0898+-2.0098          might be 1.0481x faster

   <geometric>                                       62.9252+-1.4146           62.3231+-1.5881          might be 1.0097x faster

                                                        TipOfTree               DoubleRealUse                                   
Octane:
   encrypt                                           0.20854+-0.00863          0.20386+-0.00186         might be 1.0230x faster
   decrypt                                           3.56241+-0.03378    ?     3.58548+-0.04629       ?
   deltablue                                x2       0.20159+-0.01385    ?     0.20415+-0.01228       ? might be 1.0127x slower
   earley                                            0.39619+-0.00396          0.39215+-0.00405         might be 1.0103x faster
   boyer                                             5.17320+-0.04329    ?     5.26057+-0.30956       ? might be 1.0169x slower
   navier-stokes                            x2       5.27705+-0.20541          5.22030+-0.03267         might be 1.0109x faster
   raytrace                                 x2       1.28515+-0.03617    ?     1.29003+-0.05392       ?
   richards                                 x2       0.12848+-0.00126    ?     0.12886+-0.00325       ?
   splay                                    x2       0.39996+-0.00159          0.39906+-0.00255       
   regexp                                   x2      32.90609+-3.06426         31.85910+-0.56316         might be 1.0329x faster
   pdfjs                                    x2      42.91595+-0.38536    ^    42.25975+-0.19507       ^ definitely 1.0155x faster
   mandreel                                 x2      50.32801+-0.54515    ?    50.69274+-0.30064       ?
   gbemu                                    x2      45.82190+-4.12467         42.43828+-0.80124         might be 1.0797x faster
   closure                                           0.59536+-0.00585    ^     0.56619+-0.00379       ^ definitely 1.0515x faster
   jquery                                            7.63519+-0.02944    ^     7.16633+-0.03314       ^ definitely 1.0654x faster
   box2d                                    x2      12.93921+-0.94770         11.97389+-0.08236         might be 1.0806x faster
   zlib                                     x2     405.26081+-9.29927        395.88812+-15.06107        might be 1.0237x faster
   typescript                               x2     853.36060+-44.88187       819.22392+-11.70259        might be 1.0417x faster

   <geometric>                                       6.73528+-0.07313    ^     6.59899+-0.03044       ^ definitely 1.0207x faster

                                                        TipOfTree               DoubleRealUse                                   
Kraken:
   ai-astar                                          242.602+-12.660           240.309+-9.473         
   audio-beat-detection                              108.350+-1.467            107.936+-1.428         
   audio-dft                                         122.741+-5.550            122.306+-3.750         
   audio-fft                                          88.611+-0.392             86.581+-5.400           might be 1.0235x faster
   audio-oscillator                                   80.961+-6.072             77.711+-1.794           might be 1.0418x faster
   imaging-darkroom                                  105.736+-3.112      ?     108.799+-5.380         ? might be 1.0290x slower
   imaging-desaturate                                 63.841+-1.471      ?      65.774+-5.839         ? might be 1.0303x slower
   imaging-gaussian-blur                             115.439+-7.592            114.226+-6.674           might be 1.0106x faster
   json-parse-financial                               50.726+-2.791             48.051+-1.766           might be 1.0557x faster
   json-stringify-tinderbox                           30.833+-3.090             29.742+-1.794           might be 1.0367x faster
   stanford-crypto-aes                                59.024+-2.176             58.361+-0.809           might be 1.0114x faster
   stanford-crypto-ccm                                47.892+-0.821      ?      48.995+-2.995         ? might be 1.0230x slower
   stanford-crypto-pbkdf2                            113.131+-4.454            112.259+-2.244         
   stanford-crypto-sha256-iterative                   43.465+-1.807      ?      45.898+-3.345         ? might be 1.0560x slower

   <arithmetic>                                       90.954+-1.477             90.496+-0.787           might be 1.0051x faster

                                                        TipOfTree               DoubleRealUse                                   
JSRegress:
   abs-boolean                                        2.8114+-0.2897     ?      2.8145+-0.2992        ?
   adapt-to-double-divide                            16.8920+-0.3431     ?     16.9135+-0.4199        ?
   aliased-arguments-getbyval                         1.5129+-0.2248            1.3359+-0.0451          might be 1.1325x faster
   allocate-big-object                                2.9823+-0.2318            2.8687+-0.0812          might be 1.0396x faster
   arguments-named-and-reflective                    12.8610+-1.3388           12.4720+-0.4148          might be 1.0312x faster
   arguments-out-of-bounds                           15.1156+-0.6290           14.8651+-0.3375          might be 1.0168x faster
   arguments-strict-mode                             11.6353+-1.7941           10.8552+-0.3270          might be 1.0719x faster
   arguments                                          9.5457+-0.3407     ?      9.9382+-0.5204        ? might be 1.0411x slower
   arity-mismatch-inlining                            0.8903+-0.0256     ?      0.9446+-0.1076        ? might be 1.0610x slower
   array-access-polymorphic-structure                 7.0231+-0.2917            6.8479+-0.0999          might be 1.0256x faster
   array-nonarray-polymorhpic-access                 32.5298+-0.9568     ?     33.4861+-0.7683        ? might be 1.0294x slower
   array-prototype-every                             88.4079+-6.0190           86.5592+-1.1108          might be 1.0214x faster
   array-prototype-forEach                           85.6392+-1.5240     ?     86.3467+-3.8160        ?
   array-prototype-map                               90.6049+-1.7808     ?     94.0712+-4.1318        ? might be 1.0383x slower
   array-prototype-reduce                            82.9908+-4.2836     ?     83.8667+-3.0509        ? might be 1.0106x slower
   array-prototype-reduceRight                       85.3295+-4.9150           83.9731+-4.0075          might be 1.0162x faster
   array-prototype-some                              86.9649+-2.0917     ?     87.4474+-1.2406        ?
   array-splice-contiguous                           51.2373+-16.4331          44.1206+-2.2141          might be 1.1613x faster
   array-with-double-add                              4.3380+-0.1882            4.3306+-0.1389        
   array-with-double-increment                        3.3798+-0.1068     ?      3.5820+-0.3674        ? might be 1.0598x slower
   array-with-double-mul-add                          5.3164+-0.2988            5.2090+-0.1939          might be 1.0206x faster
   array-with-double-sum                              3.3680+-0.0680     ?      3.4962+-0.2408        ? might be 1.0381x slower
   array-with-int32-add-sub                           6.8637+-0.1116     ?      7.1249+-0.3921        ? might be 1.0380x slower
   array-with-int32-or-double-sum                     3.4480+-0.0914     ?      3.7091+-0.3780        ? might be 1.0757x slower
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     41.8827+-10.6098          37.8267+-2.4433          might be 1.1072x faster
   ArrayBuffer-DataView-alloc-long-lived             15.6614+-1.7170     ?     15.8339+-1.6042        ? might be 1.0110x slower
   ArrayBuffer-Int32Array-byteOffset                  3.9434+-0.2392     ?      4.1202+-0.5129        ? might be 1.0448x slower
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     38.8276+-1.2156     ?     39.8738+-2.4821        ? might be 1.0269x slower
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     23.7090+-1.6928           23.4332+-1.6092          might be 1.0118x faster
   ArrayBuffer-Int8Array-alloc-long-lived            13.5720+-0.2512     ?     15.4474+-1.7530        ? might be 1.1382x slower
   ArrayBuffer-Int8Array-alloc                       10.7818+-0.9576     ?     11.9685+-1.8215        ? might be 1.1101x slower
   asmjs_bool_bug                                     7.7734+-0.1244     ?      7.8242+-0.1816        ?
   assign-custom-setter-polymorphic                   3.4442+-0.3955     ?      3.6086+-0.4517        ? might be 1.0477x slower
   assign-custom-setter                               4.4948+-0.6149     ?      4.6045+-0.1211        ? might be 1.0244x slower
   basic-set                                          9.5898+-0.2172     ?      9.7019+-0.4752        ? might be 1.0117x slower
   big-int-mul                                        4.2476+-0.0231     ?      4.2749+-0.0544        ?
   boolean-test                                       3.2785+-0.3509            3.1678+-0.0555          might be 1.0350x faster
   branch-fold                                        3.9665+-0.1242     ?      4.1718+-0.2495        ? might be 1.0518x slower
   branch-on-string-as-boolean                       20.8798+-1.4349     ?     21.4420+-1.6542        ? might be 1.0269x slower
   by-val-generic                                     8.3175+-0.2430            8.1008+-0.2063          might be 1.0267x faster
   call-spread-apply                                 31.7943+-1.4148           30.6744+-1.2583          might be 1.0365x faster
   call-spread-call                                  28.4733+-3.2890           26.0910+-1.2132          might be 1.0913x faster
   captured-assignments                               0.5201+-0.0411     ?      0.5244+-0.0315        ?
   cast-int-to-double                                 5.3133+-0.0640     ?      5.3871+-0.1743        ? might be 1.0139x slower
   cell-argument                                      8.8143+-0.3961     ?      8.9379+-0.5941        ? might be 1.0140x slower
   cfg-simplify                                       2.9262+-0.0997     ?      3.1070+-0.4300        ? might be 1.0618x slower
   chain-getter-access                                9.4799+-0.2662     ?     10.3308+-2.4842        ? might be 1.0898x slower
   cmpeq-obj-to-obj-other                            12.5308+-1.0451           12.3457+-1.2009          might be 1.0150x faster
   constant-test                                      5.1180+-0.1499            5.1128+-0.1452        
   create-lots-of-functions                          11.9613+-0.5257           11.6611+-0.3488          might be 1.0257x faster
   cse-new-array-buffer                               2.6289+-0.2152            2.5493+-0.0377          might be 1.0312x faster
   cse-new-array                                      2.7060+-0.1238     ?      2.7336+-0.1666        ? might be 1.0102x slower
   DataView-custom-properties                        43.2959+-1.7895           42.8274+-1.4969          might be 1.0109x faster
   deconstructing-parameters-overridden-by-function   
                                                      0.6073+-0.0723     ?      0.6098+-0.0724        ?
   delay-tear-off-arguments-strictmode               14.7008+-0.4581     ?     14.9596+-0.7625        ? might be 1.0176x slower
   deltablue-varargs                                214.7441+-2.7793     ^    208.2834+-2.4455        ^ definitely 1.0310x faster
   destructuring-arguments                           17.4799+-0.2621     ?     17.7035+-1.1765        ? might be 1.0128x slower
   destructuring-swap                                 5.1204+-0.0825     ?      5.3871+-0.4405        ? might be 1.0521x slower
   direct-arguments-getbyval                          1.3741+-0.1787            1.3575+-0.1039          might be 1.0122x faster
   div-boolean-double                                 5.2666+-0.0183     ?      5.4085+-0.1748        ? might be 1.0269x slower
   div-boolean                                        7.9165+-0.1262     ?      8.0062+-0.2171        ? might be 1.0113x slower
   double-get-by-val-out-of-bounds                    4.7349+-0.2299            4.6386+-0.1325          might be 1.0208x faster
   double-pollution-getbyval                          8.9498+-0.1430     ?      9.0498+-0.1603        ? might be 1.0112x slower
   double-pollution-putbyoffset                       4.4456+-0.0673     ?      4.5197+-0.1755        ? might be 1.0166x slower
   double-real-use                                   39.1786+-1.8233     ^     30.8531+-1.8957        ^ definitely 1.2698x faster
   double-to-int32-typed-array-no-inline              2.5629+-0.1765     ?      2.7885+-0.3717        ? might be 1.0880x slower
   double-to-int32-typed-array                        2.0853+-0.1308     ?      2.1274+-0.2535        ? might be 1.0202x slower
   double-to-uint32-typed-array-no-inline             2.7319+-0.3297            2.7048+-0.2044          might be 1.0100x faster
   double-to-uint32-typed-array                       2.1392+-0.1100     ?      2.2248+-0.2762        ? might be 1.0400x slower
   elidable-new-object-dag                           44.7008+-2.3656     ?     45.1475+-2.2248        ?
   elidable-new-object-roflcopter                    44.3101+-0.4757     ?     44.7950+-1.1877        ? might be 1.0109x slower
   elidable-new-object-then-call                     41.0045+-2.0075           40.3546+-1.4403          might be 1.0161x faster
   elidable-new-object-tree                          46.8196+-1.9683           46.2384+-1.3045          might be 1.0126x faster
   empty-string-plus-int                              5.7489+-0.4892            5.6980+-0.3887        
   emscripten-cube2hash                              39.5624+-1.8832     ?     39.7053+-2.8232        ?
   exit-length-on-plain-object                       15.1968+-0.9972           15.0829+-1.3701        
   external-arguments-getbyval                        1.3080+-0.0767     ?      1.3283+-0.1358        ? might be 1.0155x slower
   external-arguments-putbyval                        2.4663+-0.0725     ?      2.5273+-0.2738        ? might be 1.0247x slower
   fixed-typed-array-storage-var-index                1.2515+-0.0646     ?      1.2721+-0.1496        ? might be 1.0165x slower
   fixed-typed-array-storage                          0.9309+-0.0596     ?      1.0026+-0.2316        ? might be 1.0771x slower
   Float32Array-matrix-mult                           4.5619+-0.1972     ?      4.6108+-0.3491        ? might be 1.0107x slower
   Float32Array-to-Float64Array-set                  57.3800+-1.6022     ^     53.8384+-1.2295        ^ definitely 1.0658x faster
   Float64Array-alloc-long-lived                     86.8374+-1.3782     ?     88.6209+-2.6563        ? might be 1.0205x slower
   Float64Array-to-Int16Array-set                    70.5072+-1.2068           70.1819+-2.0211        
   fold-double-to-int                                14.4996+-1.4479           14.2610+-1.1076          might be 1.0167x faster
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     10.5252+-0.3477            9.8842+-0.9565          might be 1.0649x faster
   fold-get-by-id-to-multi-get-by-offset             10.8769+-1.3505           10.2194+-0.8194          might be 1.0643x faster
   fold-multi-get-by-offset-to-get-by-offset   
                                                      9.7946+-0.5263     ?     10.5529+-0.7976        ? might be 1.0774x slower
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                     10.3841+-0.7463            9.4507+-0.7456          might be 1.0988x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                     10.3845+-0.7569     ?     10.6707+-1.3360        ? might be 1.0276x slower
   fold-multi-put-by-offset-to-put-by-offset   
                                                      7.6596+-0.4136            6.1729+-1.2491          might be 1.2408x faster
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     10.1639+-0.4948     ?     10.3641+-0.9431        ? might be 1.0197x slower
   fold-put-by-id-to-multi-put-by-offset             10.8777+-1.3103           10.1400+-0.7171          might be 1.0728x faster
   fold-put-structure                                 6.8127+-1.6188     ?      8.1930+-0.9459        ? might be 1.2026x slower
   for-of-iterate-array-entries                       4.7464+-0.2574            4.6472+-0.1876          might be 1.0213x faster
   for-of-iterate-array-keys                          4.0723+-0.2996            3.9709+-0.4581          might be 1.0255x faster
   for-of-iterate-array-values                        3.7769+-0.2057            3.6478+-0.1476          might be 1.0354x faster
   fround                                            21.3029+-1.2740           20.8685+-0.5585          might be 1.0208x faster
   ftl-library-inlining-dataview                     64.6773+-1.0438     ?     66.2338+-1.7576        ? might be 1.0241x slower
   ftl-library-inlining                              75.7161+-18.2590    ?     76.7194+-14.5666       ? might be 1.0133x slower
   function-dot-apply                                 2.3244+-0.1769     ?      2.3845+-0.2273        ? might be 1.0259x slower
   function-test                                      2.9386+-0.0986     ?      3.1374+-0.4538        ? might be 1.0676x slower
   function-with-eval                               105.0135+-4.8879     ?    105.1054+-4.5495        ?
   gcse-poly-get-less-obvious                        18.0062+-0.3045     ?     19.2136+-1.4151        ? might be 1.0671x slower
   gcse-poly-get                                     21.7950+-1.2984           20.8569+-2.3297          might be 1.0450x faster
   gcse                                               4.5926+-0.3118            4.5278+-0.3258          might be 1.0143x faster
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.7787+-0.0358     ?      2.8595+-0.0911        ? might be 1.0291x slower
   get-by-id-bimorphic-check-structure-elimination   
                                                      6.2432+-0.2184     ?      6.3842+-0.3752        ? might be 1.0226x slower
   get-by-id-chain-from-try-block                     6.8829+-0.7322            6.7402+-0.2689          might be 1.0212x faster
   get-by-id-check-structure-elimination              5.2436+-0.1873     ?      5.4378+-0.6713        ? might be 1.0370x slower
   get-by-id-proto-or-self                           19.5225+-2.1985           19.0816+-1.3728          might be 1.0231x faster
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.1508+-0.1719     ?      3.1845+-0.3532        ? might be 1.0107x slower
   get-by-id-self-or-proto                           19.3795+-1.6346           19.3105+-2.0013        
   get-by-val-out-of-bounds                           4.5187+-0.0898            4.5018+-0.1283        
   get_callee_monomorphic                             3.1096+-0.3292     ?      3.1187+-0.2847        ?
   get_callee_polymorphic                             3.8514+-0.1523     ?      3.8957+-0.3576        ? might be 1.0115x slower
   getter-no-activation                               5.1573+-0.2709     ?      5.1873+-0.2737        ?
   getter-prototype                                  15.5717+-1.4198           15.4470+-0.8811        
   getter-richards                                  122.4377+-6.3844     ?    127.9659+-11.7732       ? might be 1.0452x slower
   getter                                             5.8061+-0.7873     ?      6.5084+-0.8060        ? might be 1.1210x slower
   global-var-const-infer-fire-from-opt               0.9237+-0.0748     ?      0.9508+-0.0335        ? might be 1.0292x slower
   global-var-const-infer                             1.0044+-0.2326            0.9635+-0.1915          might be 1.0424x faster
   HashMap-put-get-iterate-keys                      31.9761+-2.3091           30.5245+-3.2805          might be 1.0476x faster
   HashMap-put-get-iterate                           33.8839+-1.6019           32.6040+-0.7785          might be 1.0393x faster
   HashMap-string-put-get-iterate                    32.9646+-1.3268     ?     33.0186+-2.2479        ?
   hoist-make-rope                                   13.2138+-0.5259     ^     11.7207+-0.3643        ^ definitely 1.1274x faster
   hoist-poly-check-structure-effectful-loop   
                                                      5.1246+-0.0401            5.1134+-0.1054        
   hoist-poly-check-structure                         3.7417+-0.0490     ?      3.7914+-0.0514        ? might be 1.0133x slower
   imul-double-only                                   8.9388+-0.6346     ?      9.0351+-0.6244        ? might be 1.0108x slower
   imul-int-only                                     10.1606+-1.0664           10.0148+-0.6802          might be 1.0146x faster
   imul-mixed                                         8.3631+-0.8105     ?      8.8562+-1.4634        ? might be 1.0590x slower
   in-four-cases                                     22.4516+-0.2337     ?     24.4944+-4.0805        ? might be 1.0910x slower
   in-one-case-false                                 11.1368+-0.1508     ?     12.2178+-1.5564        ? might be 1.0971x slower
   in-one-case-true                                  11.2594+-0.4072     ?     11.2805+-0.3854        ?
   in-two-cases                                      11.6828+-0.1881           11.6370+-0.0706        
   indexed-properties-in-objects                      3.0941+-0.3590            2.9584+-0.0428          might be 1.0459x faster
   infer-closure-const-then-mov-no-inline             4.2793+-0.3960            4.0385+-0.1232          might be 1.0596x faster
   infer-closure-const-then-mov                      19.8404+-0.3855     ?     20.0677+-0.3620        ? might be 1.0115x slower
   infer-closure-const-then-put-to-scope-no-inline   
                                                     13.4953+-1.0339           13.0972+-0.7097          might be 1.0304x faster
   infer-closure-const-then-put-to-scope             22.2641+-1.1405     ?     23.1667+-1.6480        ? might be 1.0405x slower
   infer-closure-const-then-reenter-no-inline   
                                                     54.4719+-0.5209     ?     56.2917+-2.8050        ? might be 1.0334x slower
   infer-closure-const-then-reenter                  23.5198+-1.4825           22.5830+-0.9684          might be 1.0415x faster
   infer-constant-global-property                     3.6351+-0.1083            3.6045+-0.0644        
   infer-constant-property                            2.7953+-0.0392     ?      2.8058+-0.1099        ?
   infer-one-time-closure-ten-vars                   13.1030+-0.9390           12.7433+-0.8129          might be 1.0282x faster
   infer-one-time-closure-two-vars                   12.1914+-0.3297           12.0424+-0.3273          might be 1.0124x faster
   infer-one-time-closure                            12.1316+-0.2544     ?     12.4941+-0.9584        ? might be 1.0299x slower
   infer-one-time-deep-closure                       21.2563+-1.2864     ?     22.1341+-1.7041        ? might be 1.0413x slower
   inline-arguments-access                            4.8317+-0.4726            4.6950+-0.2604          might be 1.0291x faster
   inline-arguments-aliased-access                    4.6918+-0.0734     ?      4.8013+-0.2213        ? might be 1.0233x slower
   inline-arguments-local-escape                      4.9218+-0.3120            4.7498+-0.1426          might be 1.0362x faster
   inline-get-scoped-var                              5.0800+-0.2111     ?      5.1424+-0.3498        ? might be 1.0123x slower
   inlined-put-by-id-transition                      12.0632+-1.0561           11.8208+-0.4582          might be 1.0205x faster
   int-or-other-abs-then-get-by-val                   5.0432+-0.0761     ?      5.1066+-0.1840        ? might be 1.0126x slower
   int-or-other-abs-zero-then-get-by-val             17.4413+-0.4036     ?     18.5194+-1.3740        ? might be 1.0618x slower
   int-or-other-add-then-get-by-val                   4.4347+-0.0825     ?      4.5955+-0.3175        ? might be 1.0363x slower
   int-or-other-add                                   5.3702+-0.0278     ?      5.8728+-0.9776        ? might be 1.0936x slower
   int-or-other-div-then-get-by-val                   4.3114+-0.0669     ?      4.3470+-0.1079        ?
   int-or-other-max-then-get-by-val                   4.5511+-0.2799            4.3501+-0.0323          might be 1.0462x faster
   int-or-other-min-then-get-by-val                   4.5540+-0.3184     ?      4.5587+-0.3321        ?
   int-or-other-mod-then-get-by-val                   3.9918+-0.0814     ?      4.2338+-0.2763        ? might be 1.0606x slower
   int-or-other-mul-then-get-by-val                   4.0608+-0.1752            4.0204+-0.1237          might be 1.0100x faster
   int-or-other-neg-then-get-by-val                   5.0430+-0.2364            4.8081+-0.0107          might be 1.0489x faster
   int-or-other-neg-zero-then-get-by-val             17.6216+-0.2645     ?     17.9727+-0.3929        ? might be 1.0199x slower
   int-or-other-sub-then-get-by-val                   4.4516+-0.0919     ?      4.5013+-0.2086        ? might be 1.0112x slower
   int-or-other-sub                                   3.7262+-0.1549     ?      3.7862+-0.3329        ? might be 1.0161x slower
   int-overflow-local                                 4.6991+-0.1066     ?      5.2985+-1.8016        ? might be 1.1275x slower
   Int16Array-alloc-long-lived                       53.2579+-1.2255     ?     53.4637+-1.4634        ?
   Int16Array-bubble-sort-with-byteLength            20.8310+-1.3066           20.3810+-0.1387          might be 1.0221x faster
   Int16Array-bubble-sort                            20.9899+-1.5208     ?     21.4960+-0.4231        ? might be 1.0241x slower
   Int16Array-load-int-mul                            1.5481+-0.0248     ?      1.5492+-0.0581        ?
   Int16Array-to-Int32Array-set                      58.5953+-2.1180     !     87.0462+-2.0388        ! definitely 1.4855x slower
   Int32Array-alloc-large                            24.0928+-0.7134           23.7636+-0.8337          might be 1.0139x faster
   Int32Array-alloc-long-lived                       64.6822+-1.2487           63.9060+-1.4974          might be 1.0121x faster
   Int32Array-alloc                                   3.4528+-0.1495     ?      3.5756+-0.2745        ? might be 1.0356x slower
   Int32Array-Int8Array-view-alloc                    7.3626+-0.9694            6.6453+-0.1471          might be 1.1079x faster
   int52-spill                                        5.8572+-0.0881     !      6.6057+-0.2007        ! definitely 1.1278x slower
   Int8Array-alloc-long-lived                        47.5931+-0.9026     ?     47.8157+-1.1874        ?
   Int8Array-load-with-byteLength                     3.4464+-0.0892            3.4091+-0.0603          might be 1.0109x faster
   Int8Array-load                                     3.4590+-0.0989     ?      3.5804+-0.4295        ? might be 1.0351x slower
   integer-divide                                    11.1394+-0.2960           10.9485+-0.1081          might be 1.0174x faster
   integer-modulo                                     2.1705+-0.1468            2.1366+-0.1366          might be 1.0158x faster
   is-boolean-fold-tricky                             4.5005+-0.0733     ?      4.7784+-0.2219        ? might be 1.0618x slower
   is-boolean-fold                                    2.9912+-0.2254            2.9220+-0.0554          might be 1.0237x faster
   is-function-fold-tricky-internal-function   
                                                     11.9466+-0.1336     ?     12.4842+-0.9593        ? might be 1.0450x slower
   is-function-fold-tricky                            4.6517+-0.1944            4.6147+-0.0594        
   is-function-fold                                   2.9396+-0.0610     ?      2.9736+-0.0606        ? might be 1.0116x slower
   is-number-fold-tricky                              4.4688+-0.0638     ?      4.7042+-0.3811        ? might be 1.0527x slower
   is-number-fold                                     2.9264+-0.1368     ?      3.1362+-0.3365        ? might be 1.0717x slower
   is-object-or-null-fold-functions                   2.9731+-0.0263     ?      3.0087+-0.0577        ? might be 1.0120x slower
   is-object-or-null-fold-less-tricky                 4.9979+-0.5992            4.6989+-0.2243          might be 1.0636x faster
   is-object-or-null-fold-tricky                      6.7910+-0.2055            6.7454+-0.1395        
   is-object-or-null-fold                             2.9794+-0.1718            2.9431+-0.0445          might be 1.0123x faster
   is-object-or-null-trickier-function                4.7193+-0.2030     ?      4.7338+-0.1885        ?
   is-object-or-null-trickier-internal-function   
                                                     13.0205+-1.1077           12.7615+-0.1580          might be 1.0203x faster
   is-object-or-null-tricky-function                  4.7392+-0.1004     ?      4.7966+-0.3045        ? might be 1.0121x slower
   is-object-or-null-tricky-internal-function   
                                                      9.5158+-0.1467            9.3372+-0.1174          might be 1.0191x faster
   is-string-fold-tricky                              4.6525+-0.2771            4.5609+-0.0529          might be 1.0201x faster
   is-string-fold                                     2.9078+-0.0969     ?      3.1592+-0.3217        ? might be 1.0865x slower
   is-undefined-fold-tricky                           3.9989+-0.4170            3.8263+-0.0715          might be 1.0451x faster
   is-undefined-fold                                  3.0665+-0.4244            3.0613+-0.3426        
   large-int-captured                                 4.7270+-0.0664     ?      5.0343+-0.3677        ? might be 1.0650x slower
   large-int-neg                                     16.1226+-0.1969     ?     18.4455+-5.2215        ? might be 1.1441x slower
   large-int                                         15.6311+-1.3657           14.6141+-0.2640          might be 1.0696x faster
   load-varargs-elimination                          22.8688+-0.2632     ?     23.5152+-0.7849        ? might be 1.0283x slower
   logical-not-weird-types                            3.3622+-0.0416     ?      3.3722+-0.1416        ?
   logical-not                                        4.6353+-0.0490            4.5875+-0.0528          might be 1.0104x faster
   lots-of-fields                                    12.6048+-0.3528           12.4803+-0.2305        
   make-indexed-storage                               3.3081+-0.1141            3.2760+-0.0847        
   make-rope-cse                                     11.8657+-1.2716           11.5791+-0.9861          might be 1.0248x faster
   marsaglia-larger-ints                             36.6383+-0.9094     ?     36.9322+-0.8724        ?
   marsaglia-osr-entry                               24.8483+-3.2181           24.1886+-1.6482          might be 1.0273x faster
   math-with-out-of-bounds-array-values              24.6324+-0.2971     ?     25.6852+-1.9280        ? might be 1.0427x slower
   max-boolean                                        2.6772+-0.2922            2.6512+-0.3039        
   method-on-number                                  18.3747+-1.3804           17.7392+-0.7767          might be 1.0358x faster
   min-boolean                                        2.6519+-0.0752            2.6467+-0.2027        
   minus-boolean-double                               3.3043+-0.1456     ?      3.3566+-0.2622        ? might be 1.0158x slower
   minus-boolean                                      2.5179+-0.2882            2.4880+-0.1529          might be 1.0120x faster
   misc-strict-eq                                    40.1883+-3.4439           39.7957+-2.0677        
   mod-boolean-double                                11.0357+-0.2610     ?     11.2461+-0.4919        ? might be 1.0191x slower
   mod-boolean                                        8.0228+-0.2189            7.9757+-0.2379        
   mul-boolean-double                                 3.9513+-0.2687            3.8156+-0.0636          might be 1.0356x faster
   mul-boolean                                        3.0155+-0.0862            2.9323+-0.0505          might be 1.0283x faster
   neg-boolean                                        3.3316+-0.1652            3.2722+-0.1184          might be 1.0182x faster
   negative-zero-divide                               0.4189+-0.0607            0.4084+-0.0371          might be 1.0256x faster
   negative-zero-modulo                               0.3932+-0.0140     ?      0.4098+-0.0553        ? might be 1.0422x slower
   negative-zero-negate                               0.3679+-0.0204     ?      0.3810+-0.0613        ? might be 1.0356x slower
   nested-function-parsing                           40.9829+-2.8663           39.7147+-1.4549          might be 1.0319x faster
   new-array-buffer-dead                            116.5228+-3.5705          114.8875+-3.6648          might be 1.0142x faster
   new-array-buffer-push                              7.1389+-0.5711     ?      7.2685+-0.3968        ? might be 1.0182x slower
   new-array-dead                                    19.8783+-0.7806           19.4840+-0.4646          might be 1.0202x faster
   new-array-push                                     6.4842+-0.1715     ?      7.0729+-1.0964        ? might be 1.0908x slower
   no-inline-constructor                             41.1329+-1.1680     ?     42.3153+-1.4673        ? might be 1.0287x slower
   number-test                                        3.3175+-0.3128            3.1242+-0.0769          might be 1.0619x faster
   object-closure-call                                6.6723+-2.4675     ?      6.9599+-2.8078        ? might be 1.0431x slower
   object-test                                        2.9133+-0.0602     ?      3.0579+-0.2771        ? might be 1.0496x slower
   obvious-sink-pathology-taken                     146.2438+-7.2540          145.1579+-7.3554        
   obvious-sink-pathology                           133.9435+-2.6962     ?    134.6573+-6.6222        ?
   obviously-elidable-new-object                     36.4064+-2.0877           35.3983+-1.4125          might be 1.0285x faster
   plus-boolean-arith                                 2.5663+-0.0334     ?      2.7342+-0.3410        ? might be 1.0654x slower
   plus-boolean-double                                3.2665+-0.0768     ?      3.3694+-0.3092        ? might be 1.0315x slower
   plus-boolean                                       2.6465+-0.2831            2.5819+-0.2684          might be 1.0250x faster
   poly-chain-access-different-prototypes-simple   
                                                      3.3791+-0.1125     ?      3.4765+-0.2635        ? might be 1.0288x slower
   poly-chain-access-different-prototypes             2.8866+-0.3795            2.6135+-0.0316          might be 1.1045x faster
   poly-chain-access-simpler                          3.4803+-0.3513     ?      3.5109+-0.2623        ?
   poly-chain-access                                  2.6293+-0.0338     ?      2.6722+-0.0678        ? might be 1.0163x slower
   poly-stricteq                                     62.3378+-4.2474           61.3070+-2.8681          might be 1.0168x faster
   polymorphic-array-call                             1.5722+-0.2331     ?      1.5788+-0.1851        ?
   polymorphic-get-by-id                              3.3204+-0.2173     ?      3.3369+-0.2809        ?
   polymorphic-put-by-id                             30.4176+-2.0487     ?     33.5857+-3.0898        ? might be 1.1042x slower
   polymorphic-structure                             15.7642+-1.6749     ?     16.1063+-1.3548        ? might be 1.0217x slower
   polyvariant-monomorphic-get-by-id                  8.8915+-0.7234            8.8010+-0.2973          might be 1.0103x faster
   proto-getter-access                                9.2603+-0.1010     ?      9.4116+-0.1047        ? might be 1.0163x slower
   put-by-id-replace-and-transition                   9.9561+-0.2371     ?     10.0173+-0.5196        ?
   put-by-id-slightly-polymorphic                     3.0058+-0.3558            2.8665+-0.0209          might be 1.0486x faster
   put-by-id                                         13.1625+-0.7817           13.1198+-0.5997        
   put-by-val-direct                                  0.3978+-0.0234     ?      0.4090+-0.0201        ? might be 1.0281x slower
   put-by-val-large-index-blank-indexing-type   
                                                     12.5117+-0.8008     ?     12.5155+-1.1926        ?
   put-by-val-machine-int                             2.8490+-0.0573     ?      2.8655+-0.0459        ?
   rare-osr-exit-on-local                            15.4760+-0.7914     ?     15.6964+-0.9254        ? might be 1.0142x slower
   register-pressure-from-osr                        21.8500+-1.1353           21.4581+-0.2381          might be 1.0183x faster
   repeat-multi-get-by-offset                        26.2705+-1.5164           25.5339+-1.5595          might be 1.0289x faster
   setter-prototype                                  10.3936+-0.0765     ?     10.6021+-0.2289        ? might be 1.0201x slower
   setter                                             6.4727+-1.1381            6.1420+-0.9220          might be 1.0538x faster
   simple-activation-demo                            25.4780+-0.7757     ?     25.4843+-0.6526        ?
   simple-getter-access                              12.0555+-0.5549     ?     12.1281+-0.5233        ?
   simple-poly-call-nested                            8.4959+-0.4501     ?      8.5973+-0.5802        ? might be 1.0119x slower
   simple-poly-call                                   1.4036+-0.1996     ?      1.4580+-0.1725        ? might be 1.0388x slower
   sin-boolean                                       23.0189+-1.2927     ?     23.5117+-1.2151        ? might be 1.0214x slower
   singleton-scope                                   62.2816+-0.5644     ?     64.3267+-3.4082        ? might be 1.0328x slower
   sink-function                                     12.2345+-0.2793     ?     12.4375+-0.5234        ? might be 1.0166x slower
   sink-huge-activation                              19.5452+-0.6955           19.4954+-1.6026        
   sinkable-new-object-dag                           71.8970+-2.4000     ?     72.1729+-3.1456        ?
   sinkable-new-object-taken                         53.4487+-4.3083     ?     53.4896+-3.7812        ?
   sinkable-new-object                               41.0754+-1.8944           39.8442+-1.5570          might be 1.0309x faster
   slow-array-profile-convergence                     2.9406+-0.1362     ?      3.1369+-0.4300        ? might be 1.0668x slower
   slow-convergence                                   2.7920+-0.1450     ?      3.1395+-0.4592        ? might be 1.1245x slower
   slow-ternaries                                    19.6669+-2.5399     ?     21.3606+-2.3525        ? might be 1.0861x slower
   sorting-benchmark                                 18.8436+-0.4924           18.7901+-0.2727        
   sparse-conditional                                 1.2684+-0.1808            1.2070+-0.0547          might be 1.0508x faster
   splice-to-remove                                  16.1900+-1.7071           16.1652+-1.9601        
   string-char-code-at                               16.5265+-0.5441     ?     16.8091+-1.4586        ? might be 1.0171x slower
   string-concat-object                               2.7056+-0.1068     ?      2.7931+-0.2133        ? might be 1.0323x slower
   string-concat-pair-object                          2.7020+-0.1053            2.6384+-0.1148          might be 1.0241x faster
   string-concat-pair-simple                         12.8510+-1.6452           12.1397+-0.5975          might be 1.0586x faster
   string-concat-simple                              13.2045+-1.2903           12.7945+-1.2119          might be 1.0320x faster
   string-cons-repeat                                 8.9475+-1.0274     ?      9.0047+-1.2322        ?
   string-cons-tower                                  8.7348+-0.4938     ?      8.9245+-1.0792        ? might be 1.0217x slower
   string-equality                                   18.0052+-0.7431     ?     18.1871+-0.8178        ? might be 1.0101x slower
   string-get-by-val-big-char                         7.9296+-1.5597            7.2378+-0.0583          might be 1.0956x faster
   string-get-by-val-out-of-bounds-insane             3.7111+-0.2049            3.6165+-0.0799          might be 1.0262x faster
   string-get-by-val-out-of-bounds                    5.6405+-0.1309            5.6151+-0.1039        
   string-get-by-val                                  3.4892+-0.3435     ?      3.8206+-1.1454        ? might be 1.0950x slower
   string-hash                                        2.3642+-0.3967            2.2887+-0.2090          might be 1.0330x faster
   string-long-ident-equality                        14.8783+-0.2863           14.7138+-0.2758          might be 1.0112x faster
   string-out-of-bounds                              15.2030+-0.6894     ?     15.5404+-1.4605        ? might be 1.0222x slower
   string-repeat-arith                               35.2340+-1.8705           34.7127+-2.2871          might be 1.0150x faster
   string-sub                                        67.1257+-1.4318           66.4390+-4.4738          might be 1.0103x faster
   string-test                                        3.0470+-0.1627     ?      3.1121+-0.1076        ? might be 1.0214x slower
   string-var-equality                               32.1891+-0.4765     ?     33.4429+-1.2621        ? might be 1.0389x slower
   structure-hoist-over-transitions                   2.8652+-0.2707            2.8005+-0.2231          might be 1.0231x faster
   substring-concat-weird                            40.4087+-0.3936     ?     41.3549+-1.5362        ? might be 1.0234x slower
   substring-concat                                  43.0608+-0.6943           42.7293+-0.7460        
   substring                                         45.5489+-0.5227     ?     48.1099+-4.1626        ? might be 1.0562x slower
   switch-char-constant                               3.1151+-0.4200            3.0975+-0.4064        
   switch-char                                        7.7828+-2.8346     ?      7.7878+-2.7107        ?
   switch-constant                                    8.7140+-0.6519            8.4566+-0.1854          might be 1.0304x faster
   switch-string-basic-big-var                       18.3619+-0.2243     ?     18.8311+-0.3725        ? might be 1.0256x slower
   switch-string-basic-big                           14.8380+-0.2850     ?     15.7090+-1.1136        ? might be 1.0587x slower
   switch-string-basic-var                           15.4687+-0.5082           15.2678+-0.3530          might be 1.0132x faster
   switch-string-basic                               13.5540+-0.2108     ?     13.6899+-0.2105        ? might be 1.0100x slower
   switch-string-big-length-tower-var                20.9254+-1.1904     ?     21.0904+-1.1275        ?
   switch-string-length-tower-var                    15.8864+-0.3595     ?     16.3394+-0.7493        ? might be 1.0285x slower
   switch-string-length-tower                        13.3218+-0.1852           13.1422+-0.1413          might be 1.0137x faster
   switch-string-short                               13.4403+-0.6141           13.2874+-0.3013          might be 1.0115x faster
   switch                                            12.7922+-0.2465           12.7230+-0.1607        
   tear-off-arguments-simple                          3.6452+-0.1268     ?      3.8313+-0.4198        ? might be 1.0510x slower
   tear-off-arguments                                 5.2900+-0.7428            4.8188+-0.0460          might be 1.0978x faster
   temporal-structure                                12.2795+-0.4360     ?     12.3909+-0.3273        ?
   to-int32-boolean                                  14.1243+-1.1032     ?     14.4255+-0.5901        ? might be 1.0213x slower
   try-catch-get-by-val-cloned-arguments             15.5437+-1.2737           15.3269+-1.4182          might be 1.0141x faster
   try-catch-get-by-val-direct-arguments              6.8077+-0.1795     ?      7.3624+-1.2003        ? might be 1.0815x slower
   try-catch-get-by-val-scoped-arguments              8.2208+-1.1171            7.8603+-0.4170          might be 1.0459x faster
   typed-array-get-set-by-val-profiling              33.1695+-1.3411     ?     33.5614+-2.2356        ? might be 1.0118x slower
   undefined-property-access                        344.8654+-6.1666     ?    345.0793+-5.0147        ?
   undefined-test                                     3.1023+-0.0744     ?      3.2363+-0.3026        ? might be 1.0432x slower
   unprofiled-licm                                   23.5878+-1.6899           23.3000+-0.8779          might be 1.0124x faster
   varargs-call                                      14.9572+-0.2133     ?     15.4218+-0.6636        ? might be 1.0311x slower
   varargs-construct-inline                          28.0513+-0.4670     ?     28.5467+-1.0283        ? might be 1.0177x slower
   varargs-construct                                 23.1161+-0.9771           22.9963+-0.6595        
   varargs-inline                                     9.4993+-0.2461     ?      9.7183+-0.4031        ? might be 1.0231x slower
   varargs-strict-mode                               10.3865+-0.4436           10.3680+-0.6278        
   varargs                                           10.2161+-0.3311           10.1215+-0.1238        
   weird-inlining-const-prop                          3.4757+-0.2676            3.3995+-0.3688          might be 1.0224x faster

   <geometric>                                        9.0072+-0.0414     ?      9.0500+-0.0258        ? might be 1.0047x slower

                                                        TipOfTree               DoubleRealUse                                   
AsmBench:
   bigfib.cpp                                       527.3094+-43.0637         500.3729+-0.9951          might be 1.0538x faster
   cray.c                                           434.0237+-5.9763          427.9939+-4.5663          might be 1.0141x faster
   dry.c                                            489.8357+-6.7331     ?    497.7663+-29.8481       ? might be 1.0162x slower
   FloatMM.c                                        733.1705+-12.7840    ?    744.6158+-36.3405       ? might be 1.0156x slower
   gcc-loops.cpp                                   4298.8606+-33.0480    ?   4379.6672+-235.0977      ? might be 1.0188x slower
   n-body.c                                        1027.0808+-74.1027        1005.6156+-51.8324         might be 1.0213x faster
   Quicksort.c                                      429.9165+-21.9303         421.4313+-5.3643          might be 1.0201x faster
   stepanov_container.cpp                          3629.3052+-12.1689    ?   3648.4669+-21.5411       ?
   Towers.c                                         265.9443+-7.6005          265.3615+-9.2464        

   <geometric>                                      809.8567+-14.0131         805.0211+-5.7733          might be 1.0060x faster

                                                        TipOfTree               DoubleRealUse                                   
CompressionBench:
   huffman                                          379.4922+-13.7496    ?    380.0467+-2.1474        ?
   arithmetic-simple                                371.0971+-6.6682          370.0134+-3.8310        
   arithmetic-precise                               283.1228+-3.1358     ?    285.7389+-10.3425       ?
   arithmetic-complex-precise                       288.9532+-6.6155          283.2126+-3.6934          might be 1.0203x faster
   arithmetic-precise-order-0                       390.1610+-19.3233         380.7223+-5.7522          might be 1.0248x faster
   arithmetic-precise-order-1                       335.6155+-5.8232          332.9047+-5.6272        
   arithmetic-precise-order-2                       371.9170+-7.0694     ?    374.6683+-14.0849       ?
   arithmetic-simple-order-1                        446.9975+-34.3723         425.2524+-3.4415          might be 1.0511x faster
   arithmetic-simple-order-2                        478.2733+-9.3357     ?    489.0075+-38.7198       ? might be 1.0224x slower
   lz-string                                        314.5315+-5.5190     ?    326.9615+-18.4241       ? might be 1.0395x slower

   <geometric>                                      360.9749+-1.4394          360.0230+-3.7051          might be 1.0026x faster

                                                        TipOfTree               DoubleRealUse                                   
Geomean of preferred means:
   <scaled-result>                                   63.4921+-0.2623     ^     62.9351+-0.2809        ^ definitely 1.0089x faster
Comment 5 Filip Pizlo 2015-06-03 23:25:16 PDT
Created attachment 254252 [details]
the best approach
Comment 6 WebKit Commit Bot 2015-06-03 23:26:42 PDT
Attachment 254252 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:2099:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 7 Filip Pizlo 2015-06-04 13:06:00 PDT
(In reply to comment #6)
> Attachment 254252 [details] did not pass style-queue:
> 
> 
> ERROR: Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:2099:  When wrapping
> a line, only indent 4 spaces.  [whitespace/indent] [3]
> Total errors found: 1 in 16 files
> 
> 
> If any of these errors are false positives, please file a bug against
> check-webkit-style.

Fixed.
Comment 8 Geoffrey Garen 2015-06-04 13:32:52 PDT
Comment on attachment 254252 [details]
the best approach

r=me
Comment 9 Filip Pizlo 2015-06-04 13:53:46 PDT
Landed in http://trac.webkit.org/changeset/185216
Comment 10 WebKit Commit Bot 2015-06-04 15:07:46 PDT
Re-opened since this is blocked by bug 145666
Comment 11 Filip Pizlo 2015-06-04 20:53:04 PDT
(In reply to comment #10)
> Re-opened since this is blocked by bug 145666

Looks like it was an incorrect JIT assertion.  Removing the assertion is the right fix.  I'll reland shortly.
Comment 12 Filip Pizlo 2015-06-04 21:12:37 PDT
Created attachment 254338 [details]
patch for relanding
Comment 13 Filip Pizlo 2015-06-04 22:00:10 PDT
Relanded in http://trac.webkit.org/changeset/185239