Bug 150902

Summary: Using emitResolveScope & emitGetFromScope with 'this' that is TDZ lead to segfault in DFG
Product: WebKit Reporter: GSkachkov <gskachkov>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, fpizlo, ggaren, sbarati
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 149338    
Attachments:
Description Flags
Patch
none
Patch none

Description GSkachkov 2015-11-04 13:45:57 PST
Using emitResolveScope & emitGetFromScope with 'this' that is TDZ lead to segfault in DFG

link to the dump is https://gist.github.com/gskachkov/e658e5b68518dfde1eb7#file-dfg-dump-L204
Comment 1 Saam Barati 2015-11-04 18:28:47 PST
Some clarification:
This issue was found for the arrow function implementation where we're going to store "this" in an activation. We load this from the activation, and we end up killing the tdz check which obviously shouldn't happen (while inside a derived constructor).
Comment 2 GSkachkov 2015-11-05 08:23:15 PST
Created attachment 264867 [details]
Patch

Later I will be add benchmark test result
Comment 3 GSkachkov 2015-11-05 08:24:08 PST
Created attachment 264868 [details]
Patch

Later I will beadd benchmark test result
Comment 4 GSkachkov 2015-11-05 12:16:51 PST
Warning: refusing to run CompressionBench because "CompressionBenchPath" isn't set in /Users/Developer/.run-jsc-benchmarks
7572/7572                                                                                           
Generating benchmark report at /Users/Developer/Projects/Webkit2/Fix_BeforeFix_SunSpiderLongSpiderV8SpiderOctaneKrakenJSRegress_MacBook-Pro-Skachkov-2_20151105_2205_report.txt
And raw data at /Users/Developer/Projects/Webkit2/Fix_BeforeFix_SunSpiderLongSpiderV8SpiderOctaneKrakenJSRegress_MacBook-Pro-Skachkov-2_20151105_2205.json

Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, and JSRegress on MacBook-Pro-Skachkov-2 (MacBookPro8,1).

VMs tested:
"Fix" at /Users/Developer/Projects/Webkit2/WebKitBuild/dfg_fix/Release/jsc
"BeforeFix" at /Users/Developer/Projects/Webkit2/WebKitBuild/before_dfg_fix/Release/jsc

Collected 8 samples per benchmark/VM, with 8 VM invocations per benchmark. Ran 4 benchmark iterations, and measured the total
time of those iterations, for each sample. Emitted a call to gc() between sample measurements. Used 4 benchmark iterations 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.

                                                           Fix                    BeforeFix                                     
SunSpider:
   3d-cube                                           60.3279+-5.2532           59.1193+-4.6053          might be 1.0204x faster
   3d-morph                                          43.8007+-2.4074           42.3849+-1.4340          might be 1.0334x faster
   3d-raytrace                                       66.8714+-2.0836           64.3316+-2.6115          might be 1.0395x faster
   access-binary-trees                               26.7815+-2.0608     ?     27.0952+-2.6674        ? might be 1.0117x slower
   access-fannkuch                                   75.8468+-6.0539     ?     78.8735+-8.9021        ? might be 1.0399x slower
   access-nbody                                      20.8954+-2.0391           19.9958+-2.4055          might be 1.0450x faster
   access-nsieve                                     25.5906+-1.9051           23.6032+-0.9216          might be 1.0842x faster
   bitops-3bit-bits-in-byte                          14.4923+-1.4270           13.7523+-1.7114          might be 1.0538x faster
   bitops-bits-in-byte                               28.6466+-0.8659     ?     30.1053+-1.1481        ? might be 1.0509x slower
   bitops-bitwise-and                                13.2881+-1.1913     ?     13.5633+-1.8152        ? might be 1.0207x slower
   bitops-nsieve-bits                                30.4854+-1.6975     ?     32.5904+-3.5984        ? might be 1.0690x slower
   controlflow-recursive                             38.4021+-2.2201           35.9990+-2.0585          might be 1.0668x faster
   crypto-aes                                        29.5605+-2.5721           28.0310+-2.3639          might be 1.0546x faster
   crypto-md5                                        29.1330+-2.4557           28.0482+-4.0846          might be 1.0387x faster
   crypto-sha1                                       33.5098+-3.4726           33.4431+-2.0538        
   date-format-tofte                                 66.3344+-5.7434     ?     68.3076+-8.6735        ? might be 1.0297x slower
   date-format-xparb                                 37.5168+-1.8415           35.5577+-1.2986          might be 1.0551x faster
   math-cordic                                       29.1978+-3.4406           29.0242+-1.2601        
   math-partial-sums                                 32.9702+-3.0456           31.2031+-0.8265          might be 1.0566x faster
   math-spectral-norm                                19.3752+-0.9704     ?     19.3848+-1.1664        ?
   regexp-dna                                        39.2908+-2.8728           38.0215+-2.5909          might be 1.0334x faster
   string-base64                                     28.9547+-2.0301           28.3639+-2.3567          might be 1.0208x faster
   string-fasta                                      63.1025+-1.9794     ?     64.3282+-3.0530        ? might be 1.0194x slower
   string-tagcloud                                   51.1174+-2.2045     ?     51.4809+-3.2447        ?
   string-unpack-code                               118.5112+-3.8094          117.5229+-5.0168        
   string-validate-input                             38.3825+-2.4444     ?     38.7733+-2.1789        ? might be 1.0102x slower

   <arithmetic>                                      40.8610+-0.8655           40.4963+-0.9666          might be 1.0090x faster

                                                           Fix                    BeforeFix                                     
LongSpider:
   3d-cube                                         4936.9534+-42.2698    ?   4955.0228+-43.6803       ?
   3d-morph                                        7953.8007+-43.5699    ?   7964.1966+-34.1599       ?
   3d-raytrace                                     3985.0371+-43.8246        3965.7482+-45.5494       
   access-binary-trees                             5551.9198+-55.7057    ?   5560.9614+-64.0171       ?
   access-fannkuch                                 2031.7034+-84.1365    ?   2059.7932+-37.7003       ? might be 1.0138x slower
   access-nbody                                    3257.6769+-21.6954    ?   3297.8613+-23.2334       ? might be 1.0123x slower
   access-nsieve                                   2615.8301+-16.9671    ?   2618.7848+-22.4323       ?
   bitops-3bit-bits-in-byte                         237.6195+-6.4040          236.7867+-5.6776        
   bitops-bits-in-byte                              543.8614+-13.0341         533.1287+-4.9771          might be 1.0201x faster
   bitops-nsieve-bits                              2838.9832+-27.1735    ?   2871.9086+-50.7744       ? might be 1.0116x slower
   controlflow-recursive                           2631.6840+-31.7154        2616.8352+-22.8841       
   crypto-aes                                      3850.6544+-71.9108    ?   3870.1117+-61.8432       ?
   crypto-md5                                      3757.1407+-67.6617        3744.9117+-68.7314       
   crypto-sha1                                     4167.5549+-35.5560    ?   4172.8966+-36.5399       ?
   date-format-tofte                               4147.4077+-61.1932    ?   4157.3208+-75.3768       ?
   date-format-xparb                               4741.0953+-45.6068        4733.5782+-85.1889       
   hash-map                                        1123.0346+-21.3514        1092.6324+-25.8507         might be 1.0278x faster
   math-cordic                                     2956.7852+-33.3101        2939.4534+-28.4206       
   math-partial-sums                               3104.9084+-25.0187    ?   3135.9914+-38.6734       ? might be 1.0100x slower
   math-spectral-norm                              4581.1455+-37.6245    ?   4612.6143+-32.7220       ?
   string-base64                                   2549.6457+-196.9663   ?   2619.2205+-231.4725      ? might be 1.0273x slower
   string-fasta                                    2346.2110+-35.7030        2324.2865+-47.2201       
   string-tagcloud                                 1172.1411+-27.3103        1167.6298+-28.4972       

   <geometric>                                     2654.8870+-14.9014    ?   2656.2182+-11.3358       ? might be 1.0005x slower

                                                           Fix                    BeforeFix                                     
