Bug 149727

Summary: CodeBlock should be a GC object
Product: WebKit Reporter: Geoffrey Garen <ggaren>
Component: New BugsAssignee: Geoffrey Garen <ggaren>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, fpizlo
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 149787, 149833, 150330    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch
none
Patch fpizlo: review+

Description Geoffrey Garen 2015-10-01 15:20:47 PDT
CodeBlock should be a GC object
Comment 1 Geoffrey Garen 2015-10-01 16:04:10 PDT
Created attachment 262294 [details]
Patch
Comment 2 Geoffrey Garen 2015-10-01 16:48:55 PDT
Benchmarks look OK:

run-jsc-benchmarks Baseline:/Volumes/Big/ggaren/OpenSource/WebKitBuild/Release/jsc Patch:/Volumes/Big/ggaren/OpenSource/WebKitBuildPatch/Release/jsc 
Warning: could not identify checkout location for Patch
Warning: refusing to run JSBench because not all VMs are DumpRenderTree or WebKitTestRunner.
Warning: refusing to run DSPJS because not all VMs are DumpRenderTree or WebKitTestRunner.
3948/3948                                                                                          
Generating benchmark report at /Volumes/Big/ggaren/Internal/Baseline_Patch_SunSpiderLongSpiderV8SpiderOctaneKrakenJSRegressAsmBenchCompressionBench_Geoffrey-Garens-Mac-Pro_20151001_1640_report.txt
And raw data at /Volumes/Big/ggaren/Internal/Baseline_Patch_SunSpiderLongSpiderV8SpiderOctaneKrakenJSRegressAsmBenchCompressionBench_Geoffrey-Garens-Mac-Pro_20151001_1640.json

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

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

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

                                                         Baseline                   Patch                                       
SunSpider:
   3d-cube                                            6.2775+-0.6658     ?      6.6718+-0.3185        ? might be 1.0628x slower
   3d-morph                                           6.2292+-0.1433     ?      6.4460+-0.3614        ? might be 1.0348x slower
   3d-raytrace                                        7.2800+-0.4161            7.2350+-0.2133        
   access-binary-trees                                2.5983+-0.1434     ?      2.6292+-0.1733        ? might be 1.0119x slower
   access-fannkuch                                    6.6703+-0.1317            6.6089+-0.0412        
   access-nbody                                       3.3793+-0.1078            3.3207+-0.0091          might be 1.0176x faster
   access-nsieve                                      3.9557+-0.3044     ?      3.9872+-0.3769        ?
   bitops-3bit-bits-in-byte                           1.5576+-0.0900            1.5324+-0.0744          might be 1.0164x faster
   bitops-bits-in-byte                                3.9058+-0.0811            3.8419+-0.0802          might be 1.0166x faster
   bitops-bitwise-and                                 2.3977+-0.0774            2.3818+-0.0857        
   bitops-nsieve-bits                                 3.6783+-0.1034            3.5031+-0.1396          might be 1.0500x faster
   controlflow-recursive                              2.8870+-0.1098     ?      2.9120+-0.1326        ?
   crypto-aes                                         5.4173+-1.0386            5.1162+-0.1883          might be 1.0588x faster
   crypto-md5                                         3.1253+-0.0389     ?      3.2016+-0.3115        ? might be 1.0244x slower
   crypto-sha1                                        3.0265+-0.1650            3.0228+-0.0416        
   date-format-tofte                                 10.5389+-0.6195           10.4158+-0.7515          might be 1.0118x faster
   date-format-xparb                                  6.0970+-0.4158            5.8134+-0.1323          might be 1.0488x faster
   math-cordic                                        3.5930+-0.3153            3.5089+-0.1404          might be 1.0240x faster
   math-partial-sums                                  6.1198+-0.1500     ?      6.2035+-0.2915        ? might be 1.0137x slower
   math-spectral-norm                                 2.4244+-0.0473            2.3832+-0.0182          might be 1.0173x faster
   regexp-dna                                         7.4500+-0.3044     ?      7.6661+-0.2346        ? might be 1.0290x slower
   string-base64                                      5.1160+-0.1801            5.1045+-0.0293        
   string-fasta                                       6.9515+-0.0521            6.8380+-0.1036          might be 1.0166x faster
   string-tagcloud                                    9.4554+-0.0829     ?      9.5539+-0.3251        ? might be 1.0104x slower
   string-unpack-code                                21.2407+-0.2838     ?     22.1588+-1.3699        ? might be 1.0432x slower
   string-validate-input                              5.3421+-0.1343     ?      5.3810+-0.1155        ?

   <arithmetic>                                       5.6429+-0.0453     ?      5.6707+-0.0584        ? might be 1.0049x slower

                                                         Baseline                   Patch                                       
LongSpider:
   3d-cube                                          948.3625+-13.8982         944.1458+-10.2508       
   3d-morph                                        1628.0513+-7.4887         1623.2674+-3.8745        
   3d-raytrace                                      773.3165+-71.8734         719.7407+-1.4449          might be 1.0744x faster
   access-binary-trees                              988.1111+-7.6847          983.3155+-0.5521        
   access-fannkuch                                  348.3901+-12.1349    ?    350.0629+-4.2421        ?
   access-nbody                                     632.0286+-6.1687          629.1475+-1.3202        
   access-nsieve                                    460.5578+-12.2511         460.3912+-3.8565        
   bitops-3bit-bits-in-byte                          41.9998+-0.7420           41.4489+-0.5389          might be 1.0133x faster
   bitops-bits-in-byte                               92.6965+-2.0083     ?     93.2070+-0.8472        ?
   bitops-nsieve-bits                               460.9541+-5.6460     ?    461.7214+-5.9042        ?
   controlflow-recursive                            486.7307+-3.6640     ?    487.6119+-2.2240        ?
   crypto-aes                                       680.4395+-13.9022    ^    650.7342+-4.6876        ^ definitely 1.0456x faster
   crypto-md5                                       551.8985+-8.6245          550.4079+-8.8076        
   crypto-sha1                                      756.5427+-3.5392          752.5689+-6.1289        
   date-format-tofte                                782.6442+-55.9452         768.5128+-7.2915          might be 1.0184x faster
   date-format-xparb                                840.6130+-27.2268         829.2029+-35.0939         might be 1.0138x faster
   hash-map                                         169.8828+-2.7372     ?    170.4758+-1.6566        ?
   math-cordic                                      566.3165+-0.4820     ?    569.5576+-4.9034        ?
   math-partial-sums                                639.4128+-2.0071     ?    641.3423+-7.7284        ?
   math-spectral-norm                               598.8356+-3.4151          598.8104+-5.2283        
   string-base64                                    427.4105+-6.1631     ?    430.2979+-1.8262        ?
   string-fasta                                     424.4388+-1.9554     ?    427.7232+-9.2031        ?
   string-tagcloud                                  207.6817+-1.4614     ?    208.2306+-1.7075        ?

   <geometric>                                      468.7643+-1.8698     ^    465.8888+-0.9803        ^ definitely 1.0062x faster

                                                         Baseline                   Patch                                       
V8Spider:
   crypto                                            57.0146+-0.4686     ?     57.8770+-0.5577        ? might be 1.0151x slower
   deltablue                                         71.4997+-2.9909           70.4665+-3.5836          might be 1.0147x faster
   earley-boyer                                      50.0605+-1.5916           50.0333+-0.9189        
   raytrace                                          34.0609+-0.9655     ?     34.2090+-0.1717        ?
   regexp                                            77.6383+-0.7919           77.6210+-0.7429        
   richards                                          61.2618+-1.0464           60.3810+-0.8346          might be 1.0146x faster
   splay                                             40.7216+-1.2915           40.5608+-0.4406        

   <geometric>                                       54.0368+-0.3378           53.9279+-0.5044          might be 1.0020x faster

                                                         Baseline                   Patch                                       
