Bug 125711 - C calls in PolymorphicAccess shouldn't assume that the top of the stack looks like a JSC JIT frame and enable *ByIdFlush in FTL
Summary: C calls in PolymorphicAccess shouldn't assume that the top of the stack looks...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Saam Barati
URL:
Keywords:
Depends on:
Blocks: 132356
  Show dependency treegraph
 
Reported: 2013-12-13 14:28 PST by Filip Pizlo
Modified: 2015-10-21 14:49 PDT (History)
9 users (show)

See Also:


Attachments
WIP (14.96 KB, patch)
2015-10-20 16:35 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
patch (17.70 KB, patch)
2015-10-20 17:09 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
patch (19.38 KB, patch)
2015-10-21 13:10 PDT, Saam Barati
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2013-12-13 14:28:00 PST
Patch forthcoming.
Comment 1 Filip Pizlo 2014-01-30 13:26:10 PST
Some clarification: this is the reason why we don't support GetByIdFlush right now.
Comment 2 Saam Barati 2015-10-20 16:35:46 PDT
Created attachment 263631 [details]
WIP

This is probably the patch, I just want to run perf numbers before landing.
Comment 3 Saam Barati 2015-10-20 17:09:00 PDT
Created attachment 263637 [details]
patch

Now with a changelog.
I think this patch is ready for review. I'll run and post performance numbers
before landing the patch (if performance is good/neutral).
Comment 4 Saam Barati 2015-10-20 17:09:47 PDT
Comment on attachment 263637 [details]
patch

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

> Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp:1012
> +            if (!numberOfBytesUsedToPreserveReusedRegisters) {
> +                unsigned stackOffset = WTF::roundUpToMultipleOf(stackAlignmentBytes(), maxFrameExtentForSlowPathCall);
> +                if (stackOffset) {
> +                    jit.subPtr(
> +                        CCallHelpers::TrustedImm32(stackOffset),
> +                        CCallHelpers::stackPointerRegister);
> +                }
> +            }

This code and the respective incrementing of the stack may deserve its own helper function.
Comment 5 Saam Barati 2015-10-21 13:10:31 PDT
Created attachment 263722 [details]
patch
Comment 6 Saam Barati 2015-10-21 13:57:02 PDT
perf:
Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, and JSRegress on Saams-Mac-Pro (MacPro6,1).

VMs tested:
"og" at /Volumes/Data/WK/os-a/OpenSource/WebKitBuild/Release/jsc (r191365)
"FTLGetPutByIdFlush" at /Volumes/Data/WK/os-b/OpenSource/WebKitBuild/Release/jsc (r191365)

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

                                                            og                FTLGetPutByIdFlush                                
SunSpider:
   3d-cube                                           10.3725+-0.3872           10.1750+-0.1102          might be 1.0194x faster
   3d-morph                                          10.1964+-0.0382     ?     10.2101+-0.0432        ?
   3d-raytrace                                       12.0210+-0.2383     ?     12.0833+-0.3436        ?
   access-binary-trees                                4.1777+-0.0669            4.1610+-0.0454        
   access-fannkuch                                   11.5863+-0.1631           11.5795+-0.0522        
   access-nbody                                       5.5217+-0.0118     ?      5.5600+-0.0859        ?
   access-nsieve                                      6.4817+-0.3064            6.3042+-0.0826          might be 1.0282x faster
   bitops-3bit-bits-in-byte                           2.3778+-0.0360            2.3449+-0.0120          might be 1.0140x faster
   bitops-bits-in-byte                                6.1410+-0.0370     ?      6.1576+-0.0927        ?
   bitops-bitwise-and                                 3.9586+-0.0152     ?      3.9844+-0.0319        ?
   bitops-nsieve-bits                                 5.6875+-0.0163     ?      5.6876+-0.0082        ?
   controlflow-recursive                              4.5168+-0.0248     ?      4.5639+-0.0643        ? might be 1.0104x slower
   crypto-aes                                         8.6504+-0.0555     ?      8.7662+-0.1921        ? might be 1.0134x slower
   crypto-md5                                         4.9954+-0.0529     ?      5.0013+-0.0470        ?
   crypto-sha1                                        4.7178+-0.0198            4.7044+-0.0250        
   date-format-tofte                                 17.0622+-0.2271           17.0246+-0.2811        
   date-format-xparb                                 10.2315+-0.3820           10.2137+-0.3240        
   math-cordic                                        5.4633+-0.0636            5.4453+-0.0331        
   math-partial-sums                                 10.3344+-0.0994     ^     10.2085+-0.0197        ^ definitely 1.0123x faster
   math-spectral-norm                                 3.8560+-0.0261            3.8335+-0.0212        
   regexp-dna                                        12.7555+-0.0904     ?     12.8246+-0.2510        ?
   string-base64                                      8.5485+-0.0293     ?      8.5811+-0.1173        ?
   string-fasta                                      11.5161+-0.0822     ?     11.5414+-0.1613        ?
   string-tagcloud                                   16.3588+-0.2577     ?     16.3630+-0.1434        ?
   string-unpack-code                                36.3672+-0.8336     ?     36.5715+-0.5530        ?
   string-validate-input                              8.5562+-0.2215     ?      8.5941+-0.1075        ?

   <arithmetic>                                       9.3251+-0.0508     ?      9.3263+-0.0169        ? might be 1.0001x slower

                                                            og                FTLGetPutByIdFlush                                
LongSpider:
   3d-cube                                         1580.3456+-5.4836     ?   1592.9001+-19.7890       ?
   3d-morph                                        2812.4348+-2.1632         2811.4871+-1.9699        
   3d-raytrace                                     1233.8668+-8.1091     ?   1235.6562+-2.5791        ?
   access-binary-trees                             1585.7750+-3.1075         1584.9970+-5.5826        
   access-fannkuch                                  646.0040+-12.4756    ?    650.2081+-10.7889       ?
   access-nbody                                    1081.8744+-0.1493     ?   1082.3600+-0.6360        ?
   access-nsieve                                    741.9214+-3.0885          741.5605+-5.1884        
   bitops-3bit-bits-in-byte                          68.8749+-0.7070           68.4581+-0.1216        
   bitops-bits-in-byte                              180.8797+-2.0931          180.6799+-2.0713        
   bitops-nsieve-bits                               798.5990+-0.7866          793.8543+-4.0834        
   controlflow-recursive                            884.9874+-0.3817     ?    885.2293+-0.5771        ?
   crypto-aes                                      1124.6741+-6.0099     ?   1129.3689+-5.6893        ?
   crypto-md5                                       950.5893+-12.7415         943.3004+-4.4041        
   crypto-sha1                                     1319.2210+-7.6587     ?   1324.0231+-7.0068        ?
   date-format-tofte                               1342.6245+-23.3287        1338.4073+-9.5761        
   date-format-xparb                               1461.1801+-62.0036        1419.8145+-31.1734         might be 1.0291x faster
   hash-map                                         295.1915+-1.9812          294.6568+-3.0448        
   math-cordic                                      989.5805+-2.6571          989.0898+-2.1950        
   math-partial-sums                                992.7599+-2.1071          990.7796+-1.1834        
   math-spectral-norm                              1043.9452+-3.7308         1042.2636+-2.9816        
   string-base64                                    717.4352+-35.4524    ?    733.4597+-46.5557       ? might be 1.0223x slower
   string-fasta                                     739.3921+-4.2592          736.6447+-4.2057        
   string-tagcloud                                  352.8330+-4.1245     ?    357.6675+-3.3820        ? might be 1.0137x slower

   <geometric>                                      801.7241+-1.1487          801.6068+-2.6903          might be 1.0001x faster

                                                            og                FTLGetPutByIdFlush                                