V8Spider:
   crypto                                           517.8475+-18.8099         510.7007+-16.3780         might be 1.0140x faster
   deltablue                                        889.7703+-37.4933    ?    904.7790+-51.6238       ? might be 1.0169x slower
   earley-boyer                                     407.4143+-15.7157         397.8115+-5.7550          might be 1.0241x faster
   raytrace                                         415.9429+-13.4797         410.8824+-11.3964         might be 1.0123x faster
   regexp                                           421.0417+-10.8461    ?    427.0253+-12.6022       ? might be 1.0142x slower
   richards                                         517.1673+-25.4907    ?    547.5957+-24.4090       ? might be 1.0588x slower
   splay                                            354.9477+-27.4169         354.6688+-18.1259       

   <geometric>                                      481.3396+-6.8028     ?    484.0639+-6.8536        ? might be 1.0057x slower

                                                           Fix                    BeforeFix                                     
Octane:
   encrypt                                           1.06643+-0.02291          1.04612+-0.01583         might be 1.0194x faster
   decrypt                                          19.26799+-0.26595    ?    19.66861+-0.56343       ? might be 1.0208x slower
   deltablue                                x2       0.91013+-0.02202          0.90852+-0.01952       
   earley                                            2.11263+-0.05547          2.08413+-0.06528         might be 1.0137x faster
   boyer                                            31.69638+-0.49096         31.07923+-0.59817         might be 1.0199x faster
   navier-stokes                            x2      26.84462+-0.30754    ?    27.05840+-0.59574       ?
   raytrace                                 x2       6.06020+-0.12159          6.01713+-0.09121       
   richards                                 x2       0.55841+-0.00593          0.55726+-0.01109       
   splay                                    x2       2.81455+-0.04842          2.80272+-0.06162       
   regexp                                   x2     161.52478+-2.11715    ?   163.12362+-1.49507       ?
   pdfjs                                    x2     274.99122+-5.03177        272.04259+-4.84588         might be 1.0108x faster
   mandreel                                 x2     327.85478+-15.92494   ?   337.35515+-13.23342      ? might be 1.0290x slower
   gbemu                                    x2     234.28212+-2.30233    ?   240.33261+-16.99028      ? might be 1.0258x slower
   closure                                           3.76215+-0.07044    ?     3.79839+-0.09748       ?
   jquery                                           51.29816+-0.88359    ?    51.54450+-0.87454       ?
   box2d                                    x2     100.16165+-2.26659         99.08167+-2.98488         might be 1.0109x faster
   zlib                                     x2    1509.03620+-45.37333      1501.50150+-28.35773      
   typescript                               x2    4187.14572+-85.42193      4161.01849+-55.46713      

   <geometric>                                      36.37072+-0.17739    ?    36.40112+-0.24677       ? might be 1.0008x slower

                                                           Fix                    BeforeFix                                     
Kraken:
   ai-astar                                          917.258+-34.338           917.165+-48.744        
   audio-beat-detection                              389.593+-11.142     ?     400.542+-15.671        ? might be 1.0281x slower
   audio-dft                                         621.324+-16.133           611.327+-18.355          might be 1.0164x faster
   audio-fft                                         293.147+-11.209     ?     293.449+-9.620         ?
   audio-oscillator                                  382.405+-3.766      ?     391.087+-17.010        ? might be 1.0227x slower
   imaging-darkroom                                  416.763+-4.547      ?     423.493+-11.296        ? might be 1.0161x slower
   imaging-desaturate                                407.154+-11.303           402.631+-9.128           might be 1.0112x faster
   imaging-gaussian-blur                             622.305+-26.275     ?     623.474+-23.470        ?
   json-parse-financial                              259.074+-5.208      ?     261.655+-6.587         ?
   json-stringify-tinderbox                          151.131+-2.473      ?     152.214+-3.300         ?
   stanford-crypto-aes                               317.395+-8.483      ?     332.680+-29.639        ? might be 1.0482x slower
   stanford-crypto-ccm                               306.418+-14.164           298.411+-17.445          might be 1.0268x faster
   stanford-crypto-pbkdf2                            597.750+-10.391     ?     613.064+-15.826        ? might be 1.0256x slower
   stanford-crypto-sha256-iterative                  239.186+-8.448            236.155+-7.224           might be 1.0128x faster

   <arithmetic>                                      422.922+-1.751      ?     425.525+-3.395         ? might be 1.0062x slower

                                                           Fix                    BeforeFix                                     