Octane:
   encrypt                                           0.22037+-0.00439    ?     0.22400+-0.00852       ? might be 1.0165x slower
   decrypt                                           4.33034+-0.47076          4.15242+-0.01362         might be 1.0428x faster
   deltablue                                x2       0.16550+-0.00305          0.16437+-0.00274       
   earley                                            0.37378+-0.00546    ^     0.36613+-0.00171       ^ definitely 1.0209x faster
   boyer                                             5.56604+-0.04213    ^     5.45847+-0.02093       ^ definitely 1.0197x faster
   navier-stokes                            x2       5.46657+-0.02092          5.45423+-0.00835       
   raytrace                                 x2       1.08186+-0.01591          1.06843+-0.01098         might be 1.0126x faster
   richards                                 x2       0.10801+-0.00174    ?     0.10938+-0.00248       ? might be 1.0127x slower
   splay                                    x2       0.38683+-0.00443    ?     0.38724+-0.00285       ?
   regexp                                   x2      28.57546+-0.20305    ?    28.92783+-1.11953       ? might be 1.0123x slower
   pdfjs                                    x2      46.03756+-2.45630         44.63738+-0.07623         might be 1.0314x faster
   mandreel                                 x2      51.10060+-0.35287         51.01117+-0.23256       
   gbemu                                    x2      43.73183+-7.05689    ?    46.40739+-6.42973       ? might be 1.0612x slower
   closure                                           0.77541+-0.00204          0.77453+-0.00585       
   jquery                                            9.75749+-0.07167    ?     9.79004+-0.08582       ?
   box2d                                    x2      12.48350+-0.34167         12.44566+-0.21394       
   zlib                                     x2     428.84007+-31.77498   ?   439.66968+-2.31609       ? might be 1.0253x slower
   typescript                               x2     900.32397+-6.10328    ?   903.39825+-8.27794       ?

   <geometric>                                       6.65671+-0.08755    ?     6.66876+-0.07193       ? might be 1.0018x slower

                                                         Baseline                   Patch                                       
Kraken:
   ai-astar                                          159.984+-3.475      ?     160.918+-1.575         ?
   audio-beat-detection                               60.006+-0.794             59.168+-0.504           might be 1.0142x faster
   audio-dft                                         112.328+-1.745      ?     112.353+-1.104         ?
   audio-fft                                          43.607+-1.899      ?      44.047+-2.077         ? might be 1.0101x slower
   audio-oscillator                                   71.248+-0.285             71.244+-0.543         
   imaging-darkroom                                   74.616+-2.073             74.014+-0.848         
   imaging-desaturate                                 64.239+-1.285      ?      64.284+-1.136         ?
   imaging-gaussian-blur                             111.102+-1.615      ?     111.947+-3.814         ?
   json-parse-financial                               49.308+-1.124             49.159+-0.891         
   json-stringify-tinderbox                           29.447+-0.739      ?      29.709+-1.528         ?
   stanford-crypto-aes                                49.333+-1.887             48.796+-0.585           might be 1.0110x faster
   stanford-crypto-ccm                                46.722+-3.919             45.874+-2.260           might be 1.0185x faster
   stanford-crypto-pbkdf2                            109.380+-1.701      ?     109.404+-1.647         ?
   stanford-crypto-sha256-iterative                   43.696+-0.738      ?      44.004+-0.888         ?

   <arithmetic>                                       73.215+-0.437             73.209+-0.219           might be 1.0001x faster

                                                         Baseline                   Patch                                       