V8Spider:
   crypto                                            95.5741+-0.5418           95.4929+-0.5539        
   deltablue                                        119.3330+-3.5327     ?    120.9410+-2.9700        ? might be 1.0135x slower
   earley-boyer                                      80.9198+-0.2944     ?     80.9979+-0.6760        ?
   raytrace                                          55.3568+-0.4538           55.3074+-0.5770        
   regexp                                           132.3470+-0.5573     ?    132.9472+-0.9850        ?
   richards                                          99.4015+-0.4961     ?     99.4573+-0.5606        ?
   splay                                             65.0081+-0.7690           64.9568+-0.4893        

   <geometric>                                       88.8374+-0.5814     ?     89.0521+-0.3295        ? might be 1.0024x slower

                                                            og                FTLGetPutByIdFlush                                
Octane:
   encrypt                                           0.33779+-0.00769          0.33276+-0.00319         might be 1.0151x faster
   decrypt                                           6.00193+-0.01454    ?     6.01396+-0.01304       ?
   deltablue                                x2       0.27442+-0.00145          0.27378+-0.00141       
   earley                                            0.60919+-0.00092          0.60882+-0.00447       
   boyer                                             9.51924+-0.03316    ?     9.53118+-0.01656       ?
   navier-stokes                            x2       9.34622+-0.00890    ?     9.34854+-0.01075       ?
   raytrace                                 x2       1.76075+-0.00666          1.76054+-0.00811       
   richards                                 x2       0.19269+-0.00115          0.19268+-0.00069       
   splay                                    x2       0.60854+-0.00403    ?     0.60894+-0.00387       ?
   regexp                                   x2      49.35221+-0.09352    ?    49.39258+-0.17504       ?
   pdfjs                                    x2      77.47175+-0.23458         77.39958+-0.25844       
   mandreel                                 x2      95.27426+-0.27790         94.96508+-0.21365       
   gbemu                                    x2      94.04599+-11.03933        92.48634+-13.50797        might be 1.0169x faster
   closure                                           1.32149+-0.00460          1.31958+-0.00790       
   jquery                                           17.22774+-0.06414    ?    17.25588+-0.08644       ?
   box2d                                    x2      24.56562+-0.16015    ?    24.57202+-0.08285       ?
   zlib                                     x2     702.92336+-17.34491   ?   716.81132+-1.61492       ? might be 1.0198x slower
   typescript                               x2    1504.32111+-14.25991   ?  1513.29575+-7.16984       ?

   <geometric>                                      11.45254+-0.09137         11.44931+-0.10109         might be 1.0003x faster

                                                            og                FTLGetPutByIdFlush                                
Kraken:
   ai-astar                                          304.017+-2.562            301.133+-2.185         
   audio-beat-detection                               98.745+-0.469      ?      99.117+-0.575         ?
   audio-dft                                         192.111+-0.410      ?     192.139+-0.394         ?
   audio-fft                                          72.354+-0.411             72.315+-0.128         
   audio-oscillator                                  120.454+-0.351            119.977+-0.299         
   imaging-darkroom                                  126.911+-0.123      ?     127.274+-0.644         ?
   imaging-desaturate                                114.330+-0.552            114.154+-0.412         
   imaging-gaussian-blur                             202.789+-0.352            202.109+-2.623         
   json-parse-financial                               84.345+-0.465      ?      84.486+-0.274         ?
   json-stringify-tinderbox                           53.169+-0.875      ^      50.303+-0.093         ^ definitely 1.0570x faster
   stanford-crypto-aes                                87.697+-1.578             86.953+-1.140         
   stanford-crypto-ccm                                78.394+-2.258             78.161+-1.148         
   stanford-crypto-pbkdf2                            193.426+-3.415            190.834+-1.341           might be 1.0136x faster
   stanford-crypto-sha256-iterative                   76.236+-0.329      ?      77.423+-1.179         ? might be 1.0156x slower

   <arithmetic>                                      128.927+-0.284      ^     128.313+-0.254         ^ definitely 1.0048x faster

                                                            og                FTLGetPutByIdFlush                                