JSRegress:
   abc-forward-loop-equal                           248.3547+-11.8250         243.1334+-3.9644          might be 1.0215x faster
   abc-postfix-backward-loop                        246.1800+-8.0114          243.1070+-4.6267          might be 1.0126x faster
   abc-simple-backward-loop                         244.0085+-4.6571          242.2568+-8.3343        
   abc-simple-forward-loop                          242.2127+-4.8791     ?    243.1343+-5.8573        ?
   abc-skippy-loop                                  167.9513+-4.0436          167.5475+-2.9553        
   abs-boolean                                       22.8678+-0.5655     ?     23.0145+-1.1227        ?
   adapt-to-double-divide                            88.1037+-1.4453     ?     88.4425+-1.1883        ?
   aliased-arguments-getbyval                        15.1685+-1.6906           13.3485+-0.6205          might be 1.1363x faster
   allocate-big-object                               18.5541+-1.6145     ?     19.5961+-1.1519        ? might be 1.0562x slower
   arguments-named-and-reflective                    68.2729+-4.7680     ?     71.6875+-3.6158        ? might be 1.0500x slower
   arguments-out-of-bounds                           71.9801+-3.4379     ?     72.3934+-3.1280        ?
   arguments-strict-mode                             61.8747+-3.9827     ?     62.3142+-3.3367        ?
   arguments                                         54.1470+-3.4779     ?     57.9829+-2.4934        ? might be 1.0708x slower
   arity-mismatch-inlining                           10.8566+-1.8645           10.5703+-2.5897          might be 1.0271x faster
   array-access-polymorphic-structure                51.6237+-4.3574           49.5312+-3.8777          might be 1.0422x faster
   array-nonarray-polymorhpic-access                196.7447+-9.2106          186.2057+-6.4906          might be 1.0566x faster
   array-prototype-every                            474.7593+-13.5993    ?    477.1281+-9.1430        ?
   array-prototype-forEach                          478.3115+-40.5658         468.5193+-13.9095         might be 1.0209x faster
   array-prototype-map                              519.4578+-9.7583     ?    538.7429+-45.9244       ? might be 1.0371x slower
   array-prototype-reduce                           459.4300+-27.5618         450.3123+-7.7892          might be 1.0202x faster
   array-prototype-reduceRight                      509.1262+-22.7573         483.5309+-19.1673         might be 1.0529x faster
   array-prototype-some                             473.8173+-12.8060    ?    475.8639+-10.6899       ?
   array-splice-contiguous                          146.1763+-1.9852     ?    149.4180+-7.9055        ? might be 1.0222x slower
   array-with-double-add                             36.2357+-0.8732     ?     36.5052+-2.0035        ?
   array-with-double-increment                       27.9372+-1.5559     ?     29.3710+-3.2754        ? might be 1.0513x slower
   array-with-double-mul-add                         47.6523+-1.8973           45.0891+-2.1704          might be 1.0568x faster
   array-with-double-sum                             25.3787+-1.0872     ?     26.7085+-1.5638        ? might be 1.0524x slower
   array-with-int32-add-sub                          58.0536+-3.3569           57.1935+-4.4378          might be 1.0150x faster
   array-with-int32-or-double-sum                    27.9187+-0.6515           27.7355+-1.1347        
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                    206.6901+-5.9877     ?    210.9046+-8.8285        ? might be 1.0204x slower
   ArrayBuffer-DataView-alloc-long-lived             99.4792+-2.6241           98.1825+-2.8404          might be 1.0132x faster
   ArrayBuffer-Int32Array-byteOffset                 23.4693+-1.4518     ?     24.7513+-2.7216        ? might be 1.0546x slower
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                    217.6071+-4.2521          214.0616+-5.9209          might be 1.0166x faster
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                    166.8110+-6.4926          163.8646+-8.3990          might be 1.0180x faster
   ArrayBuffer-Int8Array-alloc-long-lived            96.6720+-5.1920           92.5998+-2.9617          might be 1.0440x faster
   ArrayBuffer-Int8Array-alloc                       85.6750+-5.5610     ?     87.5450+-11.2087       ? might be 1.0218x slower
   arrowfunction-call                                76.0423+-1.3269     ?     77.4137+-3.0662        ? might be 1.0180x slower
   asmjs_bool_bug                                    51.8867+-3.1601     ?     54.3750+-5.5241        ? might be 1.0480x slower
   assign-custom-setter-polymorphic                  16.7898+-0.7530     ?     17.5807+-2.4106        ? might be 1.0471x slower
   assign-custom-setter                              24.0979+-1.4413     ?     24.3891+-1.5503        ? might be 1.0121x slower
   basic-set                                         60.3833+-4.7223     ?     60.5856+-5.3263        ?
   big-int-mul                                       31.2197+-2.6968     ?     32.4763+-1.5325        ? might be 1.0403x slower
   boolean-test                                      20.1479+-0.3327     ?     20.7159+-0.6992        ? might be 1.0282x slower
   branch-fold                                       39.6016+-2.0427     ?     40.8057+-2.1867        ? might be 1.0304x slower
   branch-on-string-as-boolean                      107.8884+-3.7585          106.1672+-3.3058          might be 1.0162x faster
   by-val-generic                                    19.4797+-1.5766     ?     20.0226+-0.7894        ? might be 1.0279x slower
   call-spread-apply                                228.3672+-13.3322    ?    234.9973+-12.3210       ? might be 1.0290x slower
   call-spread-call                                 168.4126+-8.5412          166.8345+-8.1874        
   captured-assignments                               3.3037+-0.5848     ?      3.9162+-0.3297        ? might be 1.1854x slower
   cast-int-to-double                                33.5422+-1.0804     ?     34.8210+-1.2540        ? might be 1.0381x slower
   cell-argument                                     37.8520+-0.9904     ?     38.9023+-2.8185        ? might be 1.0277x slower
   cfg-simplify                                      19.9194+-0.5006     ?     20.3031+-1.1597        ? might be 1.0193x slower
   chain-getter-access                               59.0440+-3.7944           58.1888+-3.0709          might be 1.0147x faster
   cmpeq-obj-to-obj-other                            80.0070+-3.1839           79.4862+-2.1357        
   constant-test                                     29.4543+-0.5831     ?     30.2509+-0.8742        ? might be 1.0270x slower
   create-lots-of-functions                          66.2056+-5.8501           64.1871+-1.7751          might be 1.0314x faster
   cse-new-array-buffer                              19.8762+-0.6097           19.3772+-0.8860          might be 1.0258x faster
   cse-new-array                                     21.2814+-0.8619           21.2569+-0.9973        
   custom-setter-getter-as-put-get-by-id              3.7253+-0.5935     ?      4.0805+-0.6244        ? might be 1.0954x slower
   DataView-custom-properties                       242.5149+-5.1200     ?    243.3315+-7.2272        ?
   delay-tear-off-arguments-strictmode               97.3021+-9.8092           91.9093+-6.7803          might be 1.0587x faster
   deltablue-varargs                               1529.2698+-29.0977        1506.1654+-22.1304         might be 1.0153x faster
   destructuring-arguments                         1079.8660+-20.4854    ?   1089.6494+-28.5104       ?
   destructuring-parameters-overridden-by-function   
                                                      3.5096+-0.5492            3.4616+-0.4624          might be 1.0139x faster
   destructuring-swap                                33.6896+-2.8514           31.9637+-3.3813          might be 1.0540x faster
   direct-arguments-getbyval                         13.8395+-1.3133           13.0507+-0.8767          might be 1.0604x faster
   div-boolean-double                                28.2201+-0.3969     ?     28.6958+-0.3240        ? might be 1.0169x slower
   div-boolean                                       41.4660+-1.0170     ?     42.0199+-1.3554        ? might be 1.0134x slower
   double-get-by-val-out-of-bounds                   30.7199+-2.9259           30.0472+-3.1970          might be 1.0224x faster
   double-pollution-getbyval                         46.6652+-0.3662           46.3763+-0.3410        
   double-pollution-putbyoffset                      24.8600+-1.3004     ?     24.8626+-4.7538        ?
   double-real-use                                  163.5290+-11.8867         161.3741+-8.1117          might be 1.0134x faster
   double-to-int32-typed-array-no-inline             28.6189+-1.8760           28.0342+-1.5075          might be 1.0209x faster
   double-to-int32-typed-array                       20.5589+-1.3934     ?     21.4498+-1.9905        ? might be 1.0433x slower
   double-to-uint32-typed-array-no-inline            30.9026+-2.5728           30.2519+-0.9966          might be 1.0215x faster
   double-to-uint32-typed-array                      22.5652+-1.9058           21.0390+-0.9283          might be 1.0725x faster
   elidable-new-object-dag                          252.7990+-9.1641          243.7296+-8.3377          might be 1.0372x faster
   elidable-new-object-roflcopter                   218.5367+-4.1005     ?    220.7202+-11.9423       ?
   elidable-new-object-then-call                    237.9029+-3.6266          233.7087+-10.0059         might be 1.0179x faster
   elidable-new-object-tree                         269.3029+-6.3054     ?    270.1916+-11.0806       ?
   empty-string-plus-int                             35.6049+-2.1580           33.4929+-1.5954          might be 1.0631x faster
   emscripten-cube2hash                             272.6950+-6.2258     ?    276.9236+-16.1087       ? might be 1.0155x slower
   exit-length-on-plain-object                       94.0552+-3.4320           93.5144+-2.2441        
   external-arguments-getbyval                       17.6419+-0.9070     ?     18.0192+-1.0966        ? might be 1.0214x slower
   external-arguments-putbyval                       25.1720+-0.8427     ?     27.7577+-3.6395        ? might be 1.1027x slower
   fixed-typed-array-storage-var-index               14.2697+-1.5833           13.8413+-2.4228          might be 1.0310x faster
   fixed-typed-array-storage                         10.2910+-1.0502     ?     11.3608+-1.0822        ? might be 1.1040x slower
   Float32Array-matrix-mult                          27.0676+-0.5071     ?     30.6939+-6.7689        ? might be 1.1340x slower
   Float32Array-to-Float64Array-set                 310.1675+-13.1513         307.3061+-6.6665        
   Float64Array-alloc-long-lived                    496.4288+-7.0654          489.8095+-5.0550          might be 1.0135x faster
   Float64Array-to-Int16Array-set                   372.3265+-11.0429    ?    391.2651+-41.7865       ? might be 1.0509x slower
   fold-double-to-int                                89.6517+-7.4943     ?     89.9210+-5.6521        ?
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     80.8470+-5.3045           80.8130+-3.1756        
   fold-get-by-id-to-multi-get-by-offset             69.7762+-2.0567     ?     69.8798+-1.5904        ?
   fold-multi-get-by-offset-to-get-by-offset   
                                                     64.6475+-2.5669           62.7396+-2.8776          might be 1.0304x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                     69.2465+-4.8206           66.8054+-3.9023          might be 1.0365x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                     75.2249+-3.8481     ?     75.7490+-5.6023        ?
   fold-multi-put-by-offset-to-put-by-offset   
                                                     72.4652+-5.1430           66.0322+-5.9772          might be 1.0974x faster
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     88.2826+-6.8597     ?     91.2180+-4.2326        ? might be 1.0332x slower
   fold-put-by-id-to-multi-put-by-offset             81.5416+-1.8387           80.3013+-2.4617          might be 1.0154x faster
   fold-put-by-val-with-string-to-multi-put-by-offset   
                                                     80.5768+-2.2859           77.9179+-3.8368          might be 1.0341x faster
   fold-put-by-val-with-symbol-to-multi-put-by-offset   
                                                     80.6056+-1.9483     ?     82.6725+-3.1537        ? might be 1.0256x slower
   fold-put-structure                                55.4818+-2.4504           55.2573+-4.5552        
   for-of-iterate-array-entries                      81.3887+-6.8297     ?     83.1516+-6.6863        ? might be 1.0217x slower
   for-of-iterate-array-keys                         34.0285+-3.0841           32.6400+-1.0607          might be 1.0425x faster
   for-of-iterate-array-values                       34.7778+-4.5627           33.3632+-1.6340          might be 1.0424x faster
   fround                                            97.9710+-3.1966     ?     98.8747+-2.3054        ?
   ftl-library-inlining-dataview                    386.9449+-12.2903         385.8836+-12.1005       
   ftl-library-inlining                             658.0836+-8.4589          657.9121+-9.2447        
   ftl-object-sub                                  1940.6414+-16.7151    ?   1943.4342+-27.3714       ?
   function-call                                     79.2921+-1.8089           78.2475+-2.0669          might be 1.0133x faster
   function-dot-apply                                18.5085+-1.1856           18.0880+-1.0608          might be 1.0232x faster
   function-test                                     20.4301+-0.6596     ?     21.8943+-1.7218        ? might be 1.0717x slower
   function-with-eval                               571.6324+-14.1836    ?    579.3211+-19.8840       ? might be 1.0135x slower
   gcse-poly-get-less-obvious                       153.6821+-6.9120          151.3678+-3.8002          might be 1.0153x faster
   gcse-poly-get                                    153.0598+-2.9111     ?    153.8516+-4.1257        ?
   gcse                                              31.4513+-2.6384           30.4837+-1.4886          might be 1.0317x faster
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                     23.4345+-3.8950           21.0181+-2.0449          might be 1.1150x faster
   get-by-id-bimorphic-check-structure-elimination   
                                                     41.2886+-0.9385           41.2861+-1.3484        
   get-by-id-chain-from-try-block                    15.0194+-0.7142           14.9966+-0.5385        
   get-by-id-check-structure-elimination             30.4046+-2.3189     ?     31.5512+-1.9463        ? might be 1.0377x slower
   get-by-id-proto-or-self                          111.1536+-5.8157     ?    113.7448+-12.3615       ? might be 1.0233x slower
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                     25.3158+-1.4461     ?     25.6265+-1.5342        ? might be 1.0123x slower
   get-by-id-self-or-proto                          115.8764+-12.6263    ?    117.5045+-16.1148       ? might be 1.0141x slower
   get-by-val-out-of-bounds                          31.9862+-3.7469           29.3296+-2.2178          might be 1.0906x faster
   get-by-val-with-string-bimorphic-check-structure-elimination-simple   
                                                     25.4583+-3.0973           25.4190+-1.9566        
   get-by-val-with-string-bimorphic-check-structure-elimination   
                                                     61.7146+-2.1415     ?     64.1429+-6.3696        ? might be 1.0393x slower
   get-by-val-with-string-chain-from-try-block   
                                                     15.3152+-0.7746           15.1277+-0.2966          might be 1.0124x faster
   get-by-val-with-string-check-structure-elimination   
                                                     51.9030+-1.4397     ?     52.1370+-1.7423        ?
   get-by-val-with-string-proto-or-self             125.1975+-9.3368          118.2734+-10.0015         might be 1.0585x faster
   get-by-val-with-string-quadmorphic-check-structure-elimination-simple   
                                                     32.1366+-1.2193     ?     35.0125+-4.5525        ? might be 1.0895x slower
   get-by-val-with-string-self-or-proto             116.7083+-5.1996     ?    116.8854+-14.3928       ?
   get-by-val-with-symbol-bimorphic-check-structure-elimination-simple   
                                                     32.1347+-3.0090           30.0809+-1.9466          might be 1.0683x faster
   get-by-val-with-symbol-bimorphic-check-structure-elimination   
                                                    120.3906+-11.0537         117.3497+-2.2127          might be 1.0259x faster
   get-by-val-with-symbol-chain-from-try-block   
                                                     15.2810+-0.7434           14.8809+-0.2018          might be 1.0269x faster
   get-by-val-with-symbol-check-structure-elimination   
                                                    102.9545+-2.7765          101.7386+-2.4803          might be 1.0120x faster
   get-by-val-with-symbol-proto-or-self             117.4892+-3.2699     ?    118.0263+-4.9909        ?
   get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple   
                                                     39.9579+-2.5855           37.6209+-1.8585          might be 1.0621x faster
   get-by-val-with-symbol-self-or-proto             123.5155+-5.0466     ?    127.8084+-12.5512       ? might be 1.0348x slower
   get_callee_monomorphic                            22.8955+-1.1601           21.8961+-0.8305          might be 1.0456x faster
   get_callee_polymorphic                            22.5811+-2.6543           22.1932+-1.6230          might be 1.0175x faster
   getter-no-activation                              32.2466+-0.6583     ?     32.4869+-0.5105        ?
   getter-prototype                                  62.9038+-1.3070     ?     63.1887+-1.8431        ?
   getter-richards-try-catch                       7439.2906+-100.2175   ?   7561.9803+-135.7924      ? might be 1.0165x slower
   getter-richards                                 1034.5029+-27.3592    ?   1040.0813+-26.6802       ?
   getter                                            41.1127+-2.7953           39.6100+-1.2016          might be 1.0379x faster
   global-object-access-with-mutating-structure   
                                                     40.1761+-6.1580           38.7239+-4.4406          might be 1.0375x faster
   global-var-const-infer-fire-from-opt               5.8555+-1.2578            5.3885+-1.0119          might be 1.0867x faster
   global-var-const-infer                             4.8159+-0.6612            4.7100+-0.6866          might be 1.0225x faster
   hard-overflow-check-equal                        197.4247+-2.9028     ?    201.9360+-7.6058        ? might be 1.0229x slower
   hard-overflow-check                              197.0093+-5.2921          195.8808+-1.6683        
   HashMap-put-get-iterate-keys                     242.5242+-7.2437          234.1064+-9.8574          might be 1.0360x faster
   HashMap-put-get-iterate                          245.9733+-11.0033    ?    251.1104+-10.1797       ? might be 1.0209x slower
   HashMap-string-put-get-iterate                   262.4806+-17.0988         255.0180+-4.7993          might be 1.0293x faster
   hoist-make-rope                                   61.3640+-2.0564     ?     62.1887+-3.6646        ? might be 1.0134x slower
   hoist-poly-check-structure-effectful-loop   
                                                     33.2069+-1.9901           32.9044+-1.5906        
   hoist-poly-check-structure                        23.9777+-1.3177     ?     24.6169+-0.8462        ? might be 1.0267x slower
   imul-double-only                                  46.4455+-3.2123     ?     47.9195+-3.5234        ? might be 1.0317x slower
   imul-int-only                                     46.7033+-2.4373     ?     49.0479+-2.5110        ? might be 1.0502x slower
   imul-mixed                                        44.1217+-3.0165     ?     46.4489+-4.0805        ? might be 1.0527x slower
   in-four-cases                                    132.3111+-1.3645     ?    139.3483+-8.4667        ? might be 1.0532x slower
   in-one-case-false                                 87.1871+-3.9024     ?     90.8621+-3.0009        ? might be 1.0422x slower
   in-one-case-true                                  91.9971+-5.8642           91.2800+-8.2798        
   in-two-cases                                      94.1604+-6.4886           91.7974+-4.3742          might be 1.0257x faster
   indexed-properties-in-objects                     23.5090+-1.0266           23.1531+-1.0079          might be 1.0154x faster
   infer-closure-const-then-mov-no-inline            39.5889+-4.1582           37.4361+-1.4586          might be 1.0575x faster
   infer-closure-const-then-mov                     108.3543+-2.7836          105.1573+-2.3373          might be 1.0304x faster
   infer-closure-const-then-put-to-scope-no-inline   
                                                     73.8618+-4.1594           72.5915+-3.5290          might be 1.0175x faster
   infer-closure-const-then-put-to-scope            122.2302+-3.1486     ?    126.8000+-5.3187        ? might be 1.0374x slower
   infer-closure-const-then-reenter-no-inline   
                                                    303.7436+-24.8030         293.2769+-4.8959          might be 1.0357x faster
   infer-closure-const-then-reenter                 127.6003+-4.5925     ?    130.1367+-10.6536       ? might be 1.0199x slower
   infer-constant-global-property                    21.2719+-0.2141           20.9713+-0.4650          might be 1.0143x faster
   infer-constant-property                           20.5729+-2.1643           19.1651+-0.6576          might be 1.0735x faster
   infer-one-time-closure-ten-vars                   58.0474+-3.4145           57.6999+-4.1631        
   infer-one-time-closure-two-vars                   53.9786+-1.8947     ?     55.5354+-1.6895        ? might be 1.0288x slower
   infer-one-time-closure                            54.0497+-2.6889     ?     55.7831+-4.3760        ? might be 1.0321x slower
   infer-one-time-deep-closure                       86.2099+-3.8143     ?     88.6582+-7.0511        ? might be 1.0284x slower
   inline-arguments-access                           28.2180+-2.0329     ?     28.5418+-1.2325        ? might be 1.0115x slower
   inline-arguments-aliased-access                   28.8702+-0.7018           27.6418+-0.9835          might be 1.0444x faster
   inline-arguments-local-escape                     28.6228+-1.6619     ?     29.0631+-1.5065        ? might be 1.0154x slower
   inline-get-scoped-var                             30.6546+-0.3998           30.3474+-0.3003          might be 1.0101x faster
   inlined-put-by-id-transition                      70.8786+-4.7837           70.7156+-2.7142        
   inlined-put-by-val-with-string-transition   
                                                    288.6105+-6.5557          283.0253+-9.5009          might be 1.0197x faster
   inlined-put-by-val-with-symbol-transition   
                                                    285.5282+-4.9751     ?    288.0415+-7.3454        ?
   int-or-other-abs-then-get-by-val                  35.8548+-2.2182           33.3100+-2.2294          might be 1.0764x faster
   int-or-other-abs-zero-then-get-by-val            113.1167+-4.2468          108.3478+-6.3169          might be 1.0440x faster
   int-or-other-add-then-get-by-val                  31.5777+-3.2311     ?     35.4733+-3.7839        ? might be 1.1234x slower
   int-or-other-add                                  32.9695+-2.8993     ?     35.3986+-4.5898        ? might be 1.0737x slower
   int-or-other-div-then-get-by-val                  29.8175+-2.0949           28.8421+-0.9899          might be 1.0338x faster
   int-or-other-max-then-get-by-val                  30.1508+-2.9399     ?     31.5998+-1.7841        ? might be 1.0481x slower
   int-or-other-min-then-get-by-val                  33.0020+-3.2732           31.3052+-3.4360          might be 1.0542x faster
   int-or-other-mod-then-get-by-val                  26.7600+-1.2373     ?     27.4178+-2.1078        ? might be 1.0246x slower
   int-or-other-mul-then-get-by-val                  27.8539+-1.7683     ?     28.2698+-1.5700        ? might be 1.0149x slower
   int-or-other-neg-then-get-by-val                  32.0579+-2.6089           30.3278+-3.0388          might be 1.0570x faster
   int-or-other-neg-zero-then-get-by-val            105.6652+-6.4521          103.6017+-4.2521          might be 1.0199x faster
   int-or-other-sub-then-get-by-val                  33.6273+-4.3091     ?     35.0634+-4.3363        ? might be 1.0427x slower
   int-or-other-sub                                  28.8936+-3.5562           28.3027+-2.8231          might be 1.0209x faster
   int-overflow-local                                36.0428+-3.3607           34.9950+-1.4187          might be 1.0299x faster
   Int16Array-alloc-long-lived                      414.0408+-5.1609          412.9801+-10.8979       
   Int16Array-bubble-sort-with-byteLength           140.3655+-4.3537     ?    142.8105+-6.2125        ? might be 1.0174x slower
   Int16Array-bubble-sort                           139.2645+-2.1049     ?    144.1495+-9.0071        ? might be 1.0351x slower
   Int16Array-load-int-mul                           16.9655+-2.3887     ?     20.3563+-1.2355        ? might be 1.1999x slower
   Int16Array-to-Int32Array-set                     293.7810+-19.2267    ?    294.7234+-17.3502       ?
   Int32Array-alloc-large                           118.1516+-3.0678     ?    118.9050+-2.4182        ?
   Int32Array-alloc-long-lived                      434.9179+-10.5194         428.1853+-9.4269          might be 1.0157x faster
   Int32Array-alloc                                  21.1794+-1.1853     ?     22.5009+-2.2815        ? might be 1.0624x slower
   Int32Array-Int8Array-view-alloc                   40.5848+-2.7575     ?     41.8548+-4.5808        ? might be 1.0313x slower
   int52-spill                                       39.9429+-3.8723     ?     43.5003+-4.4078        ? might be 1.0891x slower
   Int8Array-alloc-long-lived                       361.2815+-15.9496         355.7922+-16.3056         might be 1.0154x faster
   Int8Array-load-with-byteLength                    24.7728+-2.1406           24.0679+-0.7930          might be 1.0293x faster
   Int8Array-load                                    24.9539+-1.6313           23.9702+-1.5853          might be 1.0410x faster
   integer-divide                                    75.4961+-3.6220           74.8463+-1.9660        
   integer-modulo                                    21.4453+-1.3348           19.7616+-1.0856          might be 1.0852x faster
   is-boolean-fold-tricky                            27.5968+-2.8911     ?     27.9692+-3.9923        ? might be 1.0135x slower
   is-boolean-fold                                   20.8186+-0.7146     ?     20.9853+-0.8507        ?
   is-function-fold-tricky-internal-function   
                                                     80.5955+-15.3388          73.8285+-6.7594          might be 1.0917x faster
   is-function-fold-tricky                           28.4310+-3.1548           27.9651+-3.2320          might be 1.0167x faster
   is-function-fold                                  21.5049+-0.6110           20.6832+-1.0722          might be 1.0397x faster
   is-number-fold-tricky                             30.3958+-3.0912           29.8339+-3.7573          might be 1.0188x faster
   is-number-fold                                    20.9139+-1.0185     ?     21.4782+-0.2281        ? might be 1.0270x slower
   is-object-or-null-fold-functions                  21.2103+-0.7097     ?     21.2178+-0.9225        ?
   is-object-or-null-fold-less-tricky                27.7766+-2.7556     ?     29.2303+-2.5157        ? might be 1.0523x slower
   is-object-or-null-fold-tricky                     36.3703+-5.0491     ?     38.4519+-5.0161        ? might be 1.0572x slower
   is-object-or-null-fold                            21.5919+-0.6342           20.8412+-0.9444          might be 1.0360x faster
   is-object-or-null-trickier-function               30.9670+-0.9129           29.5915+-2.1123          might be 1.0465x faster
   is-object-or-null-trickier-internal-function   
                                                     76.1633+-6.8044     ?     76.2104+-8.8930        ?
   is-object-or-null-tricky-function                 29.9841+-2.1435     ?     30.1091+-2.2392        ?
   is-object-or-null-tricky-internal-function   
                                                     52.4604+-3.8272     ?     53.0280+-4.4840        ? might be 1.0108x slower
   is-string-fold-tricky                             28.6809+-2.9507           27.6410+-3.1509          might be 1.0376x faster
   is-string-fold                                    21.1254+-1.3133           20.9288+-0.6921        
   is-undefined-fold-tricky                          27.6399+-3.6503           26.7113+-0.6298          might be 1.0348x faster
   is-undefined-fold                                 21.2455+-0.7474           20.7764+-0.9585          might be 1.0226x faster
   JSONP-negative-0                                   1.7598+-0.4557            1.4644+-0.0510          might be 1.2017x faster
   large-int-captured                                31.5883+-1.1263           31.1993+-2.0704          might be 1.0125x faster
   large-int-neg                                     90.8738+-7.5658           88.0585+-3.7051          might be 1.0320x faster
   large-int                                         82.2344+-5.9553     ?     84.8481+-7.5053        ? might be 1.0318x slower
   load-varargs-elimination                         128.6814+-3.6905     ?    130.3015+-5.7107        ? might be 1.0126x slower
   logical-not-weird-types                           24.9646+-1.1368     ?     25.0066+-1.7074        ?
   logical-not                                       32.3065+-4.0140           31.0624+-5.6206          might be 1.0401x faster
   lots-of-fields                                    77.6734+-5.7490     ?     81.4124+-8.6141        ? might be 1.0481x slower
   make-indexed-storage                              26.4108+-0.5891           26.3351+-0.7573        
   make-rope-cse                                     63.7290+-23.3034          63.2879+-24.1401       
   marsaglia-larger-ints                            231.5888+-3.7372     ?    235.4858+-8.0286        ? might be 1.0168x slower
   marsaglia-osr-entry                              131.7492+-5.3470     ?    140.9822+-10.6871       ? might be 1.0701x slower
   math-with-out-of-bounds-array-values             138.0207+-7.4522     ?    143.7501+-14.7076       ? might be 1.0415x slower
   max-boolean                                       21.1494+-0.9057           20.6707+-1.0428          might be 1.0232x faster
   method-on-number                                  96.9545+-3.9263     ?     99.5086+-5.6049        ? might be 1.0263x slower
   min-boolean                                       20.3871+-0.7161     ?     20.9946+-0.6947        ? might be 1.0298x slower
   minus-boolean-double                              20.2047+-0.3411           20.1639+-0.6771        
   minus-boolean                                     19.2968+-1.1815           19.1006+-0.6501          might be 1.0103x faster
   misc-strict-eq                                   192.7561+-11.0636    ?    194.6218+-5.3801        ?
   mod-boolean-double                                63.7414+-3.1473           63.6026+-1.9772        
   mod-boolean                                       43.0380+-0.8316     ?     43.7653+-1.5681        ? might be 1.0169x slower
   mul-boolean-double                                22.1679+-0.6482           21.5932+-0.4637          might be 1.0266x faster
   mul-boolean                                       19.9781+-0.8473           19.8300+-0.5968        
   neg-boolean                                       22.2106+-1.2857           21.8952+-0.5372          might be 1.0144x faster
   negative-zero-divide                               2.5881+-0.3479     ?      2.8442+-0.4786        ? might be 1.0990x slower
   negative-zero-modulo                               2.9882+-0.5584            2.8665+-0.4348          might be 1.0424x faster
   negative-zero-negate                               3.0559+-0.4976            2.8812+-0.7461          might be 1.0606x faster
   nested-function-parsing                          254.9090+-3.2695          253.6252+-7.9046        
   new-array-buffer-dead                            570.0752+-8.5637     ?    572.4095+-11.9470       ?
   new-array-buffer-push                             81.3050+-2.2111     ?     85.5316+-6.2747        ? might be 1.0520x slower
   new-array-dead                                   110.5699+-3.6611          107.8911+-4.5895          might be 1.0248x faster
   new-array-push                                    32.3671+-1.9030     ?     32.4062+-1.3898        ?
   no-inline-constructor                            234.5881+-5.8258          227.2654+-6.9313          might be 1.0322x faster
   number-test                                       20.7652+-0.7566           20.5342+-0.7042          might be 1.0112x faster
   object-closure-call                               39.0291+-2.9705           37.6329+-3.7276          might be 1.0371x faster
   object-get-own-property-symbols-on-large-array   
                                                     25.6381+-1.7280     ?     28.9028+-2.1589        ? might be 1.1273x slower
   object-test                                       20.9040+-1.7052     ?     21.3716+-1.6827        ? might be 1.0224x slower
   obvious-sink-pathology-taken                     698.2741+-10.4222         698.1639+-13.2716       
   obvious-sink-pathology                           218.7240+-5.7427          215.5443+-8.0669          might be 1.0148x faster
   obviously-elidable-new-object                    208.5641+-5.4856          206.7479+-4.1272        
   plus-boolean-arith                                19.8546+-0.4223     ?     19.9548+-0.6123        ?
   plus-boolean-double                               21.5928+-2.4518           20.2342+-0.5601          might be 1.0671x faster
   plus-boolean                                      19.4352+-1.1187           18.6309+-0.6055          might be 1.0432x faster
   poly-chain-access-different-prototypes-simple   
                                                     23.2156+-1.6828     ?     24.3576+-1.4059        ? might be 1.0492x slower
   poly-chain-access-different-prototypes            20.3248+-1.2430     ?     20.8123+-1.0686        ? might be 1.0240x slower
   poly-chain-access-simpler                         22.8906+-1.4199     ?     24.1867+-2.6669        ? might be 1.0566x slower
   poly-chain-access                                 20.5511+-1.0672           20.2842+-1.2444          might be 1.0132x faster
   poly-stricteq                                    338.8976+-4.1419     ?    342.3390+-23.2289       ? might be 1.0102x slower
   polymorphic-array-call                            15.4984+-0.6771     ?     15.5124+-1.0716        ?
   polymorphic-get-by-id                             22.9206+-1.4691     ?     23.0477+-0.7007        ?
   polymorphic-put-by-id                            212.0586+-7.8434     ?    212.9590+-10.7822       ?
   polymorphic-put-by-val-with-string               216.8737+-11.3723         214.6953+-9.8213          might be 1.0101x faster
   polymorphic-put-by-val-with-symbol               208.0868+-0.8865     ?    212.2851+-6.7120        ? might be 1.0202x slower
   polymorphic-structure                             79.5648+-2.7442     ?     83.5221+-4.5936        ? might be 1.0497x slower
   polyvariant-monomorphic-get-by-id                 69.7090+-5.3605           66.6412+-1.5460          might be 1.0460x faster
   proto-getter-access                               60.9397+-4.5792           58.1961+-2.4087          might be 1.0471x faster
   prototype-access-with-mutating-prototype          38.3606+-4.8471           36.9279+-3.2655          might be 1.0388x faster
   put-by-id-replace-and-transition                  54.7204+-4.0735     ?     55.8335+-3.2174        ? might be 1.0203x slower
   put-by-id-slightly-polymorphic                    21.3425+-0.9432     ?     21.4415+-1.3311        ?
   put-by-id                                         77.3204+-3.5293           75.3388+-4.1252          might be 1.0263x faster
   put-by-val-direct                                  3.2748+-0.6193            2.8743+-0.5214          might be 1.1393x faster
   put-by-val-large-index-blank-indexing-type   
                                                     37.6198+-3.0133     ?     41.7556+-4.1608        ? might be 1.1099x slower
   put-by-val-machine-int                            22.4891+-0.7455     ?     22.8433+-0.5951        ? might be 1.0158x slower
   put-by-val-with-string-replace-and-transition   
                                                     72.4495+-3.4090           70.7083+-1.3172          might be 1.0246x faster
   put-by-val-with-string-slightly-polymorphic   
                                                     26.1489+-0.5987     ?     26.4767+-2.0976        ? might be 1.0125x slower
   put-by-val-with-string                            75.0376+-2.7471           73.4000+-2.3443          might be 1.0223x faster
   put-by-val-with-symbol-replace-and-transition   
                                                     76.7366+-1.9654           76.0969+-1.4409        
   put-by-val-with-symbol-slightly-polymorphic   
                                                     31.0532+-1.3520           30.3522+-1.0932          might be 1.0231x faster
   put-by-val-with-symbol                            73.9956+-2.0578     ?     74.4643+-2.0611        ?
   rare-osr-exit-on-local                            90.2668+-4.4570     ?     90.5140+-5.8072        ?
   raytrace-with-empty-try-catch                     45.8954+-6.5968           45.2542+-5.2048          might be 1.0142x faster
   raytrace-with-try-catch                           88.3881+-10.7426          87.9826+-3.2670        
   register-pressure-from-osr                       120.6426+-10.4559    ?    122.7211+-11.1620       ? might be 1.0172x slower
   repeat-multi-get-by-offset                       135.2970+-6.6761          132.5757+-8.3305          might be 1.0205x faster
   richards-empty-try-catch                         465.0954+-8.1787     ?    473.5721+-27.2325       ? might be 1.0182x slower
   richards-try-catch                              1520.9032+-13.6537        1511.0594+-26.5284       
   setter-prototype                                  53.0567+-2.3874           50.9932+-1.1531          might be 1.0405x faster
   setter                                            38.6514+-1.0862     !     49.8688+-1.2346        ! definitely 1.2902x slower
   simple-activation-demo                           147.5407+-6.6730     ?    157.4915+-9.8142        ? might be 1.0674x slower
   simple-getter-access                              74.9830+-3.1541           73.7732+-2.0431          might be 1.0164x faster
   simple-poly-call-nested                           55.8170+-2.1653           55.2667+-1.4896        
   simple-poly-call                                  16.5826+-1.2309     ?     16.8123+-1.6535        ? might be 1.0139x slower
   sin-boolean                                      108.2684+-8.0668          105.2971+-4.3302          might be 1.0282x faster
   singleton-scope                                  368.6896+-33.0565         358.7339+-7.4452          might be 1.0278x faster
   sink-function                                     63.1319+-4.9748           62.9786+-2.5910        
   sink-huge-activation                              96.5660+-3.9652     ?    103.7682+-3.7147        ? might be 1.0746x slower
   sinkable-new-object-dag                          387.7722+-7.8665     ?    387.8447+-12.5376       ?
   sinkable-new-object-taken                        302.9868+-10.4481         300.0339+-9.3971        
   sinkable-new-object                              212.8099+-9.8478     ?    214.3688+-6.8136        ?
   slow-array-profile-convergence                    18.0910+-0.8064     ?     18.5372+-1.6007        ? might be 1.0247x slower
   slow-convergence                                  17.7572+-1.5806     ?     20.0832+-1.7175        ? might be 1.1310x slower
   slow-ternaries                                   140.5127+-7.2927          135.0395+-3.2588          might be 1.0405x faster
   sorting-benchmark                                116.7383+-13.9113         110.2499+-1.5169          might be 1.0589x faster
   sparse-conditional                                12.4335+-1.1217     ?     13.2960+-2.2575        ? might be 1.0694x slower
   splice-to-remove                                  86.5713+-2.9699           85.1324+-2.0673          might be 1.0169x faster
   string-char-code-at                               97.8467+-6.3406     ?    103.4617+-7.9525        ? might be 1.0574x slower
   string-concat-object                              14.8041+-1.3678           14.3506+-1.1746          might be 1.0316x faster
   string-concat-pair-object                         14.1347+-1.1341           13.8463+-0.9804          might be 1.0208x faster
   string-concat-pair-simple                         73.2318+-3.2406     ?     74.7151+-3.2567        ? might be 1.0203x slower
   string-concat-simple                              77.2840+-4.0715     ?     77.7724+-6.0493        ?
   string-cons-repeat                                54.5978+-4.9403     ?     56.3950+-3.4749        ? might be 1.0329x slower
   string-cons-tower                                 54.8371+-3.4728           52.2709+-3.7407          might be 1.0491x faster
   string-equality                                  123.6823+-6.2875          119.8359+-12.1348         might be 1.0321x faster
   string-get-by-val-big-char                        48.6850+-3.4766           48.2600+-3.0194        
   string-get-by-val-out-of-bounds-insane            23.0407+-2.0489     ?     23.6817+-6.2195        ? might be 1.0278x slower
   string-get-by-val-out-of-bounds                   40.3425+-0.9776     ?     40.3758+-2.7637        ?
   string-get-by-val                                 27.6425+-2.9547           27.4706+-2.4720        
   string-hash                                       21.8142+-1.8052           20.3273+-0.8663          might be 1.0731x faster
   string-long-ident-equality                        99.2269+-7.0653     ?    101.6585+-8.7218        ? might be 1.0245x slower
   string-out-of-bounds                              75.4349+-3.1444     ?     78.4782+-7.1822        ? might be 1.0403x slower
   string-repeat-arith                              167.1833+-3.4738          165.3757+-1.8531          might be 1.0109x faster
   string-sub                                       225.8175+-4.6483          223.7131+-3.6372        
   string-test                                       20.3033+-0.4953     ?     20.6263+-1.2412        ? might be 1.0159x slower
   string-var-equality                              191.8360+-3.9785     ?    193.7697+-4.2185        ? might be 1.0101x slower
   structure-hoist-over-transitions                  19.5381+-0.7318           18.8941+-0.8062          might be 1.0341x faster
   substring-concat-weird                           246.4594+-3.5166     ?    252.1599+-6.9033        ? might be 1.0231x slower
   substring-concat                                 266.5085+-5.9785     ?    271.2991+-14.9789       ? might be 1.0180x slower
   substring                                        296.8947+-5.8104     ?    299.5863+-7.5064        ?
   switch-char-constant                              24.2994+-2.2307           22.8694+-0.7850          might be 1.0625x faster
   switch-char                                       49.8199+-2.5269           49.3379+-1.5740        
   switch-constant                                   51.7869+-2.7596     ?     52.4816+-1.6079        ? might be 1.0134x slower
   switch-string-basic-big-var                      122.0087+-11.4473    ?    130.5538+-13.0632       ? might be 1.0700x slower
   switch-string-basic-big                          122.0480+-14.4163         121.4859+-21.8805       
   switch-string-basic-var                          103.1384+-6.4397           93.5410+-4.9829          might be 1.1026x faster
   switch-string-basic                               96.0862+-7.4738     ?     96.2378+-13.6305       ?
   switch-string-big-length-tower-var               125.9320+-8.8751          119.9949+-8.9661          might be 1.0495x faster
   switch-string-length-tower-var                    98.4826+-4.4666           94.8630+-6.7352          might be 1.0382x faster
   switch-string-length-tower                        81.2186+-3.5539           80.6365+-4.9974        
   switch-string-short                               79.7038+-4.3658     ?     80.9059+-5.5167        ? might be 1.0151x slower
   switch                                            74.6167+-2.2768           72.2062+-2.7012          might be 1.0334x faster
   tear-off-arguments-simple                         25.4145+-2.0719           23.8238+-0.6953          might be 1.0668x faster
   tear-off-arguments                                30.1293+-1.2720     ?     30.4761+-0.8782        ? might be 1.0115x slower
   temporal-structure                                75.5294+-4.3503     ?     77.2843+-3.8437        ? might be 1.0232x slower
   to-int32-boolean                                  81.8837+-1.5243           81.8167+-3.2222        
   try-catch-get-by-val-cloned-arguments             68.8909+-3.6470           67.2928+-2.7079          might be 1.0237x faster
   try-catch-get-by-val-direct-arguments             14.1557+-0.5459     ?     14.3083+-0.7135        ? might be 1.0108x slower
   try-catch-get-by-val-scoped-arguments             29.6014+-1.6277           29.4226+-1.5063        
   typed-array-get-set-by-val-profiling             185.6413+-5.8530     ?    187.8572+-10.0398       ? might be 1.0119x slower
   undefined-property-access                       1920.5441+-18.4318    ?   1921.0068+-12.2927       ?
   undefined-test                                    20.9133+-0.6927           20.7510+-1.5002        
   unprofiled-licm                                   69.8514+-2.1820     ?     73.2597+-5.3848        ? might be 1.0488x slower
   v8-raytrace-with-empty-try-catch                 454.4405+-23.1414         450.8443+-23.1058       
   v8-raytrace-with-try-catch                       491.6582+-13.4017    ?    494.0941+-11.1226       ?
   varargs-call                                      92.0271+-4.1076     ?     92.8823+-4.0608        ?
   varargs-construct-inline                         152.2624+-5.7617          150.6516+-5.1035          might be 1.0107x faster
   varargs-construct                                133.3859+-8.6071          132.2691+-4.6177        
   varargs-inline                                    63.9172+-4.4543     ?     65.2684+-3.1963        ? might be 1.0211x slower
   varargs-strict-mode                               64.3584+-4.2519     ?     73.2272+-8.1800        ? might be 1.1378x slower
   varargs                                           68.2766+-9.2920           65.6472+-6.6378          might be 1.0401x faster
   weird-inlining-const-prop                         34.7619+-2.5935           34.3427+-5.9477          might be 1.0122x faster

   <geometric>                                       61.5038+-0.1595     ?     61.5067+-0.2936        ? might be 1.0000x slower

                                                           Fix                    BeforeFix                                     
Geomean of preferred means:
   <scaled-result>                                  191.5399+-0.8679     ?    191.6696+-0.7958        ? might be 1.0007x slower
Comment 5 Geoffrey Garen 2015-11-05 12:24:48 PST
Can you add a regression test to your patch? The project requires that each behavior change patch should include a regression test.
Comment 6 GSkachkov 2015-11-05 13:24:44 PST
(In reply to comment #5)
> Can you add a regression test to your patch? The project requires that each
> behavior change patch should include a regression test.

I've managed to reproduce it only in https://bugs.webkit.org/show_bug.cgi?id=149338 in one of the tests. 
Would it be OK to land 149338 patch with the commented failed test and then this patch with uncommented test?
Comment 7 Geoffrey Garen 2015-11-05 13:34:05 PST
Comment on attachment 264868 [details]
Patch

Yes, that's OK.

r=me
Comment 8 WebKit Commit Bot 2015-11-05 14:22:14 PST
Comment on attachment 264868 [details]
Patch

Clearing flags on attachment: 264868

Committed r192078: <http://trac.webkit.org/changeset/192078>
Comment 9 WebKit Commit Bot 2015-11-05 14:22:20 PST
All reviewed patches have been landed.  Closing bug.