JSRegress:
   abc-forward-loop-equal                            48.1733+-0.4926     ?     48.7878+-1.5210        ? might be 1.0128x slower
   abc-postfix-backward-loop                         47.9703+-0.4161     ?     48.3788+-1.3465        ?
   abc-simple-backward-loop                          47.8145+-0.8021           47.6791+-0.5479        
   abc-simple-forward-loop                           48.0798+-0.4844     ?     48.0970+-0.5836        ?
   abc-skippy-loop                                   32.6957+-0.2193           32.5074+-0.1606        
   abs-boolean                                        2.9739+-0.0573     ?      2.9952+-0.1551        ?
   adapt-to-double-divide                            17.3635+-1.1897           17.0334+-0.7849          might be 1.0194x faster
   aliased-arguments-getbyval                         1.7083+-0.2548            1.5604+-0.2320          might be 1.0948x faster
   allocate-big-object                                2.6533+-0.1656     ?      2.7122+-0.1985        ? might be 1.0222x slower
   arguments-named-and-reflective                    10.9133+-0.3780           10.6337+-0.1584          might be 1.0263x faster
   arguments-out-of-bounds                           12.4462+-1.2316           12.3610+-0.5051        
   arguments-strict-mode                             10.0086+-0.5863            9.5724+-0.4820          might be 1.0456x faster
   arguments                                          8.8206+-0.3116            8.7220+-0.1344          might be 1.0113x faster
   arity-mismatch-inlining                            1.1892+-0.1243     ?      1.2205+-0.0488        ? might be 1.0263x slower
   array-access-polymorphic-structure                 7.9275+-0.1478     ?      8.3730+-0.9020        ? might be 1.0562x slower
   array-nonarray-polymorhpic-access                 30.6650+-1.3383     ?     31.1246+-2.1783        ? might be 1.0150x slower
   array-prototype-every                             87.2010+-0.8399     ?     93.4383+-7.6904        ? might be 1.0715x slower
   array-prototype-forEach                           86.4586+-0.8569           85.6453+-0.3606        
   array-prototype-map                               93.1442+-2.3679     ?     94.6332+-0.4690        ? might be 1.0160x slower
   array-prototype-reduce                            83.7321+-1.9393     ?     84.4662+-0.6559        ?
   array-prototype-reduceRight                       85.0991+-3.1277     ?     85.2499+-0.5081        ?
   array-prototype-some                              88.1509+-1.9254     ?     90.6353+-1.0435        ? might be 1.0282x slower
   array-splice-contiguous                           27.2108+-0.3130     ?     27.7177+-0.7004        ? might be 1.0186x slower
   array-with-double-add                              4.5692+-0.2973            4.5274+-0.1875        
   array-with-double-increment                        3.6255+-0.0507     ?      3.7270+-0.0947        ? might be 1.0280x slower
   array-with-double-mul-add                          5.5490+-0.2544            5.5093+-0.1212        
   array-with-double-sum                              3.5972+-0.0184            3.5707+-0.0152        
   array-with-int32-add-sub                           7.6524+-0.4104            7.4103+-0.0870          might be 1.0327x faster
   array-with-int32-or-double-sum                     3.8345+-0.1366            3.7272+-0.0571          might be 1.0288x faster
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     32.0910+-0.2078     ?     32.3872+-0.4593        ?
   ArrayBuffer-DataView-alloc-long-lived             14.5005+-3.4044           13.8412+-0.4817          might be 1.0476x faster
   ArrayBuffer-Int32Array-byteOffset                  4.1541+-0.0608     ?      4.3722+-0.2773        ? might be 1.0525x slower
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     33.4500+-0.5850     ?     33.5640+-0.6694        ?
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     23.7939+-1.7872           22.4623+-0.9132          might be 1.0593x faster
   ArrayBuffer-Int8Array-alloc-long-lived            12.8217+-0.3537           12.6960+-0.2193        
   ArrayBuffer-Int8Array-alloc                       10.7596+-0.6363           10.7522+-0.2174        
   arrowfunction-call                                12.0214+-0.1199           11.9208+-0.2906        
   asmjs_bool_bug                                     8.6949+-0.3553            8.4747+-0.2221          might be 1.0260x faster
   assign-custom-setter-polymorphic                   3.4813+-0.2698     ?      3.5767+-0.5957        ? might be 1.0274x slower
   assign-custom-setter                               4.6575+-0.1976            4.5845+-0.0379          might be 1.0159x faster
   basic-set                                          9.1254+-0.3331            8.8819+-0.0677          might be 1.0274x faster
   big-int-mul                                        4.3792+-0.2199     ?      4.3819+-0.0596        ?
   boolean-test                                       3.4435+-0.0177     ?      3.5067+-0.1037        ? might be 1.0184x slower
   branch-fold                                        4.3670+-0.1344            4.1900+-0.1472          might be 1.0422x faster
   branch-on-string-as-boolean                       19.1403+-1.7936           18.4481+-0.3871          might be 1.0375x faster
   by-val-generic                                     2.9229+-0.1270            2.8683+-0.0889          might be 1.0190x faster
   call-spread-apply                                 32.6611+-0.6974     ?     32.9019+-1.2012        ?
   call-spread-call                                  25.4805+-0.5182     ?     25.6363+-0.3659        ?
   captured-assignments                               0.6873+-0.0474     ?      0.7053+-0.0064        ? might be 1.0261x slower
   cast-int-to-double                                 5.8935+-0.1194            5.8691+-0.0474        
   cell-argument                                      5.9977+-0.3833     ?      6.1124+-0.1758        ? might be 1.0191x slower
   cfg-simplify                                       3.1687+-0.0804            3.1218+-0.1131          might be 1.0150x faster
   chain-getter-access                                8.4382+-0.2739     ?      8.4410+-0.3506        ?
   cmpeq-obj-to-obj-other                            11.1719+-0.3460           11.0258+-0.0964          might be 1.0133x faster
   constant-test                                      5.5448+-0.1586            5.5101+-0.1361        
   create-lots-of-functions                          11.4666+-0.4398           11.0992+-0.2015          might be 1.0331x faster
   cse-new-array-buffer                               2.6579+-0.0796     ?      2.7902+-0.2243        ? might be 1.0498x slower
   cse-new-array                                      2.8026+-0.1279            2.7898+-0.1531        
   DataView-custom-properties                        40.6091+-1.3160     ^     38.1100+-0.5163        ^ definitely 1.0656x faster
   delay-tear-off-arguments-strictmode               14.6218+-0.4614           14.5753+-0.2446        
   deltablue-varargs                                231.1998+-7.0987          226.8958+-1.5291          might be 1.0190x faster
   destructuring-arguments                          189.0722+-1.8193     ?    192.9101+-9.8065        ? might be 1.0203x slower
   destructuring-parameters-overridden-by-function   
                                                      0.7294+-0.0354            0.7258+-0.0474        
   destructuring-swap                                 5.5851+-0.0975     ?      5.6238+-0.1012        ?
   direct-arguments-getbyval                          1.7508+-0.3019            1.4681+-0.0560          might be 1.1925x faster
   div-boolean-double                                 5.6905+-0.1159            5.6456+-0.0850        
   div-boolean                                        8.3577+-0.1022     ?      8.4834+-0.2970        ? might be 1.0150x slower
   double-get-by-val-out-of-bounds                    4.9658+-0.0867            4.9378+-0.3427        
   double-pollution-getbyval                          9.4207+-0.0747            9.4014+-0.1012        
   double-pollution-putbyoffset                       4.4037+-0.0208     ^      4.2715+-0.0572        ^ definitely 1.0309x faster
   double-real-use                                   30.8337+-0.5315           30.6395+-1.6630        
   double-to-int32-typed-array-no-inline              2.8370+-0.0428            2.8033+-0.0946          might be 1.0120x faster
   double-to-int32-typed-array                        2.6077+-0.1664            2.5234+-0.0382          might be 1.0334x faster
   double-to-uint32-typed-array-no-inline             2.8784+-0.0729            2.8043+-0.0216          might be 1.0264x faster
   double-to-uint32-typed-array                       2.5862+-0.0695            2.5485+-0.0677          might be 1.0148x faster
   elidable-new-object-dag                           39.8198+-1.0480           38.9198+-0.4754          might be 1.0231x faster
   elidable-new-object-roflcopter                    41.0151+-1.5438           39.9480+-0.2980          might be 1.0267x faster
   elidable-new-object-then-call                     33.5905+-3.4938           33.3638+-4.0954        
   elidable-new-object-tree                          43.0714+-1.3020     ?     43.6625+-1.9087        ? might be 1.0137x slower
   empty-string-plus-int                              5.6854+-0.2432            5.5699+-0.1672          might be 1.0207x faster
   emscripten-cube2hash                              40.8975+-1.3796     ?     40.9839+-0.6547        ?
   exit-length-on-plain-object                       17.4870+-0.9204     ?     17.5261+-0.6574        ?
   external-arguments-getbyval                        1.6404+-0.1453            1.6008+-0.1066          might be 1.0248x faster
   external-arguments-putbyval                        2.6304+-0.1110     ?      2.6577+-0.0898        ? might be 1.0104x slower
   fixed-typed-array-storage-var-index                1.5897+-0.0173     ?      1.6036+-0.0533        ?
   fixed-typed-array-storage                          1.2556+-0.1097            1.2228+-0.0407          might be 1.0268x faster
   Float32Array-matrix-mult                           5.0836+-0.0346     ?      5.1345+-0.0482        ? might be 1.0100x slower
   Float32Array-to-Float64Array-set                  57.3684+-0.6058     !     60.5980+-0.7180        ! definitely 1.0563x slower
   Float64Array-alloc-long-lived                     70.6350+-0.6985     ?     71.1781+-0.8354        ?
   Float64Array-to-Int16Array-set                    71.8549+-0.2512     ?     72.6398+-1.7540        ? might be 1.0109x slower
   fold-double-to-int                                15.0590+-0.5880           14.9340+-0.3413        
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     10.7706+-0.5512     ?     10.8872+-0.5820        ? might be 1.0108x slower
   fold-get-by-id-to-multi-get-by-offset              9.4288+-0.3968     ?      9.5638+-0.5277        ? might be 1.0143x slower
   fold-multi-get-by-offset-to-get-by-offset   
                                                      7.6718+-0.8182            7.5687+-0.6005          might be 1.0136x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      8.5100+-0.6571     ?      8.6046+-0.5643        ? might be 1.0111x slower
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      9.8730+-0.6451     ?     10.1043+-0.6111        ? might be 1.0234x slower
   fold-multi-put-by-offset-to-put-by-offset   
                                                      9.1805+-0.5109     ?      9.5077+-0.4611        ? might be 1.0356x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     13.4647+-0.1585     ?     13.8892+-0.3579        ? might be 1.0315x slower
   fold-put-by-id-to-multi-put-by-offset             11.2620+-1.0325     ?     11.5337+-1.2385        ? might be 1.0241x slower
   fold-put-by-val-with-string-to-multi-put-by-offset   
                                                     11.1223+-1.0524     ?     11.4032+-1.1020        ? might be 1.0253x slower
   fold-put-by-val-with-symbol-to-multi-put-by-offset   
                                                     10.8582+-0.1088     ?     11.4390+-0.8248        ? might be 1.0535x slower
   fold-put-structure                                 7.8221+-0.4016     ?      7.8715+-0.1544        ?
   for-of-iterate-array-entries                      13.1499+-0.9729           12.9807+-1.0764          might be 1.0130x faster
   for-of-iterate-array-keys                          4.3878+-0.3332     ?      4.4071+-0.1268        ?
   for-of-iterate-array-values                        4.3165+-0.0875     ?      4.3667+-0.4943        ? might be 1.0116x slower
   fround                                            17.6073+-1.8887           16.9951+-0.3310          might be 1.0360x faster
   ftl-library-inlining-dataview                     74.0976+-18.6857          68.9834+-1.3709          might be 1.0741x faster
   ftl-library-inlining                             101.0350+-25.1238          88.8249+-19.9473         might be 1.1375x faster
   function-call                                     12.2509+-0.5516           12.1013+-0.3341          might be 1.0124x faster
   function-dot-apply                                 2.6177+-0.0380            2.6068+-0.0182        
   function-test                                      3.2160+-0.0971     ?      3.2610+-0.1941        ? might be 1.0140x slower
   function-with-eval                               113.0654+-4.7362     ?    113.3085+-1.1645        ?
   gcse-poly-get-less-obvious                        23.1465+-1.6000           22.6228+-0.7624          might be 1.0232x faster
   gcse-poly-get                                     27.8394+-4.3654     ?     29.0240+-1.0284        ? might be 1.0426x slower
   gcse                                               4.4309+-0.0281     ?      4.4918+-0.1193        ? might be 1.0137x slower
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      3.0710+-0.2262            3.0101+-0.0826          might be 1.0202x faster
   get-by-id-bimorphic-check-structure-elimination   
                                                      5.7551+-0.1910     ?      5.7927+-0.1764        ?
   get-by-id-chain-from-try-block                     2.8081+-0.0456            2.7988+-0.1075        
   get-by-id-check-structure-elimination              4.9641+-0.0840     ?      5.0078+-0.0852        ?
   get-by-id-proto-or-self                           16.3629+-1.0311     ?     17.6642+-3.0419        ? might be 1.0795x slower
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.3820+-0.1570            3.2900+-0.0607          might be 1.0280x faster
   get-by-id-self-or-proto                           16.8414+-0.4407     ?     18.3796+-4.4423        ? might be 1.0913x slower
   get-by-val-out-of-bounds                           4.6690+-0.0618     ?      4.7620+-0.1044        ? might be 1.0199x slower
   get-by-val-with-string-bimorphic-check-structure-elimination-simple   
                                                      2.9868+-0.0800     ?      3.0220+-0.1174        ? might be 1.0118x slower
   get-by-val-with-string-bimorphic-check-structure-elimination   
                                                      7.3748+-0.1818     ?      7.5499+-0.3200        ? might be 1.0237x slower
   get-by-val-with-string-chain-from-try-block   
                                                      2.8719+-0.0624     ?      2.8907+-0.1205        ?
   get-by-val-with-string-check-structure-elimination   
                                                      6.5715+-0.1745     ?      6.5869+-0.2268        ?
   get-by-val-with-string-proto-or-self              19.3578+-3.2927           18.6616+-2.7892          might be 1.0373x faster
   get-by-val-with-string-quadmorphic-check-structure-elimination-simple   
                                                      3.9891+-0.2579     ?      4.1105+-0.1186        ? might be 1.0304x slower
   get-by-val-with-string-self-or-proto              18.6765+-2.8683     ?     18.7079+-2.4331        ?
   get-by-val-with-symbol-bimorphic-check-structure-elimination-simple   
                                                      3.5598+-0.2169            3.4992+-0.1665          might be 1.0173x faster
   get-by-val-with-symbol-bimorphic-check-structure-elimination   
                                                     14.5895+-0.3105     ?     14.6263+-0.2543        ?
   get-by-val-with-symbol-chain-from-try-block   
                                                      2.8580+-0.0468     ?      2.8813+-0.1028        ?
   get-by-val-with-symbol-check-structure-elimination   
                                                     14.0130+-0.1706           13.8557+-0.3917          might be 1.0114x faster
   get-by-val-with-symbol-proto-or-self              17.9388+-0.4404     ?     18.3973+-3.4096        ? might be 1.0256x slower
   get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple   
                                                      4.9681+-0.3309            4.8842+-0.0808          might be 1.0172x faster
   get-by-val-with-symbol-self-or-proto              17.3745+-0.9643     ?     19.0208+-5.0599        ? might be 1.0948x slower
   get_callee_monomorphic                             2.7202+-0.2092            2.6450+-0.1386          might be 1.0284x faster
   get_callee_polymorphic                             3.9697+-0.4307            3.7609+-0.1784          might be 1.0555x faster
   getter-no-activation                               5.5602+-0.0631            5.5165+-0.0829        
   getter-prototype                                  10.0860+-0.5865            9.8423+-0.2959          might be 1.0248x faster
   getter-richards-try-catch                       1420.2113+-140.5817   ?   1433.8635+-113.4307      ?
   getter-richards                                  102.8771+-1.6570     ?    104.5715+-1.6591        ? might be 1.0165x slower
   getter                                             5.9479+-0.2688            5.8848+-0.1876          might be 1.0107x faster
   global-object-access-with-mutating-structure   
                                                      6.3317+-0.8154            5.9788+-0.3103          might be 1.0590x faster
   global-var-const-infer-fire-from-opt               1.1012+-0.0845            1.0978+-0.1270        
   global-var-const-infer                             0.9508+-0.0409            0.9379+-0.0319          might be 1.0137x faster
   hard-overflow-check-equal                         39.3887+-1.0199     ?     39.5241+-1.5366        ?
   hard-overflow-check                               38.9210+-0.8184     ?     40.0735+-2.4994        ? might be 1.0296x slower
   HashMap-put-get-iterate-keys                      27.4227+-0.5085     ?     27.5373+-0.5172        ?
   HashMap-put-get-iterate                           27.1481+-0.4710     ?     27.5204+-0.2400        ? might be 1.0137x slower
   HashMap-string-put-get-iterate                    28.1971+-1.0168     ?     28.5444+-0.8563        ? might be 1.0123x slower
   hoist-make-rope                                    9.4725+-1.2084     ?      9.6578+-0.1961        ? might be 1.0196x slower
   hoist-poly-check-structure-effectful-loop   
                                                      4.7891+-0.1600     ?      4.8118+-0.2829        ?
   hoist-poly-check-structure                         3.6920+-0.1596            3.6724+-0.0623        
   imul-double-only                                   6.4787+-0.2838     ?      6.7125+-0.3011        ? might be 1.0361x slower
   imul-int-only                                      7.4832+-0.1425     ?      7.5290+-0.1488        ?
   imul-mixed                                         6.4537+-0.7148     ?      6.7351+-0.1916        ? might be 1.0436x slower
   in-four-cases                                     22.0339+-0.2935           21.7369+-0.5022          might be 1.0137x faster
   in-one-case-false                                 12.3439+-0.4061           11.9678+-0.1330          might be 1.0314x faster
   in-one-case-true                                  12.1947+-0.4155           12.1324+-0.3282        
   in-two-cases                                      13.0428+-0.3823           12.9090+-0.1107          might be 1.0104x faster
   indexed-properties-in-objects                      3.3034+-0.1726            3.2601+-0.0902          might be 1.0133x faster
   infer-closure-const-then-mov-no-inline             4.3718+-0.0822     ?      4.3849+-0.0703        ?
   infer-closure-const-then-mov                      18.1365+-0.5030           18.1300+-0.4558        
   infer-closure-const-then-put-to-scope-no-inline   
                                                     14.0488+-0.7051           13.9247+-0.3924        
   infer-closure-const-then-put-to-scope             23.6790+-0.9061     ?     24.2090+-0.7551        ? might be 1.0224x slower
   infer-closure-const-then-reenter-no-inline   
                                                     59.8206+-0.9234     ?     60.5299+-0.7635        ? might be 1.0119x slower
   infer-closure-const-then-reenter                  24.7228+-0.9482           24.5040+-1.1792        
   infer-constant-global-property                     3.9000+-0.0829     ?      3.9718+-0.1826        ? might be 1.0184x slower
   infer-constant-property                            3.0505+-0.1302     ?      3.0654+-0.1384        ?
   infer-one-time-closure-ten-vars                   10.0125+-0.6495            9.7241+-0.1060          might be 1.0297x faster
   infer-one-time-closure-two-vars                    9.2574+-0.4412            9.0445+-0.4466          might be 1.0235x faster
   infer-one-time-closure                             9.3733+-0.7991            9.2332+-0.3218          might be 1.0152x faster
   infer-one-time-deep-closure                       15.5809+-0.7410           15.5396+-0.2505        
   inline-arguments-access                            4.2664+-0.2417     ?      4.2964+-0.1481        ?
   inline-arguments-aliased-access                    4.1955+-0.0324     ?      4.4154+-0.2295        ? might be 1.0524x slower
   inline-arguments-local-escape                      4.2670+-0.1303            4.2104+-0.0300          might be 1.0134x faster
   inline-get-scoped-var                              5.5340+-0.0734            5.4921+-0.0521        
   inlined-put-by-id-transition                      11.3721+-0.3493           11.1802+-0.3768          might be 1.0172x faster
   inlined-put-by-val-with-string-transition   
                                                     49.7865+-2.0319           49.4579+-0.7860        
   inlined-put-by-val-with-symbol-transition   
                                                     51.8088+-2.1815           49.9350+-1.2345          might be 1.0375x faster
   int-or-other-abs-then-get-by-val                   5.2753+-0.1442     ?      5.2773+-0.1477        ?
   int-or-other-abs-zero-then-get-by-val             18.0059+-0.7014           17.7626+-0.4369          might be 1.0137x faster
   int-or-other-add-then-get-by-val                   4.8860+-0.0581            4.8213+-0.0656          might be 1.0134x faster
   int-or-other-add                                   5.8468+-0.0453     ?      5.9508+-0.3031        ? might be 1.0178x slower
   int-or-other-div-then-get-by-val                   4.7253+-0.3506            4.5945+-0.2934          might be 1.0285x faster
   int-or-other-max-then-get-by-val                   4.7632+-0.0523     ?      4.7838+-0.1696        ?
   int-or-other-min-then-get-by-val                   4.6495+-0.0999     ?      4.6849+-0.2136        ?
   int-or-other-mod-then-get-by-val                   4.1353+-0.1535     ?      4.1578+-0.1290        ?
   int-or-other-mul-then-get-by-val                   4.4589+-0.2212            4.4196+-0.1332        
   int-or-other-neg-then-get-by-val                   4.9431+-0.2930            4.8677+-0.0795          might be 1.0155x faster
   int-or-other-neg-zero-then-get-by-val             17.8174+-0.4325     ?     18.0362+-1.4307        ? might be 1.0123x slower
   int-or-other-sub-then-get-by-val                   4.9561+-0.0361     ?      4.9623+-0.1127        ?
   int-or-other-sub                                   4.1461+-0.1934            4.1170+-0.1812        
   int-overflow-local                                 5.0000+-0.1112            4.9640+-0.1121        
   Int16Array-alloc-long-lived                       50.1111+-0.5536     !     51.6487+-0.9231        ! definitely 1.0307x slower
   Int16Array-bubble-sort-with-byteLength            20.6451+-0.2010     ?     20.8942+-0.9133        ? might be 1.0121x slower
   Int16Array-bubble-sort                            20.6320+-0.3848     ?     20.7742+-0.6504        ?
   Int16Array-load-int-mul                            1.8305+-0.0202            1.8006+-0.0396          might be 1.0166x faster
   Int16Array-to-Int32Array-set                      59.7250+-1.9581     ^     54.8234+-0.2546        ^ definitely 1.0894x faster
   Int32Array-alloc-large                            20.6547+-1.0765           20.2289+-0.4359          might be 1.0211x faster
   Int32Array-alloc-long-lived                       57.2497+-1.6250           57.0623+-1.0278        
   Int32Array-alloc                                   2.8663+-0.0683            2.7822+-0.1214          might be 1.0302x faster
   Int32Array-Int8Array-view-alloc                    6.8538+-0.0579            6.8428+-0.2171        
   int52-spill                                        7.0753+-0.2298     ^      5.9633+-0.2364        ^ definitely 1.1865x faster
   Int8Array-alloc-long-lived                        44.5156+-0.7862     ?     44.7911+-1.3912        ?
   Int8Array-load-with-byteLength                     3.7548+-0.1915            3.7448+-0.1218        
   Int8Array-load                                     3.7415+-0.0854            3.7092+-0.0957        
   integer-divide                                    12.4214+-0.3322           12.3060+-0.2410        
   integer-modulo                                     2.4464+-0.1152            2.4164+-0.0643          might be 1.0124x faster
   is-boolean-fold-tricky                             4.5685+-0.1002            4.5348+-0.1208        
   is-boolean-fold                                    3.1818+-0.1174            3.1062+-0.0972          might be 1.0243x faster
   is-function-fold-tricky-internal-function   
                                                     12.5412+-0.1729     ?     12.7519+-0.1307        ? might be 1.0168x slower
   is-function-fold-tricky                            4.7045+-0.0866     ?      4.7490+-0.2708        ?
   is-function-fold                                   3.1379+-0.1166     ?      3.1688+-0.0732        ?
   is-number-fold-tricky                              4.5408+-0.1934     ?      4.6791+-0.4842        ? might be 1.0304x slower
   is-number-fold                                     3.2087+-0.2268            3.1493+-0.0800          might be 1.0189x faster
   is-object-or-null-fold-functions                   3.2827+-0.0424            3.1939+-0.0741          might be 1.0278x faster
   is-object-or-null-fold-less-tricky                 4.7145+-0.2216            4.6673+-0.1208          might be 1.0101x faster
   is-object-or-null-fold-tricky                      6.3561+-0.0769     ?      6.3878+-0.1057        ?
   is-object-or-null-fold                             3.1882+-0.0938            3.1843+-0.1009        
   is-object-or-null-trickier-function                4.8642+-0.3407            4.7642+-0.1777          might be 1.0210x faster
   is-object-or-null-trickier-internal-function   
                                                     12.6933+-0.1382     ?     12.8799+-0.2060        ? might be 1.0147x slower
   is-object-or-null-tricky-function                  4.7595+-0.1521            4.6639+-0.0257          might be 1.0205x faster
   is-object-or-null-tricky-internal-function   
                                                      9.5062+-0.0999     ?      9.6992+-0.2547        ? might be 1.0203x slower
   is-string-fold-tricky                              4.6970+-0.2824            4.5242+-0.0561          might be 1.0382x faster
   is-string-fold                                     3.2393+-0.1817            3.1158+-0.1037          might be 1.0396x faster
   is-undefined-fold-tricky                           3.8386+-0.1164            3.7880+-0.0770          might be 1.0133x faster
   is-undefined-fold                                  3.1922+-0.0854            3.1275+-0.1002          might be 1.0207x faster
   JSONP-negative-0                                   0.4273+-0.0479            0.4203+-0.0304          might be 1.0167x faster
   large-int-captured                                 4.6448+-0.0578     ?      4.6573+-0.1162        ?
   large-int-neg                                     16.3593+-0.5660           16.1483+-0.2342          might be 1.0131x faster
   large-int                                         14.5238+-0.4180           14.3864+-0.7203        
   load-varargs-elimination                          24.6701+-0.9041           24.6332+-0.5119        
   logical-not-weird-types                            3.8260+-0.1758     ?      3.8467+-0.1324        ?
   logical-not                                        4.9866+-0.1480     ?      5.0423+-0.1159        ? might be 1.0112x slower
   lots-of-fields                                    13.1637+-0.6287           13.0478+-0.3534        
   make-indexed-storage                               3.4822+-0.1861            3.2277+-0.4082          might be 1.0789x faster
   make-rope-cse                                      3.9441+-0.3848            3.8337+-0.1134          might be 1.0288x faster
   marsaglia-larger-ints                             40.7216+-1.7238           40.1223+-1.7715          might be 1.0149x faster
   marsaglia-osr-entry                               22.4923+-0.9995     ?     22.5483+-0.6529        ?
   math-with-out-of-bounds-array-values              25.6999+-0.8259           25.2957+-0.2334          might be 1.0160x faster
   max-boolean                                        2.7995+-0.0563            2.7517+-0.0546          might be 1.0174x faster
   method-on-number                                  19.9904+-1.7007           18.0443+-0.3664          might be 1.1078x faster
   min-boolean                                        2.7819+-0.0497     ?      2.7956+-0.0467        ?
   minus-boolean-double                               3.5607+-0.0946            3.4743+-0.0446          might be 1.0249x faster
   minus-boolean                                      2.6591+-0.1325            2.6483+-0.0839        
   misc-strict-eq                                    32.4924+-3.5796           32.0159+-3.0028          might be 1.0149x faster
   mod-boolean-double                                11.6357+-0.2837     ?     11.7997+-0.3179        ? might be 1.0141x slower
   mod-boolean                                        8.4194+-0.2472     ?      8.4606+-0.1771        ?
   mul-boolean-double                                 4.2252+-0.2698            3.9756+-0.0251          might be 1.0628x faster
   mul-boolean                                        3.2581+-0.2272            3.2392+-0.1732        
   neg-boolean                                        3.5462+-0.0820            3.4638+-0.0220          might be 1.0238x faster
   negative-zero-divide                               0.5679+-0.0178            0.5613+-0.0152          might be 1.0117x faster
   negative-zero-modulo                               0.5367+-0.0395     ?      0.5542+-0.0144        ? might be 1.0326x slower
   negative-zero-negate                               0.5461+-0.0243            0.5348+-0.0197          might be 1.0212x faster
   nested-function-parsing                           53.4825+-0.5895     ?     55.4915+-2.2486        ? might be 1.0376x slower
   new-array-buffer-dead                            105.4115+-1.4486     ?    105.4910+-1.3665        ?
   new-array-buffer-push                              7.0153+-0.3693            7.0029+-0.4126        
   new-array-dead                                    16.0037+-2.9048           15.7688+-2.3425          might be 1.0149x faster
   new-array-push                                     4.6483+-0.6560            4.0933+-0.0889          might be 1.1356x faster
   no-inline-constructor                             37.0369+-0.7957     ?     37.3873+-1.0544        ?
   number-test                                        3.4504+-0.0406     ?      3.5832+-0.3153        ? might be 1.0385x slower
   object-closure-call                                5.7893+-0.1657     ?      5.8970+-0.2378        ? might be 1.0186x slower
   object-get-own-property-symbols-on-large-array   
                                                      4.1937+-0.6400            4.1613+-0.1499        
   object-test                                        3.3323+-0.2390            3.2637+-0.1260          might be 1.0210x faster
   obvious-sink-pathology-taken                     120.8185+-1.5840          120.3417+-1.0710        
   obvious-sink-pathology                           114.6345+-0.7475     ?    115.4232+-1.4713        ?
   obviously-elidable-new-object                     28.4069+-0.4826           28.3270+-0.4860        
   plus-boolean-arith                                 2.8033+-0.0787            2.7778+-0.0578        
   plus-boolean-double                                3.5870+-0.2088            3.4578+-0.0284          might be 1.0374x faster
   plus-boolean                                       2.7230+-0.1541            2.7138+-0.1143        
   poly-chain-access-different-prototypes-simple   
                                                      3.0156+-0.1310     ?      3.1214+-0.1683        ? might be 1.0351x slower
   poly-chain-access-different-prototypes             3.0392+-0.1047            2.9994+-0.1151          might be 1.0133x faster
   poly-chain-access-simpler                          2.9808+-0.1751     ?      3.0050+-0.0628        ?
   poly-chain-access                                  3.0626+-0.2359            2.9369+-0.0809          might be 1.0428x faster
   poly-stricteq                                     64.2900+-1.2964     ?     64.9150+-1.0965        ?
   polymorphic-array-call                             1.7390+-0.1261            1.6689+-0.1363          might be 1.0420x faster
   polymorphic-get-by-id                              3.6646+-0.0424     ?      3.7247+-0.2357        ? might be 1.0164x slower
   polymorphic-put-by-id                             34.2473+-0.1883     ?     34.4905+-0.4849        ?
   polymorphic-put-by-val-with-string                37.6884+-0.4289     ^     36.8400+-0.1783        ^ definitely 1.0230x faster
   polymorphic-put-by-val-with-symbol                37.6736+-0.7501           37.1259+-0.7687          might be 1.0148x faster
   polymorphic-structure                             14.3831+-0.2862           14.2723+-0.1975        
   polyvariant-monomorphic-get-by-id                  9.3508+-1.0271            9.2292+-0.2551          might be 1.0132x faster
   proto-getter-access                                8.4172+-0.2583            8.2905+-0.1788          might be 1.0153x faster
   prototype-access-with-mutating-prototype           5.8538+-0.4388            5.6856+-0.1247          might be 1.0296x faster
   put-by-id-replace-and-transition                   9.9443+-0.6133     ?     10.0425+-0.1277        ?
   put-by-id-slightly-polymorphic                     3.1880+-0.0698     ?      3.2445+-0.1065        ? might be 1.0177x slower
   put-by-id                                         12.7754+-0.5653           12.7548+-0.5233        
   put-by-val-direct                                  0.5440+-0.0434     ?      0.5465+-0.0342        ?
   put-by-val-large-index-blank-indexing-type   
                                                      6.0854+-0.5725            5.7242+-0.3031          might be 1.0631x faster
   put-by-val-machine-int                             2.8513+-0.1096     ?      2.9722+-0.0487        ? might be 1.0424x slower
   put-by-val-with-string-replace-and-transition   
                                                     14.0892+-0.3870     ?     14.1378+-0.4285        ?
   put-by-val-with-string-slightly-polymorphic   
                                                      4.1172+-0.1526     ?      4.1243+-0.1353        ?
   put-by-val-with-string                            13.2828+-0.7961           13.1887+-0.1068        
   put-by-val-with-symbol-replace-and-transition   
                                                     15.1232+-0.3965     ?     15.3246+-0.8333        ? might be 1.0133x slower
   put-by-val-with-symbol-slightly-polymorphic   
                                                      4.5042+-0.1592            4.4055+-0.0971          might be 1.0224x faster
   put-by-val-with-symbol                            13.3079+-0.5399     ?     13.5485+-0.6781        ? might be 1.0181x slower
   rare-osr-exit-on-local                            15.2162+-0.8194     ?     15.6694+-0.3934        ? might be 1.0298x slower
   raytrace-with-empty-try-catch                      7.4126+-0.3963            7.2865+-0.4548          might be 1.0173x faster
   raytrace-with-try-catch                           12.9380+-0.3191           12.7415+-0.0996          might be 1.0154x faster
   register-pressure-from-osr                        21.1192+-0.3398           20.9576+-0.2707        
   repeat-multi-get-by-offset                        24.4703+-0.7645           24.4166+-0.5603        
   richards-empty-try-catch                          86.6653+-0.6254     ?     87.2175+-0.5402        ?
   richards-try-catch                               293.5030+-8.3243          289.2365+-2.8052          might be 1.0148x faster
   setter-prototype                                   7.8227+-0.8423            7.5460+-0.1657          might be 1.0367x faster
   setter                                             6.0943+-0.2381            6.0706+-0.1270        
   simple-activation-demo                            26.9800+-0.7865           26.5283+-0.2217          might be 1.0170x faster
   simple-getter-access                              11.1135+-0.3158           10.9407+-0.7576          might be 1.0158x faster
   simple-poly-call-nested                            8.3320+-0.0845            8.2342+-0.2041          might be 1.0119x faster
   simple-poly-call                                   1.7044+-0.0139            1.6911+-0.0267        
   sin-boolean                                       18.3570+-1.1458           18.1685+-1.4489          might be 1.0104x faster
   singleton-scope                                   71.4401+-1.0655           71.3187+-0.8791        
   sink-function                                     10.0893+-0.4238     ?     10.2069+-0.4823        ? might be 1.0117x slower
   sink-huge-activation                              16.5709+-0.2681           16.4665+-0.5565        
   sinkable-new-object-dag                           66.4741+-1.5499     ?     67.0104+-2.0323        ?
   sinkable-new-object-taken                         49.1165+-1.8383           48.8795+-1.3117        
   sinkable-new-object                               37.7815+-1.3263           37.5649+-0.9259        
   slow-array-profile-convergence                     3.2386+-0.0447            3.2117+-0.0909        
   slow-convergence                                   3.0211+-0.0439     ?      3.0322+-0.0178        ?
   slow-ternaries                                    19.2089+-0.6929           19.1749+-0.3642        
   sorting-benchmark                                 20.3919+-0.9630           20.3031+-0.7275        
   sparse-conditional                                 1.5666+-0.0997            1.5638+-0.0454        
   splice-to-remove                                  15.6326+-0.3584           15.4330+-0.4030          might be 1.0129x faster
   string-char-code-at                               17.3076+-0.2936     !     17.7476+-0.1043        ! definitely 1.0254x slower
   string-concat-object                               2.2463+-0.1535     ?      2.2699+-0.0954        ? might be 1.0105x slower
   string-concat-pair-object                          2.1340+-0.0757     ?      2.2959+-0.2539        ? might be 1.0758x slower
   string-concat-pair-simple                         11.4960+-0.1870     ?     11.6417+-0.4701        ? might be 1.0127x slower
   string-concat-simple                              12.5779+-1.6763           12.1675+-0.3080          might be 1.0337x faster
   string-cons-repeat                                 7.8746+-0.2173     ?      7.9310+-0.3336        ?
   string-cons-tower                                  7.7935+-0.1068     ?      8.5202+-0.9858        ? might be 1.0933x slower
   string-equality                                   18.4501+-0.3802     ?     18.5565+-0.1951        ?
   string-get-by-val-big-char                         7.5883+-0.9454            7.3967+-0.3728          might be 1.0259x faster
   string-get-by-val-out-of-bounds-insane             3.9261+-0.0573            3.8402+-0.1725          might be 1.0224x faster
   string-get-by-val-out-of-bounds                    5.5496+-0.0292            5.5259+-0.1037        
   string-get-by-val                                  3.7103+-0.2189            3.5330+-0.0611          might be 1.0502x faster
   string-hash                                        2.4297+-0.0568            2.4252+-0.0583        
   string-long-ident-equality                        15.8350+-0.7400           15.3549+-0.4231          might be 1.0313x faster
   string-out-of-bounds                              12.7220+-0.2615           12.5563+-0.1715          might be 1.0132x faster
   string-repeat-arith                               34.7700+-2.4969           33.6559+-0.2574          might be 1.0331x faster
   string-sub                                        67.7055+-1.0242           67.3192+-0.9278        
   string-test                                        3.4236+-0.1179            3.3077+-0.0498          might be 1.0350x faster
   string-var-equality                               35.0185+-1.4395           34.6046+-0.5842          might be 1.0120x faster
   structure-hoist-over-transitions                   2.7006+-0.1134     ?      2.7698+-0.1446        ? might be 1.0256x slower
   substring-concat-weird                            43.3233+-1.5255     ?     43.5641+-0.5669        ?
   substring-concat                                  47.9615+-2.0260           47.3721+-1.1287          might be 1.0124x faster
   substring                                         53.2199+-0.7079           52.3007+-0.6165          might be 1.0176x faster
   switch-char-constant                               3.0599+-0.0565     ?      3.0928+-0.0947        ? might be 1.0107x slower
   switch-char                                        6.7961+-0.2081     ?      6.8708+-0.1205        ? might be 1.0110x slower
   switch-constant                                   11.2695+-0.5790           10.9592+-1.3659          might be 1.0283x faster
   switch-string-basic-big-var                       21.6559+-0.7608     ?     21.9258+-0.8322        ? might be 1.0125x slower
   switch-string-basic-big                           19.5056+-0.1955     ?     19.5961+-0.1398        ?
   switch-string-basic-var                           15.8621+-0.3491           15.8612+-0.1784        
   switch-string-basic                               15.5749+-0.7710           15.1874+-0.2280          might be 1.0255x faster
   switch-string-big-length-tower-var                21.2307+-0.6032           21.2057+-1.0033        
   switch-string-length-tower-var                    16.4585+-0.2983           16.4043+-0.4979        
   switch-string-length-tower                        13.3847+-0.2803     ?     13.8068+-0.6943        ? might be 1.0315x slower
   switch-string-short                               13.3708+-0.2638           13.2650+-0.3052        
   switch                                            14.8984+-0.3345           14.5317+-1.4540          might be 1.0252x faster
   tear-off-arguments-simple                          3.5200+-0.2066     ?      3.5240+-0.1396        ?
   tear-off-arguments                                 4.6174+-0.0824     ?      4.7900+-0.4052        ? might be 1.0374x slower
   temporal-structure                                14.4860+-0.5101           14.3664+-0.4420        
   to-int32-boolean                                  14.5845+-0.5558           14.2489+-0.2298          might be 1.0236x faster
   try-catch-get-by-val-cloned-arguments             10.9355+-0.2868           10.8063+-0.0591          might be 1.0120x faster
   try-catch-get-by-val-direct-arguments              2.3252+-0.1122            2.3073+-0.0533        
   try-catch-get-by-val-scoped-arguments              5.1660+-0.5220            4.9234+-0.0993          might be 1.0493x faster
   typed-array-get-set-by-val-profiling              30.6602+-0.6639           30.4034+-0.3972        
   undefined-property-access                        368.8419+-2.1077     ?    371.6929+-10.3460       ?
   undefined-test                                     3.4765+-0.0971     ?      3.5131+-0.2126        ? might be 1.0105x slower
   unprofiled-licm                                   13.1023+-0.5436           12.8304+-0.3969          might be 1.0212x faster
   v8-raytrace-with-empty-try-catch                  39.1846+-1.9104           39.1163+-1.3263        
   v8-raytrace-with-try-catch                        84.7640+-1.5016           84.1979+-2.3367        
   varargs-call                                      14.8485+-0.5551           14.8160+-0.3080        
   varargs-construct-inline                          25.7678+-1.1928     ?     26.3218+-1.4887        ? might be 1.0215x slower
   varargs-construct                                 23.4676+-0.4067     ?     23.5732+-0.6478        ?
   varargs-inline                                    10.0778+-0.4194            9.9113+-0.2884          might be 1.0168x faster
   varargs-strict-mode                               11.5723+-0.5768           11.3988+-0.2890          might be 1.0152x faster
   varargs                                           11.2032+-0.3292     ?     11.2336+-0.2345        ?
   weird-inlining-const-prop                          2.7123+-0.1138            2.6500+-0.0744          might be 1.0235x faster

   <geometric>                                        9.6258+-0.0370            9.5817+-0.0193          might be 1.0046x faster

                                                         Baseline                   Patch                                       