JSRegress:
   abc-forward-loop-equal                            85.3681+-0.1912           85.3050+-0.0252        
   abc-postfix-backward-loop                         84.7060+-0.2472     ?     85.2921+-0.7559        ?
   abc-simple-backward-loop                          83.9852+-0.2102     ?     84.2442+-0.1628        ?
   abc-simple-forward-loop                           84.1826+-0.2419           83.9957+-0.1831        
   abc-skippy-loop                                   58.0497+-0.1264     ?     58.1908+-0.3573        ?
   abs-boolean                                        4.8067+-0.0407            4.7954+-0.0240        
   adapt-to-double-divide                            29.5724+-0.2766     ?     29.6646+-0.3609        ?
   aliased-arguments-getbyval                         2.1718+-0.0290            2.1378+-0.0208          might be 1.0159x faster
   allocate-big-object                                4.1899+-0.1594            4.1239+-0.0898          might be 1.0160x faster
   arguments-named-and-reflective                    20.1117+-0.2172           20.0623+-0.2070        
   arguments-out-of-bounds                           22.3438+-0.2037           22.3190+-0.1035        
   arguments-strict-mode                             18.6299+-0.2481     ?     18.8603+-0.2797        ? might be 1.0124x slower
   arguments                                         17.0532+-0.8383           16.3791+-0.2296          might be 1.0412x faster
   arity-mismatch-inlining                            1.7612+-0.0193     ?      1.7631+-0.0268        ?
   array-access-polymorphic-structure                13.6253+-0.1567           13.4991+-0.1569        
   array-nonarray-polymorhpic-access                 54.2928+-0.9037     ?     54.4730+-0.5085        ?
   array-prototype-every                            154.2578+-2.9043     ?    154.5336+-1.4130        ?
   array-prototype-forEach                          152.9067+-2.1977     ?    153.8875+-1.8130        ?
   array-prototype-map                              170.5205+-2.5950     ?    170.6505+-2.5810        ?
   array-prototype-reduce                           150.7889+-3.2933     ?    151.1198+-1.3272        ?
   array-prototype-reduceRight                      149.3363+-1.2176     ?    151.7408+-1.3009        ? might be 1.0161x slower
   array-prototype-some                             156.1134+-3.2575          155.6481+-2.1535        
   array-splice-contiguous                           50.9550+-0.4414           50.9155+-0.3427        
   array-with-double-add                              7.7288+-0.0266     !      7.7689+-0.0119        ! definitely 1.0052x slower
   array-with-double-increment                        5.8878+-0.0265     ?      5.9155+-0.0223        ?
   array-with-double-mul-add                          9.1422+-0.0376     ?      9.1765+-0.0238        ?
   array-with-double-sum                              5.8358+-0.0294     ?      5.8380+-0.0241        ?
   array-with-int32-add-sub                          12.7670+-0.6119           12.5389+-0.0170          might be 1.0182x faster
   array-with-int32-or-double-sum                     6.0265+-0.0179     ?      6.0699+-0.1306        ?
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     54.1938+-0.4999     ?     54.5628+-0.7535        ?
   ArrayBuffer-DataView-alloc-long-lived             24.8240+-0.3040           24.6711+-0.2116        
   ArrayBuffer-Int32Array-byteOffset                  6.8265+-0.0338     ?      6.8773+-0.0733        ?
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     55.5953+-0.7491     ?     56.1251+-1.2189        ?
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     39.5934+-0.5979     ?     40.0241+-1.0407        ? might be 1.0109x slower
   ArrayBuffer-Int8Array-alloc-long-lived            23.0624+-0.8783           22.8457+-0.4993        
   ArrayBuffer-Int8Array-alloc                       19.2609+-0.0758     ?     19.8217+-0.6022        ? might be 1.0291x slower
   arrowfunction-call                                20.7137+-0.1676           20.6395+-0.1115        
   asmjs_bool_bug                                    14.9890+-0.3748           14.9033+-0.4045        
   assign-custom-setter-polymorphic                   5.5747+-0.0437            5.5331+-0.0411        
   assign-custom-setter                               7.8242+-0.1303     !      8.0742+-0.0995        ! definitely 1.0319x slower
   basic-set                                         14.5491+-0.3083     ?     14.7232+-0.1395        ? might be 1.0120x slower
   big-int-mul                                        6.9890+-0.0669     ?      7.0496+-0.0254        ?
   boolean-test                                       5.6767+-0.0316     ?      5.6824+-0.0327        ?
   branch-fold                                        6.7221+-0.1411            6.7093+-0.0246        
   branch-on-string-as-boolean                       35.7447+-0.2712           35.4713+-0.2052        
   by-val-generic                                     4.4391+-0.0363     ?      4.4644+-0.1050        ?
   call-spread-apply                                 53.2908+-0.7220     ?     53.4774+-1.0109        ?
   call-spread-call                                  43.8798+-0.3060           43.4973+-0.4477        
   captured-assignments                               1.0222+-0.0326     ?      1.0380+-0.0313        ? might be 1.0154x slower
   cast-int-to-double                                 9.4923+-0.1341            9.4598+-0.1004        
   cell-argument                                     12.3694+-0.1964     ?     12.7226+-0.4203        ? might be 1.0286x slower
   cfg-simplify                                       5.0876+-0.0484     ?      5.1180+-0.0343        ?
   chain-getter-access                               16.2177+-0.2292     ?     16.2840+-0.2104        ?
   cmpeq-obj-to-obj-other                            17.8462+-0.0786     ^     17.1815+-0.0414        ^ definitely 1.0387x faster
   constant-test                                      8.7517+-0.0312            8.7136+-0.0153        
   create-lots-of-functions                          17.3912+-0.3288     ?     17.7879+-0.5122        ? might be 1.0228x slower
   cse-new-array-buffer                               4.1218+-0.0343            4.1158+-0.0308        
   cse-new-array                                      4.3859+-0.1069            4.3740+-0.2115        
   custom-setter-getter-as-put-get-by-id              1.1494+-0.0336     ?      1.1540+-0.0318        ?
   DataView-custom-properties                        64.0469+-0.6224           63.6169+-0.4280        
   delay-tear-off-arguments-strictmode               24.9060+-0.1224     ?     24.9414+-0.1201        ?
   deltablue-varargs                                383.3933+-4.5894          380.7089+-2.1257        
   destructuring-arguments                          316.7125+-1.6033     !    319.3188+-0.9073        ! definitely 1.0082x slower
   destructuring-parameters-overridden-by-function   
                                                      1.0587+-0.0317     ?      1.0732+-0.0119        ? might be 1.0137x slower
   destructuring-swap                                 9.1214+-0.0269            9.0988+-0.0204        
   direct-arguments-getbyval                          2.2987+-0.3370            2.1663+-0.0400          might be 1.0611x faster
   div-boolean-double                                 9.1550+-0.0723            9.1339+-0.0478        
   div-boolean                                       13.7427+-0.0272     ?     13.9179+-0.4962        ? might be 1.0127x slower
   double-get-by-val-out-of-bounds                    8.2418+-0.0544            8.2118+-0.1723        
   double-pollution-getbyval                         15.1571+-0.0313     ?     15.1735+-0.0222        ?
   double-pollution-putbyoffset                       7.2459+-0.0911            7.2248+-0.1012        
   double-real-use                                   53.5548+-0.1248     ?     53.5651+-0.2315        ?
   double-to-int32-typed-array-no-inline              4.2538+-0.0319     ?      4.2965+-0.0620        ? might be 1.0100x slower
   double-to-int32-typed-array                        3.9852+-0.0304            3.9729+-0.0365        
   double-to-uint32-typed-array-no-inline             4.4416+-0.0737            4.4327+-0.0278        
   double-to-uint32-typed-array                       4.0005+-0.0973            3.9991+-0.0423        
   elidable-new-object-dag                           66.9291+-0.7013           66.6540+-0.5695        
   elidable-new-object-roflcopter                    63.0044+-2.5507           62.2899+-1.9158          might be 1.0115x faster
   elidable-new-object-then-call                     61.8832+-0.8398           61.4530+-0.6270        
   elidable-new-object-tree                          72.9371+-1.1744           72.8867+-0.7084        
   empty-string-plus-int                              9.7834+-0.0718            9.7708+-0.1160        
   emscripten-cube2hash                              68.1933+-0.7279     ?     68.5768+-0.3642        ?
   exit-length-on-plain-object                       29.0919+-0.2030     !     29.5722+-0.2435        ! definitely 1.0165x slower
   external-arguments-getbyval                        2.3919+-0.1402     ?      2.5451+-0.1096        ? might be 1.0641x slower
   external-arguments-putbyval                        4.2267+-0.0414            4.2253+-0.0378        
   fixed-typed-array-storage-var-index                2.5870+-0.3718            2.5723+-0.2766        
   fixed-typed-array-storage                          1.8824+-0.0207     ?      1.8961+-0.0290        ?
   Float32Array-matrix-mult                           8.9458+-0.0332     ?      8.9626+-0.0390        ?
   Float32Array-to-Float64Array-set                  99.5847+-0.3664     ^     95.9433+-0.3108        ^ definitely 1.0380x faster
   Float64Array-alloc-long-lived                    111.5900+-0.2546     ?    111.9474+-0.2020        ?
   Float64Array-to-Int16Array-set                   120.5672+-0.4181     ^    118.5944+-0.2612        ^ definitely 1.0166x faster
   fold-double-to-int                                25.2267+-0.0784     ?     25.2819+-0.2115        ?
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     16.6762+-0.2251     ?     16.6899+-0.2231        ?
   fold-get-by-id-to-multi-get-by-offset             14.2857+-0.2109     ?     14.5710+-0.3157        ? might be 1.0200x slower
   fold-multi-get-by-offset-to-get-by-offset   
                                                     12.9852+-0.1400           12.9297+-0.0636        
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                     13.3393+-0.0488     ?     13.3445+-0.0394        ?
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                     16.3044+-0.0406     ?     16.3721+-0.1273        ?
   fold-multi-put-by-offset-to-put-by-offset   
                                                     15.3481+-0.0407           15.3390+-0.0659        
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     22.0314+-0.5361           21.8436+-0.7725        
   fold-put-by-id-to-multi-put-by-offset             18.5699+-0.4882           18.5117+-0.3316        
   fold-put-by-val-with-string-to-multi-put-by-offset   
                                                     18.0268+-0.4847     ?     18.1188+-0.3427        ?
   fold-put-by-val-with-symbol-to-multi-put-by-offset   
                                                     17.8917+-0.5266     ?     18.1972+-0.3260        ? might be 1.0171x slower
   fold-put-structure                                11.8939+-0.0849           11.8451+-0.0607        
   for-of-iterate-array-entries                      21.2741+-0.2934     ?     21.4276+-0.9025        ?
   for-of-iterate-array-keys                          7.1412+-0.1131            7.0732+-0.0864        
   for-of-iterate-array-values                        6.5757+-0.0837            6.5541+-0.0587        
   fround                                            32.9999+-0.2220           32.7177+-0.5092        
   ftl-library-inlining-dataview                    117.2252+-1.7921     !    132.3384+-10.4344       ! definitely 1.1289x slower
   ftl-library-inlining                             156.5293+-13.1582    ?    157.2976+-8.9383        ?
   function-call                                     20.7066+-0.1606           20.5782+-0.0652        
   function-dot-apply                                 4.1354+-0.1751            4.0782+-0.0338          might be 1.0140x faster
   function-test                                      5.1781+-0.0404     ?      5.1987+-0.0291        ?
   function-with-eval                               172.0475+-0.9153          171.0815+-0.1677        
   gcse-poly-get-less-obvious                        50.9582+-0.5482     ?     51.0291+-0.1717        ?
   gcse-poly-get                                     52.3052+-0.2477     ?     52.3203+-0.1658        ?
   gcse                                               7.2343+-0.0312            7.2030+-0.0165        
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      4.7506+-0.0183     ?      4.7837+-0.0238        ?
   get-by-id-bimorphic-check-structure-elimination   
                                                      9.4083+-0.0309     ?      9.4117+-0.0238        ?
   get-by-id-chain-from-try-block                     4.5550+-0.0221     ?      4.5809+-0.0942        ?
   get-by-id-check-structure-elimination              8.1466+-0.0204     !      8.1884+-0.0181        ! definitely 1.0051x slower
   get-by-id-proto-or-self                           37.3012+-2.9477           36.4058+-2.8287          might be 1.0246x faster
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      5.3814+-0.1172            5.3297+-0.0210        
   get-by-id-self-or-proto                           35.6140+-2.5088     ?     36.3205+-2.9752        ? might be 1.0198x slower
   get-by-val-out-of-bounds                           7.9756+-0.1618     ?      8.1555+-0.4071        ? might be 1.0225x slower
   get-by-val-with-string-bimorphic-check-structure-elimination-simple   
                                                      4.8148+-0.0387     ?      4.8545+-0.1275        ?
   get-by-val-with-string-bimorphic-check-structure-elimination   
                                                     12.3766+-0.4746           12.2062+-0.0608          might be 1.0140x faster
   get-by-val-with-string-chain-from-try-block   
                                                      4.6384+-0.0207     ?      4.6569+-0.0315        ?
   get-by-val-with-string-check-structure-elimination   
                                                     11.1704+-0.1457           11.1145+-0.0528        
   get-by-val-with-string-proto-or-self              36.6116+-2.7112           35.7188+-1.7972          might be 1.0250x faster
   get-by-val-with-string-quadmorphic-check-structure-elimination-simple   
                                                      6.2597+-0.1620            6.1577+-0.0404          might be 1.0166x faster
   get-by-val-with-string-self-or-proto              35.7119+-1.7402     ?     37.9825+-2.8034        ? might be 1.0636x slower
   get-by-val-with-symbol-bimorphic-check-structure-elimination-simple   
                                                      5.8000+-0.2142     ?      5.8661+-0.1840        ? might be 1.0114x slower
   get-by-val-with-symbol-bimorphic-check-structure-elimination   
                                                     23.6539+-0.0465           23.6182+-0.0327        
   get-by-val-with-symbol-chain-from-try-block   
                                                      4.6530+-0.0320            4.6292+-0.0228        
   get-by-val-with-symbol-check-structure-elimination   
                                                     22.5139+-0.0326           22.5033+-0.0162        
   get-by-val-with-symbol-proto-or-self              35.0397+-0.4510     ?     36.8731+-2.5530        ? might be 1.0523x slower
   get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple   
                                                      7.6357+-0.0195     ?      7.6443+-0.0297        ?
   get-by-val-with-symbol-self-or-proto              36.0168+-2.4026           35.3152+-1.8512          might be 1.0199x faster
   get_callee_monomorphic                             4.0888+-0.0590            4.0529+-0.0679        
   get_callee_polymorphic                             6.0930+-0.0700     ?      6.0963+-0.0229        ?
   getter-no-activation                               8.4763+-0.0465     ?      8.4766+-0.0433        ?
   getter-prototype                                  18.9814+-0.3798           18.9234+-0.4320        
   getter-richards-try-catch                       2427.7096+-77.8439    ?   2461.7211+-77.1199       ? might be 1.0140x slower
   getter-richards                                  168.2614+-3.3601     ?    169.4704+-3.7890        ?
   getter                                             9.4460+-0.0326            9.4453+-0.0276        
   global-object-access-with-mutating-structure   
                                                     10.6314+-0.0789     !     10.7658+-0.0503        ! definitely 1.0126x slower
   global-var-const-infer-fire-from-opt               1.5548+-0.0214            1.5467+-0.0243        
   global-var-const-infer                             1.3994+-0.0204            1.3986+-0.0132        
   hard-overflow-check-equal                         69.6494+-0.6425           69.2942+-0.5508        
   hard-overflow-check                               68.9325+-0.5454     ?     69.1041+-0.6004        ?
   HashMap-put-get-iterate-keys                      43.8946+-0.1627     ?     44.0078+-0.3533        ?
   HashMap-put-get-iterate                           43.5743+-0.2427     ?     43.6506+-0.3978        ?
   HashMap-string-put-get-iterate                    46.0424+-0.5779           45.8444+-0.9980        
   hoist-make-rope                                   17.6725+-1.0729           16.7864+-0.5642          might be 1.0528x faster
   hoist-poly-check-structure-effectful-loop   
                                                      7.6285+-0.0273            7.6271+-0.0261        
   hoist-poly-check-structure                         5.7518+-0.0221     ?      5.7746+-0.0483        ?
   imul-double-only                                  14.0974+-0.7521           13.9581+-0.7220        
   imul-int-only                                     17.1264+-0.6628     ?     17.1895+-0.9760        ?
   imul-mixed                                        13.5335+-0.5036     ?     14.1002+-0.1497        ? might be 1.0419x slower
   in-four-cases                                     41.0514+-0.3826           40.6782+-0.2097        
   in-one-case-false                                 20.1124+-0.0478     ?     20.1367+-0.1401        ?
   in-one-case-true                                  20.1188+-0.1410           20.0545+-0.0335        
   in-two-cases                                      21.6656+-0.0578     ?     21.6812+-0.0914        ?
   indexed-properties-in-objects                      5.1957+-0.0300     ?      5.2269+-0.0588        ?
   infer-closure-const-then-mov-no-inline             7.1994+-0.0259     ?      7.3462+-0.4518        ? might be 1.0204x slower
   infer-closure-const-then-mov                      33.0612+-0.2680           33.0260+-0.1880        
   infer-closure-const-then-put-to-scope-no-inline   
                                                     23.8410+-0.0374           23.7730+-0.0576        
   infer-closure-const-then-put-to-scope             41.4582+-0.7928     ?     41.4979+-0.4188        ?
   infer-closure-const-then-reenter-no-inline   
                                                    103.8416+-1.3598          103.2195+-0.4080        
   infer-closure-const-then-reenter                  42.6625+-0.1761           42.6263+-0.2665        
   infer-constant-global-property                     6.3931+-0.0925            6.3829+-0.0974        
   infer-constant-property                            4.8495+-0.0391     ?      4.8653+-0.0583        ?
   infer-one-time-closure-ten-vars                   18.0676+-0.4956     ?     18.0711+-0.2092        ?
   infer-one-time-closure-two-vars                   17.2664+-0.1151           17.1810+-0.1688        
   infer-one-time-closure                            17.0318+-0.1379           16.9289+-0.3123        
   infer-one-time-deep-closure                       28.4378+-0.5821           28.0218+-0.2329          might be 1.0148x faster
   inline-arguments-access                            6.8061+-0.0508     ?      6.8215+-0.0692        ?
   inline-arguments-aliased-access                    6.9226+-0.0956     ?      6.9879+-0.1398        ?
   inline-arguments-local-escape                      6.8568+-0.1697     ?      6.9195+-0.1001        ?
   inline-get-scoped-var                              8.3065+-0.0552     ?      8.3205+-0.0569        ?
   inlined-put-by-id-transition                      17.0029+-0.1978           16.7458+-0.2066          might be 1.0154x faster
   inlined-put-by-val-with-string-transition   
                                                     84.1675+-0.2702     ?     84.8033+-1.4904        ?
   inlined-put-by-val-with-symbol-transition   
                                                     86.1176+-3.2509           84.3917+-0.5763          might be 1.0205x faster
   int-or-other-abs-then-get-by-val                   8.3141+-0.1378            8.2890+-0.0237        
   int-or-other-abs-zero-then-get-by-val             30.7524+-0.2816     ?     31.0280+-0.4371        ?
   int-or-other-add-then-get-by-val                   8.1826+-0.0991     ?      8.2074+-0.1088        ?
   int-or-other-add                                   9.5279+-0.0272            9.5114+-0.0343        
   int-or-other-div-then-get-by-val                   7.1582+-0.0299     ?      7.1664+-0.0491        ?
   int-or-other-max-then-get-by-val                   7.3717+-0.0517     ?      7.4885+-0.2187        ? might be 1.0158x slower
   int-or-other-min-then-get-by-val                   7.3527+-0.0745     ?      7.4600+-0.1591        ? might be 1.0146x slower
   int-or-other-mod-then-get-by-val                   6.7956+-0.0217            6.7914+-0.0114        
   int-or-other-mul-then-get-by-val                   6.9301+-0.0202     ?      6.9355+-0.0263        ?
   int-or-other-neg-then-get-by-val                   7.9812+-0.1323            7.9255+-0.0221        
   int-or-other-neg-zero-then-get-by-val             31.6789+-0.4432           31.3936+-0.4916        
   int-or-other-sub-then-get-by-val                   8.0915+-0.0466            8.0756+-0.0227        
   int-or-other-sub                                   6.3471+-0.0259            6.3435+-0.0213        
   int-overflow-local                                 7.8055+-0.0270     ?      7.8286+-0.0266        ?
   Int16Array-alloc-long-lived                       81.3041+-0.9086     ?     81.3646+-0.6915        ?
   Int16Array-bubble-sort-with-byteLength            45.8737+-0.3326     ?     46.0270+-0.6342        ?
   Int16Array-bubble-sort                            43.9430+-0.1229           43.9364+-0.1309        
   Int16Array-load-int-mul                            2.8747+-0.0137     ?      2.8873+-0.0193        ?
   Int16Array-to-Int32Array-set                      88.4954+-0.1909     ?     88.7872+-0.1719        ?
   Int32Array-alloc-large                            29.3000+-0.4887           28.9466+-0.8059          might be 1.0122x faster
   Int32Array-alloc-long-lived                       91.2803+-0.9897           91.0746+-0.8556        
   Int32Array-alloc                                   4.6165+-0.1146            4.5952+-0.0936        
   Int32Array-Int8Array-view-alloc                   12.1248+-0.0938     ?     12.3641+-0.5611        ? might be 1.0197x slower
   int52-spill                                        9.5803+-0.0655            9.5615+-0.0989        
   Int8Array-alloc-long-lived                        72.8364+-0.7395     ?     73.5012+-1.1232        ?
   Int8Array-load-with-byteLength                     6.1570+-0.4745            5.9619+-0.0240          might be 1.0327x faster
   Int8Array-load                                     5.9540+-0.0159     ?      5.9622+-0.0358        ?
   integer-divide                                    20.7567+-0.4882           20.6127+-0.1054        
   integer-modulo                                     3.5682+-0.0231     ?      3.5829+-0.0511        ?
   is-boolean-fold-tricky                             7.4779+-0.0444     ?      7.4855+-0.0553        ?
   is-boolean-fold                                    4.9799+-0.0416     ?      5.0550+-0.0379        ? might be 1.0151x slower
   is-function-fold-tricky-internal-function   
                                                     21.2739+-0.1031     ^     20.6641+-0.0300        ^ definitely 1.0295x faster
   is-function-fold-tricky                            7.6218+-0.0819     ?      7.6380+-0.0369        ?
   is-function-fold                                   5.1073+-0.0583            5.0987+-0.0492        
   is-number-fold-tricky                              7.4276+-0.0416     ?      7.4536+-0.0273        ?
   is-number-fold                                     5.0200+-0.0499     ?      5.0750+-0.0417        ? might be 1.0110x slower
   is-object-or-null-fold-functions                   5.1609+-0.0285     ?      5.2020+-0.0476        ?
   is-object-or-null-fold-less-tricky                 7.5947+-0.0486     ?      7.6184+-0.0658        ?
   is-object-or-null-fold-tricky                     10.3240+-0.1412           10.2633+-0.0283        
   is-object-or-null-fold                             5.0792+-0.0202     !      5.1456+-0.0195        ! definitely 1.0131x slower
   is-object-or-null-trickier-function                7.7266+-0.0160     ?      7.7642+-0.0385        ?
   is-object-or-null-trickier-internal-function   
                                                     21.4075+-0.0863     ^     21.0687+-0.0264        ^ definitely 1.0161x faster
   is-object-or-null-tricky-function                  7.6654+-0.0596            7.6627+-0.0230        
   is-object-or-null-tricky-internal-function   
                                                     16.0543+-0.1374     ^     15.7357+-0.1247        ^ definitely 1.0202x faster
   is-string-fold-tricky                              7.4278+-0.0155     ?      7.4727+-0.0413        ?
   is-string-fold                                     5.0075+-0.0287     ?      5.0380+-0.0387        ?
   is-undefined-fold-tricky                           6.1494+-0.0331     ?      6.1736+-0.0289        ?
   is-undefined-fold                                  4.9886+-0.0775     !      5.0932+-0.0230        ! definitely 1.0210x slower
   JSONP-negative-0                                   0.6369+-0.0148            0.6306+-0.0185        
   large-int-captured                                 7.7477+-0.1166     ?      7.7849+-0.1031        ?
   large-int-neg                                     28.0575+-0.1523           28.0425+-0.1469        
   large-int                                         25.6746+-0.2808           25.5233+-0.1804        
   load-varargs-elimination                          40.9541+-0.6825           40.8985+-0.4800        
   logical-not-weird-types                            6.1692+-0.0271            6.1602+-0.0631        
   logical-not                                        8.7360+-0.3905            8.4159+-0.0309          might be 1.0380x faster
   lots-of-fields                                    20.6995+-0.2132     ?     20.8606+-0.2723        ?
   make-indexed-storage                               5.4416+-0.1476     ?      5.4817+-0.1825        ?
   make-rope-cse                                      6.4436+-0.2653            6.3450+-0.1469          might be 1.0155x faster
   marsaglia-larger-ints                             66.5766+-0.7989           66.2080+-0.2125        
   marsaglia-osr-entry                               40.5694+-0.2763           40.4178+-0.1569        
   math-with-out-of-bounds-array-values              44.3014+-0.5410     ?     44.4602+-0.2765        ?
   max-boolean                                        4.4255+-0.0203     ?      4.4524+-0.0195        ?
   method-on-number                                  31.1813+-0.0529     ?     31.4272+-0.7938        ?
   min-boolean                                        4.5300+-0.0941     ?      4.5302+-0.0374        ?
   minus-boolean-double                               5.6627+-0.0246     ?      5.6868+-0.0284        ?
   minus-boolean                                      4.2082+-0.0356     ?      4.2339+-0.0400        ?
   misc-strict-eq                                    61.9693+-1.5829           61.6622+-1.7379        
   mod-boolean-double                                19.1882+-0.0432     ?     19.3311+-0.1779        ?
   mod-boolean                                       13.7003+-0.0408     ?     13.7772+-0.1164        ?
   mul-boolean-double                                 6.5946+-0.0182     ?      6.5998+-0.0156        ?
   mul-boolean                                        5.1310+-0.0194     ?      5.1385+-0.0192        ?
   neg-boolean                                        5.6645+-0.0217     !      5.7143+-0.0224        ! definitely 1.0088x slower
   negative-zero-divide                               0.8010+-0.0259     ?      0.8060+-0.0202        ?
   negative-zero-modulo                               0.8327+-0.0288            0.8152+-0.0110          might be 1.0214x faster
   negative-zero-negate                               0.7693+-0.0212     ?      0.7850+-0.0310        ? might be 1.0203x slower
   nested-function-parsing                           87.5898+-0.5250           87.5330+-0.6346        
   new-array-buffer-dead                            165.6927+-0.5502     ?    165.9374+-0.5705        ?
   new-array-buffer-push                             11.1824+-0.1074     ?     11.4153+-0.7916        ? might be 1.0208x slower
   new-array-dead                                    32.7068+-1.2177           32.5530+-0.7230        
   new-array-push                                     6.7115+-0.1125            6.6083+-0.1988          might be 1.0156x faster
   no-inline-constructor                             62.9956+-0.3948     ?     63.0029+-0.3544        ?
   number-test                                        5.5967+-0.0411            5.5959+-0.0457        
   object-closure-call                                9.3658+-0.0302     ?      9.4031+-0.0448        ?
   object-get-own-property-symbols-on-large-array   
                                                      6.8799+-0.1598            6.8211+-0.1017        
   object-test                                        5.2259+-0.0555            5.1663+-0.0170          might be 1.0115x faster
   obvious-sink-pathology-taken                     190.1294+-0.7152          189.9955+-0.4334        
   obvious-sink-pathology                            62.8655+-1.0029     ?     62.9855+-0.7232        ?
   obviously-elidable-new-object                     55.6400+-0.9208     ?     55.7052+-0.6361        ?
   plus-boolean-arith                                 4.5569+-0.0296            4.5476+-0.0065        
   plus-boolean-double                                5.7100+-0.0765     ?      5.7177+-0.0162        ?
   plus-boolean                                       4.3235+-0.0676     ?      4.4230+-0.2684        ? might be 1.0230x slower
   poly-chain-access-different-prototypes-simple   
                                                      4.7121+-0.0514     ?      4.7287+-0.1011        ?
   poly-chain-access-different-prototypes             4.7253+-0.0173            4.7179+-0.0255        
   poly-chain-access-simpler                          4.7114+-0.0380     ?      4.7851+-0.0690        ? might be 1.0157x slower
   poly-chain-access                                  4.7025+-0.0134     ?      4.7250+-0.0322        ?
   poly-stricteq                                    114.5341+-0.5295          114.4345+-0.3127        
   polymorphic-array-call                             2.6424+-0.0790            2.6259+-0.0767        
   polymorphic-get-by-id                              5.9923+-0.0258     ?      6.0103+-0.0328        ?
   polymorphic-put-by-id                             65.5204+-0.7493           64.4784+-1.2822          might be 1.0162x faster
   polymorphic-put-by-val-with-string                65.2015+-0.5418           64.8493+-0.2479        
   polymorphic-put-by-val-with-symbol                65.0817+-0.5825     ?     65.3294+-0.7287        ?
   polymorphic-structure                             24.2816+-0.2774           24.1552+-0.0710        
   polyvariant-monomorphic-get-by-id                 14.9125+-0.1108     ?     15.1008+-0.4929        ? might be 1.0126x slower
   proto-getter-access                               16.2392+-0.2435           16.1484+-0.2220        
   prototype-access-with-mutating-prototype          10.5198+-0.4503           10.2854+-0.1763          might be 1.0228x faster
   put-by-id-replace-and-transition                  14.9366+-0.1050           14.8921+-0.0897        
   put-by-id-slightly-polymorphic                     5.0859+-0.0279     ?      5.0967+-0.0314        ?
   put-by-id                                         18.5285+-0.1471     ?     18.6914+-0.1830        ?
   put-by-val-direct                                  0.7922+-0.0245     ?      0.8159+-0.0176        ? might be 1.0299x slower
   put-by-val-large-index-blank-indexing-type   
                                                      9.7188+-0.0855     ?      9.7729+-0.1213        ?
   put-by-val-machine-int                             4.6840+-0.0351            4.6756+-0.0304        
   put-by-val-with-string-replace-and-transition   
                                                     20.7287+-0.2146     ?     21.0356+-0.6102        ? might be 1.0148x slower
   put-by-val-with-string-slightly-polymorphic   
                                                      6.7187+-0.0271            6.7086+-0.0207        
   put-by-val-with-string                            19.4872+-0.1792     ?     19.6342+-0.1823        ?
   put-by-val-with-symbol-replace-and-transition   
                                                     22.9066+-0.1612           22.8580+-0.1220        
   put-by-val-with-symbol-slightly-polymorphic   
                                                      7.2638+-0.0277     ?      7.2836+-0.0411        ?
   put-by-val-with-symbol                            19.7312+-0.1860     ?     19.8092+-0.2834        ?
   rare-osr-exit-on-local                            26.8220+-0.1192     !     27.0959+-0.1244        ! definitely 1.0102x slower
   raytrace-with-empty-try-catch                     11.9933+-0.0971     ?     12.0152+-0.0782        ?
   raytrace-with-try-catch                           21.5003+-0.2895           21.3769+-0.1892        
   register-pressure-from-osr                        35.5052+-0.2556           35.3999+-0.0380        
   repeat-multi-get-by-offset                        42.0648+-0.0903     ?     42.1795+-0.1610        ?
   richards-empty-try-catch                         147.5727+-0.7587          147.1434+-0.5660        
   richards-try-catch                               494.5929+-2.0832          494.0771+-2.4288        
   setter-prototype                                  15.1339+-0.1194           15.0918+-0.1474        
   setter                                            10.1637+-0.0896           10.1127+-0.0304        
   simple-activation-demo                            45.6635+-0.0585     ?     45.8870+-0.2697        ?
   simple-getter-access                              20.4843+-0.1611           20.4467+-0.1790        
   simple-poly-call-nested                           14.6581+-0.0475     !     14.7422+-0.0167        ! definitely 1.0057x slower
   simple-poly-call                                   2.5637+-0.2220            2.4697+-0.0340          might be 1.0381x faster
   sin-boolean                                       35.2775+-2.5990     ?     35.3348+-2.8626        ?
   singleton-scope                                  121.3972+-2.1294     ?    122.6721+-1.4413        ? might be 1.0105x slower
   sink-function                                     18.4170+-0.1586           18.3340+-0.3410        
   sink-huge-activation                              30.9446+-1.3913           30.3179+-1.2999          might be 1.0207x faster
   sinkable-new-object-dag                          105.2189+-1.1255     ?    105.2568+-0.6089        ?
   sinkable-new-object-taken                         85.5034+-0.7254           84.7031+-0.4198        
   sinkable-new-object                               62.8872+-0.8398     ?     63.2575+-0.8551        ?
   slow-array-profile-convergence                     5.3979+-0.1369     ?      5.4180+-0.1325        ?
   slow-convergence                                   5.1206+-0.0739            5.0815+-0.0240        
   slow-ternaries                                    32.0678+-0.0426     ?     32.4976+-0.9741        ? might be 1.0134x slower
   sorting-benchmark                                 35.5613+-0.1854     ?     35.7093+-0.5414        ?
   sparse-conditional                                 2.3734+-0.0219            2.3543+-0.0189        
   splice-to-remove                                  28.5011+-2.8002           26.9030+-0.1393          might be 1.0594x faster
   string-char-code-at                               29.6239+-0.4911           29.5609+-0.2039        
   string-concat-object                               3.7933+-0.0489     ?      3.8067+-0.0574        ?
   string-concat-pair-object                          3.6752+-0.0331     ?      3.6846+-0.0512        ?
   string-concat-pair-simple                         17.7834+-0.1235     ?     17.8110+-0.1292        ?
   string-concat-simple                              18.6043+-0.1268     ?     18.9865+-0.7973        ? might be 1.0205x slower
   string-cons-repeat                                12.4345+-0.1155           12.3463+-0.1572        
   string-cons-tower                                 12.4148+-0.0684     ?     12.5934+-0.1392        ? might be 1.0144x slower
   string-equality                                   35.3358+-0.1243           35.2902+-0.0633        
   string-get-by-val-big-char                        12.6705+-0.0647     ?     12.7479+-0.0646        ?
   string-get-by-val-out-of-bounds-insane             6.7618+-0.0470     !      6.9408+-0.0738        ! definitely 1.0265x slower
   string-get-by-val-out-of-bounds                    9.1085+-0.0562     ?      9.1204+-0.0467        ?
   string-get-by-val                                  6.0040+-0.0212     !      6.1096+-0.0250        ! definitely 1.0176x slower
   string-hash                                        3.7377+-0.0168     ?      3.7392+-0.0240        ?
   string-long-ident-equality                        29.1707+-0.5335           28.9171+-0.1429        
   string-out-of-bounds                              23.7462+-0.4206     ?     23.7868+-0.1288        ?
   string-repeat-arith                               55.9512+-0.1744     !     58.3939+-0.5683        ! definitely 1.0437x slower
   string-sub                                        74.7477+-0.3702     !     80.2653+-0.7657        ! definitely 1.0738x slower
   string-test                                        5.3956+-0.0474            5.3894+-0.0453        
   string-var-equality                               65.0544+-0.7001           64.8870+-0.2226        
   structure-hoist-over-transitions                   4.2179+-0.0369     ?      4.2381+-0.0460        ?
   substring-concat-weird                            70.1210+-0.9000           69.5534+-0.2312        
   substring-concat                                  76.8485+-0.1353     ?     77.2716+-0.8613        ?
   substring                                         85.5503+-0.2092     ?     85.6616+-0.2008        ?
   switch-char-constant                               4.8457+-0.0311     ?      4.8786+-0.0487        ?
   switch-char                                       10.7303+-0.0267     ?     10.7539+-0.1221        ?
   switch-constant                                   13.0528+-0.1224           13.0367+-0.1313        
   switch-string-basic-big-var                       35.2575+-0.2870     ?     35.4896+-0.7119        ?
   switch-string-basic-big                           31.6585+-0.2047     ?     32.0469+-0.3005        ? might be 1.0123x slower
   switch-string-basic-var                           28.5310+-0.3082     ?     28.6630+-0.4614        ?
   switch-string-basic                               26.5439+-0.0918     ?     26.5644+-0.0658        ?
   switch-string-big-length-tower-var                36.1573+-0.0289     ?     36.1657+-0.0355        ?
   switch-string-length-tower-var                    28.0216+-0.0161           28.0180+-0.0206        
   switch-string-length-tower                        23.8513+-0.0409     ?     23.9830+-0.1049        ?
   switch-string-short                               23.9101+-0.1312           23.9025+-0.1161        
   switch                                            19.0180+-0.1233     ?     19.1775+-0.1802        ?
   tear-off-arguments-simple                          5.4194+-0.0482            5.4070+-0.0418        
   tear-off-arguments                                 7.2835+-0.0920     ?      7.3031+-0.1157        ?
   temporal-structure                                22.9243+-0.1078     ?     22.9559+-0.1197        ?
   to-int32-boolean                                  24.1005+-0.1284           24.0617+-0.0313        
   try-catch-get-by-val-cloned-arguments             18.3089+-0.0761           18.1134+-0.2439          might be 1.0108x faster
   try-catch-get-by-val-direct-arguments              3.7414+-0.0367     ?      3.7484+-0.0477        ?
   try-catch-get-by-val-scoped-arguments              8.0926+-0.3691            7.8751+-0.0944          might be 1.0276x faster
   typed-array-get-set-by-val-profiling              52.5433+-0.3906     ?     52.9340+-0.3226        ?
   undefined-property-access                        644.9998+-4.3870     ?    645.2288+-5.8836        ?
   undefined-test                                     5.6329+-0.0347            5.5793+-0.0460        
   unprofiled-licm                                   23.4185+-0.2414           23.3867+-0.2893        
   v8-raytrace-with-empty-try-catch                  65.8335+-1.2266           65.0331+-0.5574          might be 1.0123x faster
   v8-raytrace-with-try-catch                       142.7607+-1.1592          141.3521+-0.3575        
   varargs-call                                      25.3646+-0.0665     ?     25.4898+-0.1384        ?
   varargs-construct-inline                          43.9510+-0.5608           43.6809+-0.3368        
   varargs-construct                                 38.2410+-0.1350           38.1796+-0.0909        
   varargs-inline                                    17.5823+-0.0630     ?     17.5879+-0.0483        ?
   varargs-strict-mode                               19.5580+-0.1100           19.4368+-0.1687        
   varargs                                           19.3284+-0.1201     ?     19.5258+-0.5000        ? might be 1.0102x slower
   weird-inlining-const-prop                          4.0395+-0.0413     ?      4.0837+-0.0901        ? might be 1.0110x slower

   <geometric>                                       15.7624+-0.0187     ?     15.7789+-0.0153        ? might be 1.0010x slower

                                                            og                FTLGetPutByIdFlush                                
Geomean of preferred means:
   <scaled-result>                                   49.9096+-0.0829           49.8963+-0.0515          might be 1.0003x faster
Comment 7 WebKit Commit Bot 2015-10-21 14:49:50 PDT
Comment on attachment 263722 [details]
patch

Clearing flags on attachment: 263722

Committed r191404: <http://trac.webkit.org/changeset/191404>
Comment 8 WebKit Commit Bot 2015-10-21 14:49:55 PDT
All reviewed patches have been landed.  Closing bug.