Bug 145360 - [JSC] Generate put_by_val_direct for indexed identifiers instead of put_by_id with direct postfix
Summary: [JSC] Generate put_by_val_direct for indexed identifiers instead of put_by_id...
Status: REOPENED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Yusuke Suzuki
URL:
Keywords:
Depends on:
Blocks: 145358
  Show dependency treegraph
 
Reported: 2015-05-24 12:32 PDT by Yusuke Suzuki
Modified: 2017-04-24 19:07 PDT (History)
10 users (show)

See Also:


Attachments
Patch (4.85 KB, patch)
2015-05-24 12:34 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (4.84 KB, patch)
2015-05-24 12:39 PDT, Yusuke Suzuki
no flags Details | Formatted Diff | Diff
Patch (17.76 KB, patch)
2015-05-26 17:11 PDT, Yusuke Suzuki
beidson: review-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yusuke Suzuki 2015-05-24 12:32:28 PDT
[JSC] Generate put_by_val_direct for indexed identifiers instead of put_by_id with direct postfix
Comment 1 Yusuke Suzuki 2015-05-24 12:34:20 PDT
Created attachment 253663 [details]
Patch
Comment 2 Yusuke Suzuki 2015-05-24 12:39:27 PDT
Created attachment 253665 [details]
Patch
Comment 3 Darin Adler 2015-05-26 09:26:00 PDT
Comment on attachment 253665 [details]
Patch

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

> Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:573
> +    const auto* identifier = node.name();
> +    if (identifier) {

I suggest putting this definition inside the if.
Comment 4 Yusuke Suzuki 2015-05-26 10:16:53 PDT
Comment on attachment 253665 [details]
Patch

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

Thanks for your review.

>> Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:573
>> +    if (identifier) {
> 
> I suggest putting this definition inside the if.

Sounds nice. I'll do that.
Comment 5 Yusuke Suzuki 2015-05-26 10:27:01 PDT
Committed r184859: <http://trac.webkit.org/changeset/184859>
Comment 6 Yusuke Suzuki 2015-05-26 12:25:29 PDT
EFL JSC tests fail due to performance regression.
I'll investigate it.
Comment 7 Yusuke Suzuki 2015-05-26 12:35:44 PDT
Ah, OK. This test is flaky (I think this patch is not related to it). (this patch's build is https://build.webkit.org/builders/EFL%20Linux%20ARMv7%20Thumb2%20Release/builds/13243)

Before this patch, it is failed frequently.
https://build.webkit.org/builders/EFL%20Linux%20ARMv7%20Thumb2%20Release/builds/13238
https://build.webkit.org/builders/EFL%20Linux%20ARMv7%20Thumb2%20Release/builds/13234
Comment 8 Chris Dumez 2015-05-26 15:14:21 PDT
This change may have caused a ~1% Octane regression according to our bots (there are several commits in the range but this seems the most likely).
Comment 9 Chris Dumez 2015-05-26 15:17:37 PDT
(In reply to comment #8)
> This change may have caused a ~1% Octane regression according to our bots
> (there are several commits in the range but this seems the most likely).

And 1.3% on Kraken (both regressions are on Yosemite).
Comment 10 Yusuke Suzuki 2015-05-26 15:30:54 PDT
Investigating into it.
Too frequent `parseIndex` seems related I think now.
Comment 11 Yusuke Suzuki 2015-05-26 16:49:11 PDT
I'll submit the patch and performance result.
Comment 12 Yusuke Suzuki 2015-05-26 17:06:03 PDT
Octane benchmark results. Core i7, Linux Ubuntu 14.04, gcc 4.9, GTK port.

Baseline: The old revision, r184858, it doesn't include this patch.
Patched: The trunk + proposed patch
Trunk: the tip of trunk r184882

Hmm, maybe, this micro-optimization avoid some `parseIndex` calls.
But the benchmark results show that there's not so regression...


Benchmark report for Octane on gpgpu.

VMs tested:
"Baseline" at /home/yusuke/dev/WebKit/WebKitBuild/older/Release/bin/jsc
"Patched" at /home/yusuke/dev/WebKit/WebKitBuild/property-name/Release/bin/jsc
"Trunk" at /home/yusuke/dev/WebKit/WebKitBuild/Release/bin/jsc

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

                            Baseline                  Patched                    Trunk                 Trunk v. Baseline     

encrypt                 0.25848+-0.02639    ?     0.25853+-0.02341          0.25038+-0.00492         might be 1.0323x faster
decrypt                 4.35885+-0.02955    ?     4.39807+-0.13897    ?     4.45279+-0.16368       ? might be 1.0216x slower
deltablue      x2       0.22649+-0.01049    ?     0.24398+-0.03869          0.22338+-0.00466         might be 1.0139x faster
earley                  0.50067+-0.02269          0.49025+-0.01594    ?     0.49245+-0.01641         might be 1.0167x faster
boyer                   6.02713+-0.04338    ?     6.03946+-0.10722          6.01483+-0.10204       
navier-stokes  x2       5.37322+-0.19882          5.31016+-0.00496    ?     5.32196+-0.03964       
raytrace       x2       1.57754+-0.06923    ?     1.62999+-0.04657          1.62146+-0.02827       ? might be 1.0278x slower
richards       x2       0.12982+-0.00098    ?     0.13032+-0.00178          0.12983+-0.00168       ?
splay          x2       0.42982+-0.00798          0.42535+-0.01350          0.42401+-0.01962         might be 1.0137x faster
regexp         x2      35.90531+-0.88059         35.69890+-1.41240         34.98468+-0.57679         might be 1.0263x faster
pdfjs          x2      51.85544+-1.34951    ?    52.03845+-0.75426    ?    52.81362+-0.94944       ? might be 1.0185x slower
mandreel       x2      59.94943+-3.94804         57.77248+-3.00983    ?    62.01018+-7.70833       ? might be 1.0344x slower
gbemu          x2      47.14241+-2.30970    ?    52.30351+-4.31744         49.64379+-4.81731       ? might be 1.0531x slower
closure                 0.59549+-0.01980    ?     0.59708+-0.01199          0.59580+-0.00186       ?
jquery                  7.83578+-0.16688    ?     7.89178+-0.07892    ?     7.89763+-0.10582       ?
box2d          x2      16.43452+-1.72699         15.26979+-1.98011         14.94061+-1.02672         might be 1.1000x faster
zlib           x2     460.78442+-74.30509       439.77671+-30.31445   ?   443.82365+-14.18337        might be 1.0382x faster
typescript     x2     895.07581+-40.91225       888.03925+-31.71457   ?   893.75397+-24.21094      

<geometric>             7.56089+-0.05199    ?     7.57391+-0.18620          7.52442+-0.10181         might be 1.0048x faster
Comment 13 Yusuke Suzuki 2015-05-26 17:11:22 PDT
Reopening to attach new patch.
Comment 14 Yusuke Suzuki 2015-05-26 17:11:28 PDT
Created attachment 253761 [details]
Patch
Comment 15 Chris Dumez 2015-05-26 19:09:03 PDT
The actual regression range is r184857-r184863. I guess it could also be Andreas' patch?
http://trac.webkit.org/changeset/184860
Comment 16 Yusuke Suzuki 2015-05-27 05:43:27 PDT
r184856 v.s. r184864 benchmark results.


Benchmark report for SunSpider, LongSpider, V8Spider, Octane, and JSRegress on gpgpu.

VMs tested:
"r184856" at /home/yusuke/dev/WebKit/WebKitBuild/r184856/Release/bin/jsc
"r184864" at /home/yusuke/dev/WebKit/WebKitBuild/r184864/Release/bin/jsc

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

                                                         r184856                   r184864                                      
SunSpider:
   3d-cube                                           10.5322+-1.8732            9.0057+-1.7746          might be 1.1695x faster
   3d-morph                                          16.8701+-2.1906     ?     17.4803+-3.8468        ? might be 1.0362x slower
   3d-raytrace                                        9.9656+-3.0128            8.8321+-3.2120          might be 1.1283x faster
   access-binary-trees                                6.0079+-6.6488            3.8192+-0.7995          might be 1.5731x faster
   access-fannkuch                                   14.6362+-3.8497           13.1035+-0.7644          might be 1.1170x faster
   access-nbody                                       5.3290+-1.1274            4.5573+-1.7493          might be 1.1693x faster
   access-nsieve                                      4.4615+-0.5167            4.1710+-0.6382          might be 1.0697x faster
   bitops-3bit-bits-in-byte                           3.7817+-4.0018            3.3983+-3.1387          might be 1.1128x faster
   bitops-bits-in-byte                                6.4319+-1.1055            5.0859+-1.9129          might be 1.2647x faster
   bitops-bitwise-and                                 2.7314+-0.7041     ?      2.9556+-0.8046        ? might be 1.0821x slower
   bitops-nsieve-bits                                 5.4086+-2.0231     ?      5.8285+-2.2280        ? might be 1.0776x slower
   controlflow-recursive                              3.2122+-0.7601     ?      4.8156+-2.4877        ? might be 1.4992x slower
   crypto-aes                                         5.1515+-1.2109     ?      5.7790+-1.1026        ? might be 1.1218x slower
   crypto-md5                                         4.9973+-2.6030            4.6370+-2.6730          might be 1.0777x faster
   crypto-sha1                                        6.1595+-0.8440            4.9264+-2.5666          might be 1.2503x faster
   date-format-tofte                                 13.2852+-4.1226           13.1889+-1.6201        
   date-format-xparb                                 11.1035+-1.3659     ?     12.0417+-0.5703        ? might be 1.0845x slower
   math-cordic                                        5.0301+-1.4031            4.8505+-0.4714          might be 1.0370x faster
   math-partial-sums                                 11.2982+-6.0477            9.7968+-1.3792          might be 1.1533x faster
   math-spectral-norm                                 4.0679+-1.0513            3.9573+-1.3233          might be 1.0280x faster
   regexp-dna                                         8.5383+-1.2942            7.6409+-0.3464          might be 1.1174x faster
   string-base64                                      5.5748+-0.8688            5.2729+-1.0925          might be 1.0573x faster
   string-fasta                                      16.3877+-4.1009     ?     16.6516+-1.5206        ? might be 1.0161x slower
   string-tagcloud                                   10.0035+-0.4969     ?     10.7733+-2.0259        ? might be 1.0770x slower
   string-unpack-code                                21.4518+-0.2965     ?     22.2780+-1.3434        ? might be 1.0385x slower
   string-validate-input                              7.7576+-3.2912            6.8535+-2.1887          might be 1.1319x faster

   <arithmetic>                                       8.4683+-0.6011            8.1423+-0.3023          might be 1.0400x faster

                                                         r184856                   r184864                                      
LongSpider:
   3d-cube                                          929.6830+-16.6089    ?    947.0031+-12.8423       ? might be 1.0186x slower
   3d-morph                                        2450.2272+-4.7587         2446.9473+-7.3860        
   3d-raytrace                                      869.8697+-20.3888         847.4702+-3.9696          might be 1.0264x faster
   access-binary-trees                             1176.2562+-34.2130        1149.9440+-7.4916          might be 1.0229x faster
   access-fannkuch                                  350.6440+-26.4076         341.0156+-10.5422         might be 1.0282x faster
   access-nbody                                     676.5134+-14.7343         672.7704+-4.7872        
   access-nsieve                                    451.3521+-3.5218     ?    454.8046+-4.4623        ?
   bitops-3bit-bits-in-byte                          48.5033+-2.5163           47.6240+-1.1105          might be 1.0185x faster
   bitops-bits-in-byte                              102.5594+-8.5078     ?    103.1653+-10.0184       ?
   bitops-nsieve-bits                               443.1892+-19.4842         437.9615+-4.5405          might be 1.0119x faster
   controlflow-recursive                            539.0093+-41.2608    ?    549.6973+-31.0442       ? might be 1.0198x slower
   crypto-aes                                       812.8805+-11.9570    ?    827.3798+-31.2479       ? might be 1.0178x slower
   crypto-md5                                       604.7539+-47.1828    ?    612.4618+-53.1557       ? might be 1.0127x slower
   crypto-sha1                                      744.6804+-6.4820     ?    744.8743+-8.8611        ?
   date-format-tofte                                986.5198+-10.1128    ^    919.1963+-11.5060       ^ definitely 1.0732x faster
   date-format-xparb                               1054.3289+-69.1447        1034.5974+-42.5453         might be 1.0191x faster
   hash-map                                         197.2560+-17.2231         194.7787+-14.6426         might be 1.0127x faster
   math-cordic                                      649.0570+-9.0286          647.6547+-1.4032        
   math-partial-sums                                959.5775+-17.8964         947.3591+-8.4459          might be 1.0129x faster
   math-spectral-norm                               905.5217+-9.3994     ?    909.6811+-17.5642       ?
   string-base64                                    417.2084+-19.4406    ?    425.2043+-6.0169        ? might be 1.0192x slower
   string-fasta                                     557.7410+-39.9172         519.5312+-11.3139         might be 1.0735x faster
   string-tagcloud                                  228.2759+-13.1129         224.5493+-11.4731         might be 1.0166x faster

   <geometric>                                      538.7151+-9.4545          533.8070+-2.1858          might be 1.0092x faster

                                                         r184856                   r184864                                      
V8Spider:
   crypto                                            70.3075+-18.9862          68.9193+-12.0096         might be 1.0201x faster
   deltablue                                         94.6340+-8.1018           90.0020+-1.5288          might be 1.0515x faster
   earley-boyer                                      57.1172+-11.2460          52.3282+-4.2584          might be 1.0915x faster
   raytrace                                          44.1878+-7.3393           42.7120+-6.9401          might be 1.0346x faster
   regexp                                            87.2105+-2.1266     ?     88.0405+-4.9292        ?
   richards                                          81.2207+-6.4337     ?     85.3194+-5.1551        ? might be 1.0505x slower
   splay                                             46.6209+-8.9111     ?     48.2805+-8.4239        ? might be 1.0356x slower

   <geometric>                                       65.9480+-5.2631           65.1064+-2.4687          might be 1.0129x faster

                                                         r184856                   r184864                                      
Octane:
   encrypt                                           0.24870+-0.00495    ?     0.25062+-0.00463       ?
   decrypt                                           4.35216+-0.01084    ?     4.43725+-0.17345       ? might be 1.0196x slower
   deltablue                                x2       0.22612+-0.00288    ?     0.23067+-0.00427       ? might be 1.0201x slower
   earley                                            0.49230+-0.02223          0.49212+-0.02020       
   boyer                                             6.12005+-0.26281          6.06978+-0.15246       
   navier-stokes                            x2       5.32558+-0.02941          5.31614+-0.01760       
   raytrace                                 x2       1.60546+-0.09124          1.58458+-0.06124         might be 1.0132x faster
   richards                                 x2       0.13037+-0.00072          0.13025+-0.00065       
   splay                                    x2       0.42066+-0.01177    ?     0.42370+-0.00659       ?
   regexp                                   x2      34.93783+-0.17319         34.79994+-0.63335       
   pdfjs                                    x2      53.21346+-1.88851         52.46573+-2.98611         might be 1.0143x faster
   mandreel                                 x2      57.66970+-3.93652    ?    58.52256+-3.58385       ? might be 1.0148x slower
   gbemu                                    x2      48.11428+-3.73271    ?    49.45250+-2.97067       ? might be 1.0278x slower
   closure                                           0.58070+-0.01325    ?     0.59054+-0.01978       ? might be 1.0170x slower
   jquery                                            7.87678+-0.19912    ?     7.89419+-0.17977       ?
   box2d                                    x2      15.76998+-1.61497         15.09564+-0.96708         might be 1.0447x faster
   zlib                                     x2     487.19686+-44.29548   ?   498.91945+-20.91835      ? might be 1.0241x slower
   typescript                               x2     884.30371+-27.39947       883.87769+-25.02804      

   <geometric>                                       7.53323+-0.12697    ?     7.55119+-0.09339       ? might be 1.0024x slower

                                                         r184856                   r184864                                      
JSRegress:
   string-get-by-val-big-char                        11.3624+-2.7757            9.7737+-1.8940          might be 1.1625x faster
   slow-convergence                                   4.0342+-0.3959            3.6614+-1.3529          might be 1.1018x faster
   int-or-other-abs-zero-then-get-by-val             23.9683+-0.8788           23.6931+-0.9667          might be 1.0116x faster
   switch-string-basic                               17.0275+-1.8956           15.8347+-0.6352          might be 1.0753x faster
   integer-modulo                                     4.4088+-5.1723            4.0833+-2.5134          might be 1.0797x faster
   fold-double-to-int                                14.7610+-0.4416     ?     15.2510+-1.2260        ? might be 1.0332x slower
   is-object-or-null-trickier-internal-function   
                                                     14.8163+-2.2867           14.2424+-1.9135          might be 1.0403x faster
   adapt-to-double-divide                            16.5663+-0.8058           16.3473+-0.5264          might be 1.0134x faster
   tear-off-arguments                                 7.4456+-2.3523            6.1663+-0.8330          might be 1.2075x faster
   polymorphic-get-by-id                              5.2145+-0.9665            4.5165+-0.9832          might be 1.1545x faster
   is-object-or-null-fold-tricky                      8.8218+-1.9248     ?     10.4222+-6.3277        ? might be 1.1814x slower
   inline-arguments-local-escape                      5.8762+-1.3540            5.5049+-1.1494          might be 1.0675x faster
   int-or-other-sub                                   5.8076+-1.6829     ?      6.2290+-0.7499        ? might be 1.0726x slower
   new-array-dead                                    16.7617+-1.6703           16.5977+-0.8096        
   rare-osr-exit-on-local                            16.4288+-0.6167           16.1649+-0.6107          might be 1.0163x faster
   obvious-sink-pathology                           159.8562+-7.6087          154.6556+-10.3952         might be 1.0336x faster
   infer-one-time-closure                            11.7203+-0.5807           11.5162+-0.4865          might be 1.0177x faster
   in-one-case-true                                  13.8612+-2.8812     ?     17.6742+-5.1176        ? might be 1.2751x slower
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     24.5991+-0.6905     ?     26.6860+-2.8869        ? might be 1.0848x slower
   infer-closure-const-then-reenter-no-inline   
                                                     60.3090+-3.7389           59.2197+-3.6083          might be 1.0184x faster
   call-spread-apply                                 34.5342+-3.8604     ?     34.9313+-5.8085        ? might be 1.0115x slower
   destructuring-arguments                           18.7172+-0.6534     ?     18.7761+-0.1902        ?
   string-concat-object                               3.2552+-0.6378            2.9943+-0.5386          might be 1.0871x faster
   arguments-named-and-reflective                    12.4688+-1.9938           11.6360+-0.5833          might be 1.0716x faster
   singleton-scope                                   73.1330+-4.0916           72.6887+-0.4720        
   sparse-conditional                                 2.3914+-1.0060            1.5645+-0.5930          might be 1.5286x faster
   is-string-fold-tricky                              7.6061+-1.2491     ?      8.1979+-3.5844        ? might be 1.0778x slower
   splice-to-remove                                  17.1807+-0.7999           17.0391+-0.7327        
   assign-custom-setter                               5.6105+-0.1096     !      5.8333+-0.0090        ! definitely 1.0397x slower
   slow-array-profile-convergence                     3.4406+-0.9864     ?      3.5878+-0.5818        ? might be 1.0428x slower
   proto-getter-access                                9.8213+-1.6821     ?     10.4337+-1.7771        ? might be 1.0624x slower
   direct-arguments-getbyval                          1.8171+-0.5353     ?      1.8486+-0.8104        ? might be 1.0173x slower
   fold-put-by-id-to-multi-put-by-offset              8.3145+-2.0866     ?      8.8769+-2.5890        ? might be 1.0676x slower
   to-int32-boolean                                  16.3641+-0.4561     ?     16.5181+-0.6362        ?
   is-object-or-null-fold-functions                   5.5450+-1.0628            4.9619+-1.2369          might be 1.1175x faster
   Float32Array-matrix-mult                           5.7317+-1.5072     ?      6.2078+-1.8716        ? might be 1.0831x slower
   register-pressure-from-osr                        22.9285+-0.9421     ?     27.2861+-8.3439        ? might be 1.1901x slower
   new-array-buffer-dead                            134.5660+-9.4404          132.3558+-11.3781         might be 1.0167x faster
   infer-closure-const-then-put-to-scope-no-inline   
                                                     12.7786+-1.2318           12.6115+-0.3341          might be 1.0133x faster
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     43.3578+-5.0165           41.8992+-2.1186          might be 1.0348x faster
   double-to-int32-typed-array-no-inline              4.7768+-1.8619            4.0665+-1.7404          might be 1.1747x faster
   getter-richards                                  120.8605+-2.4735          116.7328+-9.7459          might be 1.0354x faster
   new-array-push                                     5.9390+-1.3618            5.4940+-0.7187          might be 1.0810x faster
   infer-closure-const-then-put-to-scope             24.5926+-1.5943     ?     24.6070+-1.1524        ?
   array-splice-contiguous                           79.6620+-41.7664          71.3470+-23.7649         might be 1.1165x faster
   ftl-library-inlining-dataview                     61.5903+-3.3045     ?     62.8602+-4.2504        ? might be 1.0206x slower
   indexed-properties-in-objects                      5.2268+-1.5411            4.5341+-2.6000          might be 1.1528x faster
   div-boolean-double                                 7.0809+-1.7162     ?      7.4098+-0.4325        ? might be 1.0464x slower
   is-boolean-fold                                    4.5401+-1.4228     ?      4.8653+-1.2075        ? might be 1.0716x slower
   int-or-other-neg-then-get-by-val                   5.9163+-1.0878     ?      6.4595+-1.5956        ? might be 1.0918x slower
   poly-stricteq                                     60.1089+-3.2479     ?     65.1965+-7.5105        ? might be 1.0846x slower
   polymorphic-put-by-id                             32.0007+-2.0102     ?     34.7143+-4.9897        ? might be 1.0848x slower
   try-catch-get-by-val-cloned-arguments             16.7048+-0.6489           15.4928+-2.3229          might be 1.0782x faster
   polymorphic-array-call                             2.1359+-0.7514     ?      2.8882+-1.1968        ? might be 1.3522x slower
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      7.4839+-2.3967     ?      8.6299+-2.4454        ? might be 1.1531x slower
   in-two-cases                                      13.9758+-2.9788           12.6483+-0.8361          might be 1.1050x faster
   array-access-polymorphic-structure                 6.7664+-0.0327     ?      7.4170+-1.5369        ? might be 1.0962x slower
   varargs-call                                      16.5760+-0.7891           16.0143+-0.5064          might be 1.0351x faster
   poly-chain-access                                  4.6900+-1.8735     ?      5.3887+-1.8273        ? might be 1.1490x slower
   get_callee_polymorphic                             4.6655+-1.2031            4.3424+-0.6110          might be 1.0744x faster
   cmpeq-obj-to-obj-other                            13.1257+-5.6059     ?     13.5660+-1.6435        ? might be 1.0335x slower
   cast-int-to-double                                 9.4523+-5.4718            7.9501+-1.2161          might be 1.1890x faster
   polyvariant-monomorphic-get-by-id                 10.3355+-1.9632     ?     10.5000+-1.3753        ? might be 1.0159x slower
   global-var-const-infer-fire-from-opt               2.2090+-0.9078            1.9153+-0.4259          might be 1.1533x faster
   array-prototype-some                              84.0952+-0.7487     ?     85.6570+-2.2067        ? might be 1.0186x slower
   basic-set                                         11.5705+-2.6538     ?     14.8561+-4.0095        ? might be 1.2840x slower
   is-function-fold                                   5.4578+-1.0201            4.8481+-0.4542          might be 1.1258x faster
   switch-string-basic-var                           18.7906+-2.0913           16.8185+-0.7358          might be 1.1173x faster
   assign-custom-setter-polymorphic                   4.2507+-1.4216     ?      4.4145+-0.5014        ? might be 1.0385x slower
   put-by-val-direct                                  0.5978+-0.1460            0.4749+-0.2176          might be 1.2590x faster
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     40.7961+-4.9233     ?     43.4852+-1.0027        ? might be 1.0659x slower
   simple-activation-demo                            27.8020+-1.5156     ?     30.6238+-5.6782        ? might be 1.1015x slower
   string-concat-pair-simple                         15.2442+-1.4929           14.7346+-1.8875          might be 1.0346x faster
   get-by-val-out-of-bounds                           6.7281+-1.4151            6.3849+-1.3248          might be 1.0538x faster
   switch-string-length-tower-var                    17.7234+-1.7630           17.0082+-1.0708          might be 1.0421x faster
   captured-assignments                               0.6401+-0.2594            0.5280+-0.1216          might be 1.2125x faster
   string-var-equality                               33.6935+-0.6075     ?     33.9373+-0.7628        ?
   int-or-other-mod-then-get-by-val                   6.0976+-1.0806     ?      6.5455+-1.2486        ? might be 1.0735x slower
   Int32Array-alloc-large                            29.2655+-6.7069           28.9550+-1.0425          might be 1.0107x faster
   sin-boolean                                       14.9479+-1.8603           13.7553+-1.0278          might be 1.0867x faster
   string-concat-simple                              16.0356+-4.7453           14.4103+-1.0913          might be 1.1128x faster
   getter-no-activation                               7.7762+-1.6068            6.8965+-1.6092          might be 1.1276x faster
   try-catch-get-by-val-direct-arguments              6.7759+-0.3187     ?      7.1877+-0.9259        ? might be 1.0608x slower
   infer-constant-property                            4.1267+-1.4960     ?      4.2353+-1.3983        ? might be 1.0263x slower
   div-boolean                                        9.9383+-1.9787            9.1525+-1.5953          might be 1.0859x faster
   large-int                                         16.3099+-1.1157     ?     16.7669+-1.6707        ? might be 1.0280x slower
   external-arguments-putbyval                        3.4342+-1.2015     ?      3.9082+-1.1748        ? might be 1.1380x slower
   max-boolean                                        5.5606+-4.4813            4.9872+-1.1507          might be 1.1150x faster
   get-by-id-proto-or-self                           18.9053+-2.0333     ?     20.1298+-5.1560        ? might be 1.0648x slower
   get-by-id-bimorphic-check-structure-elimination   
                                                      8.8401+-2.6791     ?      9.7146+-2.1074        ? might be 1.0989x slower
   string-equality                                   22.6588+-2.6428     ?     22.7263+-1.7750        ?
   getter                                             7.5020+-3.3115     ?      9.5560+-3.5222        ? might be 1.2738x slower
   Int32Array-Int8Array-view-alloc                    8.4750+-1.9870            7.4027+-0.3273          might be 1.1448x faster
   substring-concat                                  53.3347+-2.6994     ?     53.5922+-3.5605        ?
   is-boolean-fold-tricky                             6.0338+-1.4671     ?      6.2027+-1.6624        ? might be 1.0280x slower
   integer-divide                                    12.4915+-0.9482           12.4348+-1.4020        
   cse-new-array                                      4.3862+-1.6450            3.7278+-0.5700          might be 1.1766x faster
   is-string-fold                                     5.5228+-1.2899            4.6100+-1.7974          might be 1.1980x faster
   object-closure-call                                8.9084+-2.3123     ?      8.9179+-1.7155        ?
   sinkable-new-object-dag                           72.7029+-3.7165     ?     74.2867+-7.3814        ? might be 1.0218x slower
   string-char-code-at                               18.4653+-1.9454           17.2058+-0.9010          might be 1.0732x faster
   double-to-uint32-typed-array-no-inline             4.5450+-2.6916     ?      4.7786+-2.8256        ? might be 1.0514x slower
   Int16Array-bubble-sort                            24.4518+-2.7938           22.0496+-0.9613          might be 1.1089x faster
   switch-char                                       13.1322+-5.2668           11.0695+-9.9218          might be 1.1863x faster
   switch-char-constant                               4.9430+-1.4360            4.1226+-1.3452          might be 1.1990x faster
   infer-one-time-closure-two-vars                   11.6683+-0.6188           11.6438+-0.5058        
   object-test                                        4.1212+-0.9096     ?      4.8004+-0.4758        ? might be 1.1648x slower
   external-arguments-getbyval                        1.9717+-0.5839     ?      2.4728+-1.0740        ? might be 1.2541x slower
   plus-boolean                                       4.7476+-0.7654     ?      4.7968+-0.7074        ? might be 1.0103x slower
   Int16Array-alloc-long-lived                       61.8108+-6.6363     ?     76.3590+-10.6594       ? might be 1.2354x slower
   fold-get-by-id-to-multi-get-by-offset              9.1223+-3.1018     ?     11.2785+-6.0456        ? might be 1.2364x slower
   infer-one-time-deep-closure                       21.8535+-3.5163           20.4308+-0.8718          might be 1.0696x faster
   new-array-buffer-push                              8.1047+-1.0368            7.9681+-1.2525          might be 1.0172x faster
   aliased-arguments-getbyval                         1.8229+-0.6912     ?      3.0095+-3.1899        ? might be 1.6509x slower
   by-val-generic                                    10.9616+-1.6943           10.3168+-0.6029          might be 1.0625x faster
   ArrayBuffer-Int8Array-alloc-long-lived            14.7166+-0.3513     ?     16.2218+-2.8586        ? might be 1.1023x slower
   exit-length-on-plain-object                       14.1879+-0.4846     ?     14.7670+-1.9458        ? might be 1.0408x slower
   Int32Array-alloc                                   4.2960+-0.3841     ?      5.6129+-5.5318        ? might be 1.3065x slower
   weird-inlining-const-prop                          5.2028+-3.0146     ?      7.5887+-8.6286        ? might be 1.4586x slower
   DataView-custom-properties                        47.9183+-4.0183     ?     48.9783+-3.3204        ? might be 1.0221x slower
   HashMap-string-put-get-iterate                    33.6415+-3.1610           32.8994+-3.4233          might be 1.0226x faster
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      4.4927+-1.8775            4.3230+-0.6987          might be 1.0393x faster
   temporal-structure                                19.7338+-7.8586           17.4769+-4.7479          might be 1.1291x faster
   for-of-iterate-array-values                        5.9645+-1.6304            5.2565+-1.7591          might be 1.1347x faster
   varargs-construct                                 25.8622+-3.1802     ?     26.7017+-1.6410        ? might be 1.0325x slower
   double-to-uint32-typed-array                       2.6110+-1.0460     ?      3.1612+-1.1832        ? might be 1.2107x slower
   int-or-other-mul-then-get-by-val                   5.9734+-0.6056     ?      6.2501+-2.3207        ? might be 1.0463x slower
   put-by-val-machine-int                             4.3174+-1.6936     ?      4.3665+-1.4921        ? might be 1.0114x slower
   lots-of-fields                                    17.3014+-8.4745     ?     17.7250+-11.1978       ? might be 1.0245x slower
   infer-closure-const-then-mov-no-inline             5.7834+-2.6428            5.6035+-2.4310          might be 1.0321x faster
   arguments                                          9.6257+-0.6913     ?      9.9408+-1.3796        ? might be 1.0327x slower
   negative-zero-divide                               0.4211+-0.1416     ?      0.4785+-0.2570        ? might be 1.1364x slower
   big-int-mul                                        6.8394+-1.9804     ?      7.2910+-3.3904        ? might be 1.0660x slower
   is-object-or-null-tricky-function                  7.6171+-1.2500            6.7409+-0.6413          might be 1.1300x faster
   try-catch-get-by-val-scoped-arguments              8.2031+-0.5582     ?      8.5107+-0.9737        ? might be 1.0375x slower
   is-undefined-fold-tricky                           5.6260+-2.3803     ?      5.7416+-2.6792        ? might be 1.0205x slower
   setter                                             8.6186+-3.7018            7.5829+-1.9874          might be 1.1366x faster
   neg-boolean                                        5.5330+-0.9351            5.3252+-1.0535          might be 1.0390x faster
   poly-chain-access-simpler                          4.7128+-1.0513     ?      6.4695+-3.9978        ? might be 1.3728x slower
   slow-ternaries                                    25.2370+-0.3248     ?     26.3618+-2.9393        ? might be 1.0446x slower
   put-by-id-slightly-polymorphic                     5.5599+-1.3373            5.0634+-1.5781          might be 1.0980x faster
   arguments-out-of-bounds                           15.4224+-1.3053           15.0777+-0.9936          might be 1.0229x faster
   sink-function                                     12.6973+-1.9845           11.6980+-0.5295          might be 1.0854x faster
   marsaglia-larger-ints                             45.6088+-3.8553     ?     46.7136+-3.4727        ? might be 1.0242x slower
   undefined-test                                     6.3382+-5.4944            4.9109+-0.9735          might be 1.2906x faster
   imul-mixed                                         7.0153+-1.2297     ?      7.1182+-1.1323        ? might be 1.0147x slower
   global-var-const-infer                             1.2905+-0.4894     ?      1.4402+-0.6901        ? might be 1.1160x slower
   asmjs_bool_bug                                     8.4406+-1.0903     ?      9.4737+-3.1645        ? might be 1.1224x slower
   double-pollution-putbyoffset                       7.8749+-2.7560     ?      8.5148+-3.0241        ? might be 1.0812x slower
   is-object-or-null-fold                             5.1965+-0.6895     ?      5.7101+-1.9425        ? might be 1.0989x slower
   cell-argument                                      8.6300+-1.1160     ?      9.6582+-1.5888        ? might be 1.1191x slower
   int-or-other-add                                   7.3117+-0.2922     ?      7.3699+-1.3601        ?
   plus-boolean-arith                                 4.0051+-0.4143            3.8397+-0.6290          might be 1.0431x faster
   ArrayBuffer-Int32Array-byteOffset                  5.6940+-0.8869            5.3765+-1.4738          might be 1.0591x faster
   mod-boolean                                       10.4268+-1.1106           10.3246+-1.7089        
   infer-closure-const-then-mov                      17.9391+-2.5755     ?     18.0295+-1.3802        ?
   large-int-neg                                     17.0115+-0.7243     ?     17.2623+-1.4797        ? might be 1.0147x slower
   fround                                            18.0360+-0.5216     ?     19.0964+-1.8294        ? might be 1.0588x slower
   elidable-new-object-dag                           51.7133+-1.2665     ?     54.5828+-2.2256        ? might be 1.0555x slower
   make-indexed-storage                               6.4317+-4.1624            4.3729+-1.1295          might be 1.4708x faster
   int-or-other-add-then-get-by-val                   8.1925+-2.2807            6.0457+-0.9863          might be 1.3551x faster
   string-cons-repeat                                 8.3797+-0.8776            8.3433+-0.0988        
   logical-not                                        6.7126+-0.6807            6.1112+-1.5222          might be 1.0984x faster
   poly-chain-access-different-prototypes-simple   
                                                      6.3796+-1.5273            5.5552+-2.7035          might be 1.1484x faster
   fixed-typed-array-storage-var-index                2.0158+-1.3504            1.7903+-0.3983          might be 1.1260x faster
   function-test                                      4.1841+-1.8890     ?      4.8608+-1.8816        ? might be 1.1617x slower
   string-cons-tower                                  8.8532+-1.3258            8.3741+-0.3160          might be 1.0572x faster
   destructuring-swap                                 6.8434+-2.8925            6.7002+-0.4499          might be 1.0214x faster
   is-function-fold-tricky                            6.5551+-2.6593     ?      7.3018+-2.8769        ? might be 1.1139x slower
   int-or-other-max-then-get-by-val                   6.2038+-0.9241     ?      6.5240+-0.7733        ? might be 1.0516x slower
   fold-multi-get-by-offset-to-get-by-offset   
                                                      8.9169+-2.3714            8.6263+-1.5415          might be 1.0337x faster
   method-on-number                                  23.2176+-5.7804           22.9716+-1.7753          might be 1.0107x faster
   put-by-id-replace-and-transition                  12.1280+-2.9081           12.0281+-3.5398        
   int-or-other-neg-zero-then-get-by-val             24.1658+-2.4359           24.0451+-2.9268        
   varargs-strict-mode                               11.2963+-0.7249     ?     12.5732+-2.8134        ? might be 1.1130x slower
   string-get-by-val-out-of-bounds-insane             4.8555+-0.6679     ?      5.0996+-0.1616        ? might be 1.0503x slower
   imul-double-only                                   7.9050+-1.4784     ?      8.7803+-0.6632        ? might be 1.1107x slower
   for-of-iterate-array-keys                          5.5608+-0.8821     ?      5.6778+-1.2131        ? might be 1.0210x slower
   string-get-by-val                                  5.2645+-1.2426     ?      6.9647+-2.0467        ? might be 1.3229x slower
   nested-function-parsing                           47.7977+-5.1682     ?     49.8262+-4.0967        ? might be 1.0424x slower
   string-repeat-arith                               35.2322+-0.6652           33.7990+-0.8994          might be 1.0424x faster
   inline-arguments-aliased-access                    8.1149+-6.1793            5.9343+-1.7650          might be 1.3674x faster
   allocate-big-object                                3.7022+-1.4374            3.7012+-1.1077        
   is-object-or-null-fold-less-tricky                 7.4739+-2.2170            7.0731+-2.8428          might be 1.0567x faster
   elidable-new-object-tree                          54.7603+-4.9959     ?     56.7492+-6.2591        ? might be 1.0363x slower
   ArrayBuffer-Int8Array-alloc                       12.3801+-0.1513     ?     12.8491+-2.0544        ? might be 1.0379x slower
   int52-spill                                        9.2490+-1.7645     ?      9.2666+-3.4586        ?
   no-inline-constructor                             43.9425+-6.0660     ?     46.3403+-2.8640        ? might be 1.0546x slower
   hoist-make-rope                                   10.6816+-0.9843           10.6097+-1.1932        
   arguments-strict-mode                             11.0357+-0.9222           11.0234+-0.3684        
   function-with-eval                               117.2428+-10.5007    ?    120.8619+-11.6911       ? might be 1.0309x slower
   ArrayBuffer-DataView-alloc-long-lived             17.4417+-2.8077     ?     17.4990+-2.8172        ?
   simple-poly-call-nested                           10.9669+-3.6323            9.4580+-2.5034          might be 1.1595x faster
   switch-string-big-length-tower-var                21.0335+-0.4188           20.7550+-0.2760          might be 1.0134x faster
   number-test                                        6.4571+-3.4070            4.8482+-1.2946          might be 1.3319x faster
   Int16Array-load-int-mul                            3.5450+-3.2725     ?      4.0240+-3.9755        ? might be 1.1351x slower
   put-by-id                                         14.8286+-2.7244     ?     14.8440+-1.1574        ?
   imul-int-only                                     10.0451+-1.9565     ?     10.5219+-2.4041        ? might be 1.0475x slower
   gcse                                               7.3659+-1.0022            7.3615+-1.8020        
   create-lots-of-functions                          14.7322+-1.0547           14.1789+-2.2234          might be 1.0390x faster
   in-four-cases                                     22.3618+-1.3320           21.1706+-1.6345          might be 1.0563x faster
   elidable-new-object-then-call                     43.8583+-7.2420     ?     45.1194+-2.5823        ? might be 1.0288x slower
   int-or-other-sub-then-get-by-val                   7.1619+-0.2675     ?      9.6372+-8.5999        ? might be 1.3456x slower
   mul-boolean-double                                 5.9554+-3.3428     ?      6.7634+-4.2816        ? might be 1.1357x slower
   mod-boolean-double                                10.0422+-4.2826     ?     10.3235+-1.1861        ? might be 1.0280x slower
   inline-arguments-access                            5.6655+-1.5408            5.6205+-1.8579        
   substring-concat-weird                            51.8192+-2.0474           50.3279+-2.1194          might be 1.0296x faster
   varargs-construct-inline                          31.7155+-1.5258     ?     32.1487+-2.9461        ? might be 1.0137x slower
   HashMap-put-get-iterate                           33.9410+-7.0062           33.5217+-7.5638          might be 1.0125x faster
   string-long-ident-equality                        17.5677+-0.2484     ?     20.1985+-4.5566        ? might be 1.1498x slower
   mul-boolean                                        5.0858+-1.8916            4.1771+-0.8829          might be 1.2175x faster
   get-by-id-check-structure-elimination              6.8480+-1.4077     ?      7.6365+-0.4064        ? might be 1.1152x slower
   marsaglia-osr-entry                               23.1066+-0.0965     ?     23.9767+-2.1328        ? might be 1.0377x slower
   Float64Array-alloc-long-lived                     94.0431+-9.8905     ?    110.7338+-18.1161       ? might be 1.1775x slower
   misc-strict-eq                                    41.5983+-4.7375           37.7764+-1.1440          might be 1.1012x faster
   make-rope-cse                                      4.9265+-0.7637            4.7380+-0.4497          might be 1.0398x faster
   array-with-double-sum                              4.9749+-1.0066     ?      5.0550+-2.0585        ? might be 1.0161x slower
   substring                                         62.1523+-5.4154     ?     64.9737+-2.8143        ? might be 1.0454x slower
   array-with-double-increment                        5.5295+-1.3353            5.4482+-1.8967          might be 1.0149x faster
   is-object-or-null-trickier-function                7.5065+-0.6947            6.3815+-0.8759          might be 1.1763x faster
   for-of-iterate-array-entries                       7.4147+-4.0649     ?      7.6802+-3.2244        ? might be 1.0358x slower
   array-nonarray-polymorhpic-access                 34.4141+-2.7669     ?     35.2151+-2.7767        ? might be 1.0233x slower
   varargs                                           11.6454+-1.5814     ?     11.8404+-1.2843        ? might be 1.0167x slower
   string-out-of-bounds                              15.1312+-1.0237     ?     16.2595+-3.7061        ? might be 1.0746x slower
   inlined-put-by-id-transition                      14.1367+-2.3184           12.8412+-0.7731          might be 1.1009x faster
   minus-boolean-double                               6.0002+-0.5772            5.0952+-2.1936          might be 1.1776x faster
   is-object-or-null-tricky-internal-function   
                                                     12.6797+-3.6390           10.7009+-1.2895          might be 1.1849x faster
   delay-tear-off-arguments-strictmode               16.4383+-4.3158     ?     16.9280+-5.5669        ? might be 1.0298x slower
   array-prototype-every                             92.7157+-3.9438     ^     84.7415+-1.8355        ^ definitely 1.0941x faster
   chain-getter-access                               10.2015+-1.0471            9.9442+-0.6717          might be 1.0259x faster
   int-or-other-min-then-get-by-val                   6.4608+-0.6254            5.9821+-1.9034          might be 1.0800x faster
   HashMap-put-get-iterate-keys                      34.8317+-4.8492           33.1544+-5.1816          might be 1.0506x faster
   double-pollution-getbyval                         10.5535+-1.7640     ?     11.5334+-1.4769        ? might be 1.0928x slower
   structure-hoist-over-transitions                   3.8466+-1.2182            3.3866+-1.3014          might be 1.1358x faster
   polymorphic-structure                             18.9404+-1.1917           18.8818+-0.6501        
   sorting-benchmark                                 23.2720+-3.0087           21.0457+-0.5361          might be 1.1058x faster
   fixed-typed-array-storage                          1.5047+-0.3830     ?      1.7148+-0.3976        ? might be 1.1396x slower
   load-varargs-elimination                          25.1177+-0.5448     ?     26.7568+-3.8194        ? might be 1.0653x slower
   switch-string-length-tower                        15.2633+-1.1851     ?     15.6516+-1.4483        ? might be 1.0254x slower
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                     11.6678+-2.0029            9.8802+-2.8977          might be 1.1809x faster
   Int8Array-load-with-byteLength                     5.4308+-1.3019     ?      5.4602+-1.0393        ?
   Float64Array-to-Int16Array-set                    83.7790+-2.8562           83.2014+-3.0044        
   infer-constant-global-property                     9.1907+-1.5025     ?     10.2361+-1.0003        ? might be 1.1137x slower
   int-overflow-local                                 6.2455+-1.8594     ?      6.7238+-2.2637        ? might be 1.0766x slower
   min-boolean                                        5.2263+-1.2645            4.9160+-0.8582          might be 1.0631x faster
   simple-getter-access                              12.3855+-1.2473     ?     12.5608+-1.0300        ? might be 1.0142x slower
   string-hash                                        4.1275+-2.3439            3.0797+-0.4009          might be 1.3402x faster
   arity-mismatch-inlining                            1.2814+-0.4625     ?      1.5043+-0.2846        ? might be 1.1740x slower
   obviously-elidable-new-object                     37.5864+-2.0121           36.2910+-5.5271          might be 1.0357x faster
   deltablue-varargs                                244.2429+-12.1848    ?    244.8193+-20.8396       ?
   gcse-poly-get                                     24.2264+-6.2834     ?     26.2155+-3.2882        ? might be 1.0821x slower
   hoist-poly-check-structure-effectful-loop   
                                                      7.6047+-1.2463            6.8340+-0.4289          might be 1.1128x faster
   minus-boolean                                      3.5559+-0.4648     ?      3.9617+-1.7967        ? might be 1.1141x slower
   gcse-poly-get-less-obvious                        20.9863+-1.4639           20.7892+-3.0607        
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     11.5727+-2.6897     ?     11.9166+-2.1819        ? might be 1.0297x slower
   branch-fold                                        5.9443+-2.0006            5.4439+-1.0004          might be 1.0919x faster
   double-to-int32-typed-array                        2.9875+-1.0691     ?      3.4883+-2.1670        ? might be 1.1676x slower
   plus-boolean-double                                4.3246+-1.2785     ?      4.8348+-0.8094        ? might be 1.1180x slower
   hoist-poly-check-structure                         5.3235+-0.7701     ?      6.3512+-2.1657        ? might be 1.1931x slower
   infer-one-time-closure-ten-vars                   12.8358+-1.8047           12.4649+-1.2435          might be 1.0298x faster
   is-function-fold-tricky-internal-function   
                                                     12.7388+-1.5586     ?     15.8207+-4.3050        ? might be 1.2419x slower
   array-with-double-mul-add                          6.4813+-1.4306     ?      7.4380+-0.7074        ? might be 1.1476x slower
   array-prototype-map                               94.3920+-1.0174     ?    101.1829+-25.2184       ? might be 1.0719x slower
   varargs-inline                                     9.8464+-0.6237     ?     11.0990+-1.0914        ? might be 1.1272x slower
   sink-huge-activation                              18.5956+-2.2300           17.6389+-1.8440          might be 1.0542x faster
   undefined-property-access                        350.2167+-3.7141     ?    351.2655+-4.4025        ?
   array-with-int32-add-sub                          10.4902+-2.9066            9.8260+-3.9062          might be 1.0676x faster
   function-dot-apply                                 3.4468+-1.7082     ?      3.5315+-1.3427        ? might be 1.0246x slower
   string-sub                                        68.4437+-0.0496     !     70.4719+-1.5312        ! definitely 1.0296x slower
   boolean-test                                       4.7534+-1.5187     ?      4.9540+-0.5864        ? might be 1.0422x slower
   emscripten-cube2hash                              37.3763+-4.4873           36.8752+-2.2891          might be 1.0136x faster
   Int32Array-alloc-long-lived                       74.7368+-13.0363    ?     91.9872+-5.7788        ? might be 1.2308x slower
   get-by-id-self-or-proto                           18.2962+-1.6006     ?     18.6127+-2.8485        ? might be 1.0173x slower
   cse-new-array-buffer                               3.4872+-1.4375            2.8083+-0.5851          might be 1.2418x faster
   sinkable-new-object                               42.5928+-7.2541     ?     43.4496+-5.5984        ? might be 1.0201x slower
   put-by-val-large-index-blank-indexing-type   
                                                      6.5702+-0.5188     !      8.3482+-0.4018        ! definitely 1.2706x slower
   Int8Array-load                                     7.1740+-5.5493            5.4684+-3.0816          might be 1.3119x faster
   int-or-other-abs-then-get-by-val                   7.9348+-1.3618     ?      9.4655+-7.6770        ? might be 1.1929x slower
   abs-boolean                                        4.8796+-0.2094     ?      5.3408+-0.9636        ? might be 1.0945x slower
   call-spread-call                                  27.9070+-6.8915           24.7865+-1.9360          might be 1.1259x faster
   unprofiled-licm                                   22.2053+-0.8532     ?     22.4575+-0.9400        ? might be 1.0114x slower
   constant-test                                      7.3916+-1.8719     ?     10.1443+-7.1806        ? might be 1.3724x slower
   cfg-simplify                                       4.3295+-1.5360     ?      4.4305+-0.7594        ? might be 1.0233x slower
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      5.1694+-2.6990     ?      5.7130+-2.0695        ? might be 1.1052x slower
   fold-put-structure                                 7.4554+-3.1346     ?      7.7346+-2.3490        ? might be 1.0374x slower
   get-by-id-chain-from-try-block                     8.1493+-2.1131            7.8218+-0.7727          might be 1.0419x faster
   poly-chain-access-different-prototypes             4.7463+-1.8652            4.4816+-1.0524          might be 1.0591x faster
   is-number-fold-tricky                              5.7168+-0.5441     ?      6.7357+-1.2656        ? might be 1.1782x slower
   get_callee_monomorphic                             3.8865+-0.9309     ?      3.9148+-0.5348        ?
   deconstructing-parameters-overridden-by-function   
                                                      0.5660+-0.1872     ?      0.6298+-0.3309        ? might be 1.1126x slower
   empty-string-plus-int                              6.6705+-0.9700     ?      7.9969+-1.3999        ? might be 1.1989x slower
   Float32Array-to-Float64Array-set                  69.4396+-4.0602     ?     69.4448+-4.4977        ?
   switch-string-short                               15.3152+-0.8953           15.1553+-2.0501          might be 1.0106x faster
   switch-string-basic-big                           20.0325+-0.9580     ?     21.1200+-3.2013        ? might be 1.0543x slower
   double-get-by-val-out-of-bounds                    5.6615+-1.2954     ?      6.7704+-0.6902        ? might be 1.1959x slower
   large-int-captured                                 6.4516+-2.5289            6.0627+-0.8079          might be 1.0641x faster
   elidable-new-object-roflcopter                    59.1138+-1.9272           58.1780+-3.4271          might be 1.0161x faster
   string-get-by-val-out-of-bounds                   10.5193+-7.9876            7.7269+-1.8570          might be 1.3614x faster
   array-with-double-add                              5.2585+-1.5731     ?      5.3849+-0.1851        ? might be 1.0240x slower
   string-test                                        4.4788+-1.7694     ?      6.6624+-3.8248        ? might be 1.4875x slower
   is-undefined-fold                                  5.0908+-1.5513     ?      6.0392+-2.6202        ? might be 1.1863x slower
   switch                                            14.8953+-2.1684     ?     16.6607+-0.9187        ? might be 1.1185x slower
   inline-get-scoped-var                              7.0057+-2.0598     ?      9.7189+-4.5327        ? might be 1.3873x slower
   tear-off-arguments-simple                          4.5596+-1.7114     ?      4.7722+-1.1258        ? might be 1.0466x slower
   negative-zero-modulo                               0.4259+-0.0791     ?      0.5038+-0.0954        ? might be 1.1829x slower
   infer-closure-const-then-reenter                  24.7183+-1.1451     ?     25.2079+-1.3838        ? might be 1.0198x slower
   array-prototype-forEach                           84.4922+-5.3922           83.6901+-2.8281        
   switch-constant                                   11.1484+-1.5609           10.5502+-2.5900          might be 1.0567x faster
   negative-zero-negate                               0.4385+-0.1906            0.4026+-0.0946          might be 1.0890x faster
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                      9.2075+-1.1063     ?     10.0836+-1.2673        ? might be 1.0952x slower
   in-one-case-false                                 13.2571+-1.6347     ?     13.2947+-1.9381        ?
   int-or-other-div-then-get-by-val                   6.4341+-2.9939     ?      8.5380+-4.6359        ? might be 1.3270x slower
   typed-array-get-set-by-val-profiling              33.4785+-1.0122           33.4337+-1.3250        
   Int8Array-alloc-long-lived                        53.5845+-7.9205     ?     67.8139+-13.8286       ? might be 1.2655x slower
   simple-poly-call                                   2.0551+-0.5652     ?      2.0974+-0.8946        ? might be 1.0206x slower
   fold-multi-put-by-offset-to-put-by-offset   
                                                      7.8505+-2.6160            7.3090+-2.9738          might be 1.0741x faster
   switch-string-basic-big-var                       22.8231+-1.3558     ?     23.5211+-4.6329        ? might be 1.0306x slower
   Int16Array-to-Int32Array-set                      67.3456+-2.6856           65.7778+-1.1780          might be 1.0238x faster
   sinkable-new-object-taken                         64.6713+-7.0152           59.2859+-5.6305          might be 1.0908x faster
   string-concat-pair-object                          2.7362+-0.5410     ?      3.0059+-0.5978        ? might be 1.0986x slower
   branch-on-string-as-boolean                       17.6627+-1.1155           16.5963+-0.1617          might be 1.0643x faster
   is-number-fold                                     5.0388+-0.8025            4.5695+-0.7425          might be 1.1027x faster
   obvious-sink-pathology-taken                     167.2427+-7.3730     ?    169.8694+-7.9221        ? might be 1.0157x slower
   ftl-library-inlining                              70.4174+-5.3341           68.3188+-1.0143          might be 1.0307x faster
   array-with-int32-or-double-sum                     4.8277+-1.8252     ?      5.4268+-0.5049        ? might be 1.1241x slower
   Int16Array-bubble-sort-with-byteLength            22.7845+-0.5481     ^     21.6740+-0.3061        ^ definitely 1.0512x faster

   <geometric>                                       10.8425+-0.0994     ?     10.9405+-0.0559        ? might be 1.0090x slower

                                                         r184856                   r184864                                      
Geomean of preferred means:
   <scaled-result>                                   47.6365+-0.3518           47.1764+-0.1966          might be 1.0098x faster
Comment 17 Yusuke Suzuki 2015-05-27 06:07:19 PDT
Hmm, not so much regression is not seen in the result of octane...
Chris, could you show me the result recorded by the bot?
Comment 18 Chris Dumez 2015-05-27 09:43:47 PDT
(In reply to comment #17)
> Hmm, not so much regression is not seen in the result of octane...
> Chris, could you show me the result recorded by the bot?

Before:
Octane:
   encrypt                                   0.23155+-0.00148   
   decrypt                                   3.97006+-0.01770   
   deltablue                        x2       0.20161+-0.00239   
   earley                                    0.40753+-0.00262   
   boyer                                     5.28486+-0.02377   
   navier-stokes                    x2       5.30456+-0.00516   
   raytrace                         x2       1.29004+-0.06608   
   richards                         x2       0.11809+-0.00218   
   splay                            x2       0.43150+-0.00193   
   regexp                           x2      33.76876+-1.20706   
   pdfjs                            x2      44.27672+-0.12879   
   mandreel                         x2      55.98757+-0.30013   
   gbemu                            x2      45.07825+-0.80017   
   closure                                   0.56693+-0.00258   
   jquery                                    7.36867+-0.08556   
   box2d                            x2      13.32420+-0.11109   
   zlib                             x2     415.57583+-4.16257   
   typescript                       x2     876.47437+-21.74862  

   <geometric>                               6.88459+-0.02350  

After:
Octane:
   encrypt                                   0.23677+-0.00496   
   decrypt                                   4.08401+-0.07232   
   deltablue                        x2       0.20326+-0.00203   
   earley                                    0.40773+-0.00335   
   boyer                                     5.30627+-0.02365   
   navier-stokes                    x2       5.42207+-0.11326   
   raytrace                         x2       1.28632+-0.04799   
   richards                         x2       0.11991+-0.00399   
   splay                            x2       0.42998+-0.00350   
   regexp                           x2      34.04030+-0.19098   
   pdfjs                            x2      44.87976+-0.66909   
   mandreel                         x2      56.67771+-0.56932   
   gbemu                            x2      46.01357+-0.36334   
   closure                                   0.57666+-0.00794   
   jquery                                    7.56159+-0.19547   
   box2d                            x2      13.59086+-0.18671   
   zlib                             x2     421.73576+-1.37770   
   typescript                       x2     866.99280+-26.61258  

   <geometric>                               6.96116+-0.02616
Comment 19 Chris Dumez 2015-05-27 09:45:25 PDT
Before:
Kraken:
   ai-astar                                  241.371+-3.389     
   audio-beat-detection                      110.743+-0.826     
   audio-dft                                 133.197+-2.383     
   audio-fft                                  82.868+-1.108     
   audio-oscillator                           74.805+-0.658     
   imaging-darkroom                          107.580+-2.332     
   imaging-desaturate                         64.847+-2.574     
   imaging-gaussian-blur                     111.811+-1.039     
   json-parse-financial                       45.688+-0.853     
   json-stringify-tinderbox                   28.833+-0.106     
   stanford-crypto-aes                        60.056+-2.170     
   stanford-crypto-ccm                        48.420+-1.759     
   stanford-crypto-pbkdf2                    110.730+-1.447     
   stanford-crypto-sha256-iterative           42.744+-0.261     

   <arithmetic>                               90.264+-0.132 

After:
Kraken:
   ai-astar                                  246.549+-5.077     
   audio-beat-detection                      111.295+-1.463     
   audio-dft                                 134.715+-3.754     
   audio-fft                                  83.275+-0.687     
   audio-oscillator                           75.996+-2.610     
   imaging-darkroom                          109.206+-3.707     
   imaging-desaturate                         64.143+-0.229     
   imaging-gaussian-blur                     118.906+-6.630     
   json-parse-financial                       47.229+-1.999     
   json-stringify-tinderbox                   29.711+-0.777     
   stanford-crypto-aes                        59.652+-1.085     
   stanford-crypto-ccm                        49.938+-3.520     
   stanford-crypto-pbkdf2                    113.525+-2.838     
   stanford-crypto-sha256-iterative           43.867+-2.174     

   <arithmetic>                               92.001+-0.809
Comment 20 Yusuke Suzuki 2015-05-28 23:36:57 PDT
(In reply to comment #19)

Thank you! I'll investigate it more at night.
Comment 21 Yusuke Suzuki 2015-05-29 00:38:02 PDT
(In reply to comment #19)
> Before:
> Kraken:
>    ai-astar                                  241.371+-3.389     
>    audio-beat-detection                      110.743+-0.826     
>    audio-dft                                 133.197+-2.383     
>    audio-fft                                  82.868+-1.108     
>    audio-oscillator                           74.805+-0.658     
>    imaging-darkroom                          107.580+-2.332     
>    imaging-desaturate                         64.847+-2.574     
>    imaging-gaussian-blur                     111.811+-1.039     
>    json-parse-financial                       45.688+-0.853     
>    json-stringify-tinderbox                   28.833+-0.106     
>    stanford-crypto-aes                        60.056+-2.170     
>    stanford-crypto-ccm                        48.420+-1.759     
>    stanford-crypto-pbkdf2                    110.730+-1.447     
>    stanford-crypto-sha256-iterative           42.744+-0.261     
> 
>    <arithmetic>                               90.264+-0.132 
> 
> After:
> Kraken:
>    ai-astar                                  246.549+-5.077     
>    audio-beat-detection                      111.295+-1.463     
>    audio-dft                                 134.715+-3.754     
>    audio-fft                                  83.275+-0.687     
>    audio-oscillator                           75.996+-2.610     
>    imaging-darkroom                          109.206+-3.707     
>    imaging-desaturate                         64.143+-0.229     
>    imaging-gaussian-blur                     118.906+-6.630     
>    json-parse-financial                       47.229+-1.999     
>    json-stringify-tinderbox                   29.711+-0.777     
>    stanford-crypto-aes                        59.652+-1.085     
>    stanford-crypto-ccm                        49.938+-3.520     
>    stanford-crypto-pbkdf2                    113.525+-2.838     
>    stanford-crypto-sha256-iterative           43.867+-2.174     
> 
>    <arithmetic>                               92.001+-0.809

stanford-crypto-sha256-iterative doesn't contain any put_by_id direct related operations. Hm, i think it is related to StringView operations. But if i'm wrong, sorry.
Comment 22 Brady Eidson 2017-04-24 19:07:28 PDT
Comment on attachment 253761 [details]
Patch

This patch has been pending review since 2015 with no recent activity.

Clearing from the review queue.

Feel free to update and resubmit if the patch is still relevant.