AsmBench:
   bigfib.cpp                                       528.6077+-5.8512          526.9321+-1.9781        
   cray.c                                           454.7429+-2.3169          453.7889+-1.3524        
   dry.c                                            533.5659+-25.8945         524.8246+-1.5525          might be 1.0167x faster
   FloatMM.c                                        766.2415+-2.4583     ?    767.6397+-1.7699        ?
   gcc-loops.cpp                                   4195.3959+-8.0506         4194.5600+-23.7647       
   n-body.c                                        1042.6345+-2.5563     ?   1046.1790+-5.5749        ?
   Quicksort.c                                      447.5541+-4.0928     ?    449.4483+-11.1856       ?
   stepanov_container.cpp                          3898.8187+-12.1724        3896.7000+-36.1758       
   Towers.c                                         268.0255+-1.4031     ?    268.6580+-0.8113        ?

   <geometric>                                      836.7112+-6.4739          835.7311+-1.5542          might be 1.0012x faster

                                                         Baseline                   Patch                                       
CompressionBench:
   huffman                                           66.0045+-0.1760           65.5847+-2.3409        
   arithmetic-simple                                357.6401+-4.5760          355.4332+-2.5011        
   arithmetic-precise                               288.3695+-2.0667     ?    290.6862+-1.7567        ?
   arithmetic-complex-precise                       289.5615+-3.2158     ?    289.7255+-2.5608        ?
   arithmetic-precise-order-0                       365.7117+-2.3008          365.3111+-3.5598        
   arithmetic-precise-order-1                       344.3091+-5.9616          342.2772+-4.6974        
   arithmetic-precise-order-2                       400.9247+-0.9573     ?    411.2380+-10.1286       ? might be 1.0257x slower
   arithmetic-simple-order-1                        410.2511+-3.1299     ?    411.2682+-3.2862        ?
   arithmetic-simple-order-2                        469.1277+-3.9170          468.9515+-3.1960        
   lz-string                                        319.1978+-3.5258     ^    309.2590+-5.6073        ^ definitely 1.0321x faster

   <geometric>                                      301.0373+-0.5769          300.5755+-2.1723          might be 1.0015x faster

                                                         Baseline                   Patch                                       
Geomean of preferred means:
   <scaled-result>                                   60.0415+-0.1598           59.9754+-0.2026          might be 1.0011x faster

=====
~/Internal>
Comment 3 Geoffrey Garen 2015-10-01 16:50:28 PDT
Created attachment 262299 [details]
Patch
Comment 4 WebKit Commit Bot 2015-10-01 16:52:43 PDT
Attachment 262299 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:143:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:145:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:146:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1720:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1720:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1721:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1729:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1733:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1146:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1188:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1233:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1278:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
Total errors found: 12 in 43 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 5 Geoffrey Garen 2015-10-01 17:59:23 PDT
Created attachment 262306 [details]
Patch
Comment 6 WebKit Commit Bot 2015-10-01 18:01:11 PDT
Attachment 262306 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:143:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:145:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:146:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1720:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1720:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1721:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1729:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1733:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1146:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1188:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1233:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1278:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
Total errors found: 12 in 43 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 7 Filip Pizlo 2015-10-01 18:51:11 PDT
Comment on attachment 262306 [details]
Patch

LGTM.
Comment 8 Geoffrey Garen 2015-10-01 20:46:17 PDT
Committed r190450: <http://trac.webkit.org/changeset/190450>
Comment 9 Geoffrey Garen 2015-10-01 22:13:11 PDT
Rolled out.
Comment 10 Geoffrey Garen 2015-10-02 14:16:44 PDT
Committed r190522: <http://trac.webkit.org/changeset/190522>
Comment 11 Alexey Proskuryakov 2015-10-03 18:39:05 PDT
This caused a lot of leaks on the leaks bot. Will see if I can easily roll out.

Oct 02 14:46	190522	failure	#66	Failed 30774 total leaks found for a total of 6,394,560 bytes. 298 unique leaks found. 4 failures 2 new passes
Oct 02 14:30	190521	failure	#65	Failed 3823 total leaks found for a total of 503,120 bytes. 139 unique leaks found. 3 failures 2 new passes
Comment 12 WebKit Commit Bot 2015-10-03 18:41:32 PDT
Re-opened since this is blocked by bug 149787
Comment 13 Alexey Proskuryakov 2015-10-03 18:46:38 PDT
Rolled out in r190546.
Comment 14 Geoffrey Garen 2015-10-05 16:32:20 PDT
Committed r190589: <http://trac.webkit.org/changeset/190589>
Comment 15 Alexey Proskuryakov 2015-10-05 22:45:12 PDT
This did address some leaks, but we are still getting an order of magnitude more than without the patch. There are also very frequent crashes that look related, and that I didn't see before.

Oct 05 16:56	190589	failure	#107	Failed 6495 total leaks found for a total of 2,603,376 bytes. 189 unique leaks found. 2 new passes
Oct 05 16:40	190587	failure	#106	Failed 3367 total leaks found for a total of 424,896 bytes. 146 unique leaks found. 2 new passes


https://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/r190604%20(16063)/fast/selectors/nth-last-child-of-selector-list-ending-with-never-matching-selectors-crash-log.txt

https://build.webkit.org/results/Apple%20Yosemite%20Debug%20WK2%20(Tests)/r190602%20(7400)/js/dom/string-split-conformance-crash-log.txt

https://build.webkit.org/results/Apple%20Yosemite%20Debug%20WK2%20(Tests)/r190604%20(7401)/imported/w3c/indexeddb/idbobjectstore_openCursor-crash-log.txt

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x0000000117e20827 WTFCrash + 39
1   com.apple.JavaScriptCore      	0x00000001179e815a JSC::JITToDFGDeferredCompilationCallback::compilationDidComplete(JSC::CodeBlock*, JSC::CodeBlock*, JSC::CompilationResult) + 154
2   com.apple.JavaScriptCore      	0x0000000117699f05 JSC::DFG::Plan::finalizeAndNotifyCallback() + 101
3   com.apple.JavaScriptCore      	0x000000011779a361 JSC::DFG::Worklist::completeAllReadyPlansForVM(JSC::VM&, JSC::DFG::CompilationKey) + 305
4   com.apple.JavaScriptCore      	0x00000001179cb292 operationOptimize + 1058
Comment 16 WebKit Commit Bot 2015-10-05 22:48:23 PDT
Re-opened since this is blocked by bug 149833
Comment 17 Alexey Proskuryakov 2015-10-05 23:01:28 PDT
Seems even more certain to have caused crashes on perf testers:

Thread 10 Crashed:: WTF Parallel Helper Thread
0   com.apple.JavaScriptCore      	0x000000010e601e6a JSC::speculationFromCell(JSC::JSCell*) + 58 (SpeculatedType.cpp:363)
1   com.apple.JavaScriptCore      	0x000000010e0554c4 JSC::CodeBlock::updateAllPredictionsAndCountLiveness(unsigned int&, unsigned int&) + 276 (CodeBlock.cpp:3746)
2   com.apple.JavaScriptCore      	0x000000010e052127 JSC::CodeBlock::stronglyVisitStrongReferences(JSC::SlotVisitor&) + 567 (CodeBlock.cpp:2883)
3   com.apple.JavaScriptCore      	0x000000010e051ea6 JSC::CodeBlock::visitChildren(JSC::SlotVisitor&) + 342 (CodeBlock.cpp:2379)
4   com.apple.JavaScriptCore      	0x000000010e5fe045 JSC::SlotVisitor::drain() + 277 (SlotVisitor.cpp:182)
5   com.apple.JavaScriptCore      	0x000000010e5fe248 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 104 (SlotVisitor.cpp:237)
6   com.apple.JavaScriptCore      	0x000000010e30eb4e WTF::SharedTaskFunctor<JSC::Heap::markRoots(double, void*, void*, int (&) [37])::$_0>::run() + 286 (Heap.cpp:564)
7   com.apple.JavaScriptCore      	0x000000010e69d67c WTF::ParallelHelperClient::runTask(WTF::RefPtr<WTF::SharedTask>) + 44 (ParallelHelperPool.cpp:114)
Comment 18 Alexey Proskuryakov 2015-10-05 23:06:29 PDT
Actually no, I think that this stack trace is from bug 149821. These landed a bit too close together to confidently tell which is to blame, but it seems likely that  Dromaeo/cssquery-jquery.html and Dromaeo/cssquery-dojo.html started to fail (not crash) after this patch.

https://build.webkit.org/builders/Apple%20Mavericks%20Release%20WK2%20(Perf)?numbuilds=50

Oct 05 17:23	190589	failure	#5937	Failed 2 perf tests failed
Oct 05 15:04	190579	success	#5936	Build successful

https://build.webkit.org/builders/Apple%20Yosemite%20Release%20WK2%20(Perf)?numbuilds=50

Oct 05 19:13	190597	failure	#3075	Failed 1 perf tests failed
Oct 05 17:01	190587	success	#3074	Build successful

https://build.webkit.org/builders/Apple%20El%20Capitan%20Release%20WK2%20(Perf)?numbuilds=50

Oct 05 19:15	190597	failure	#46	Failed 1 perf tests failed
Oct 05 17:08	190591	failure	#45	Failed 1 perf tests failed
Oct 05 14:58	190579	success	#44	Build successful
Comment 19 Geoffrey Garen 2015-10-06 11:22:01 PDT
> This did address some leaks, but we are still getting an order of magnitude more than without the patch.

Crazy. The leaks bot clearly shows CodeBlock-related leaks, even though I saw none locally.
Comment 20 Joseph Pecoraro 2015-10-06 15:59:20 PDT
Comment on attachment 262306 [details]
Patch

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

> Source/JavaScriptCore/bytecode/CodeBlock.cpp:3107
> +        return nullptr

Missing semicolon (for when this relands).
Comment 21 Geoffrey Garen 2015-10-07 16:10:51 PDT
Committed r190694: <http://trac.webkit.org/changeset/190694>
Comment 22 Geoffrey Garen 2015-10-09 10:55:01 PDT
Reverted in <http://trac.webkit.org/changeset/190809>.
Comment 23 Geoffrey Garen 2015-10-09 16:11:49 PDT
Committed r190827: <http://trac.webkit.org/changeset/190827>