Bug 150750 - B3 should be able to compile a Patchpoint
Summary: B3 should be able to compile a Patchpoint
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on: 150511
Blocks: 150279
  Show dependency treegraph
 
Reported: 2015-10-30 19:21 PDT by Filip Pizlo
Modified: 2015-11-02 14:57 PST (History)
3 users (show)

See Also:


Attachments
the patch (18.52 KB, patch)
2015-11-02 13:53 PST, Filip Pizlo
ggaren: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-10-30 19:21:50 PDT
Yay!
Comment 1 Filip Pizlo 2015-11-02 13:53:32 PST
Created attachment 264624 [details]
the patch
Comment 2 WebKit Commit Bot 2015-11-02 13:54:46 PST
Attachment 264624 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/b3/testb3.cpp:1218:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/b3/testb3.cpp:1219:  Consider using CHECK_EQ instead of CHECK(a == b)  [readability/check] [2]
ERROR: Source/JavaScriptCore/b3/testb3.cpp:1228:  Consider using CHECK_EQ instead of CHECK(a == b)  [readability/check] [2]
Total errors found: 3 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Geoffrey Garen 2015-11-02 14:09:43 PST
Comment on attachment 264624 [details]
the patch

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

r=me

> Source/JavaScriptCore/b3/B3LowerToAir.cpp:744
> +        for (unsigned i = 0; i < patchpointValue->numChildren(); ++i) {
> +            ValueRep rep;
> +            if (i < patchpointValue->stackmap.reps().size())

I think you assert below that this condition is true. Is that right? 

If so, there's no need for this test, since Vector asserts already. (And I think the code would read more clearly without it, since the current code seems to try to handle the difference, until you look really closely.)
Comment 4 Filip Pizlo 2015-11-02 14:14:52 PST
(In reply to comment #3)
> Comment on attachment 264624 [details]
> the patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=264624&action=review
> 
> r=me
> 
> > Source/JavaScriptCore/b3/B3LowerToAir.cpp:744
> > +        for (unsigned i = 0; i < patchpointValue->numChildren(); ++i) {
> > +            ValueRep rep;
> > +            if (i < patchpointValue->stackmap.reps().size())
> 
> I think you assert below that this condition is true. Is that right? 

I don't believe that I do.  The Stackmap::reps() can be left blank, and doing so means that for any child value whose index is beyond bounds of reps(), we assume ValueRep::Any.  The idea is that our OSR exit stackmaps will pretty much universally do this, and it saves us some small amount of memory since we don't have to carry around N copies of ValueRep::Any.

Hence why this if statement leaves the rep uninitialized if we're out of bounds.  The default constructor of ValueRep is ValueRep::Any.
Comment 5 Geoffrey Garen 2015-11-02 14:29:15 PST
> The default constructor of ValueRep is ValueRep::Any.

Aha! I missed that.
Comment 6 Filip Pizlo 2015-11-02 14:52:32 PST
I tested performance because I changed BlockInsertionSet.  It's fine.


Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on shakezilla (MacBookPro11,3).

VMs tested:
"TipOfTree" at /Volumes/Data/secondary/OpenSource/WebKitBuild/Release/jsc (r191908)
"Patchpoint" at /Volumes/Data/primary/OpenSource/WebKitBuild/Release/jsc (r191908)

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

                                                        TipOfTree                 Patchpoint                                    
SunSpider:
   3d-cube                                            4.6664+-0.1060     ?      4.7774+-0.3676        ? might be 1.0238x slower
   3d-morph                                           5.2342+-0.1878            5.1181+-0.0579          might be 1.0227x faster
   3d-raytrace                                        5.3138+-0.1263     ?      5.3606+-0.1234        ?
   access-binary-trees                                2.2983+-0.3792            2.2324+-0.1103          might be 1.0295x faster
   access-fannkuch                                    5.7808+-0.1836     ?      5.8585+-0.2134        ? might be 1.0135x slower
   access-nbody                                       2.5413+-0.0403     ?      2.5634+-0.0886        ?
   access-nsieve                                      3.0801+-0.0592     ?      3.2312+-0.3625        ? might be 1.0491x slower
   bitops-3bit-bits-in-byte                           1.2864+-0.2166            1.1496+-0.0241          might be 1.1190x faster
   bitops-bits-in-byte                                3.2105+-0.0600     ?      3.2904+-0.2491        ? might be 1.0249x slower
   bitops-bitwise-and                                 2.2404+-0.4866            2.0818+-0.2139          might be 1.0762x faster
   bitops-nsieve-bits                                 3.0389+-0.1155     ?      3.1216+-0.1874        ? might be 1.0272x slower
   controlflow-recursive                              2.5248+-0.2573            2.4569+-0.0822          might be 1.0276x faster
   crypto-aes                                         4.1996+-0.5461     ?      4.2559+-0.4897        ? might be 1.0134x slower
   crypto-md5                                         2.5295+-0.1316            2.5131+-0.0351        
   crypto-sha1                                        2.6700+-0.5175            2.6600+-0.3465        
   date-format-tofte                                  6.8769+-0.5946            6.6881+-0.2249          might be 1.0282x faster
   date-format-xparb                                  4.9242+-0.3802            4.7921+-0.4132          might be 1.0276x faster
   math-cordic                                        2.8380+-0.1609     ?      2.9093+-0.1838        ? might be 1.0251x slower
   math-partial-sums                                  4.8545+-0.0927            4.8081+-0.1583        
   math-spectral-norm                                 2.0599+-0.3863     ?      2.0766+-0.2391        ?
   regexp-dna                                         6.3150+-0.2064            6.2432+-0.1745          might be 1.0115x faster
   string-base64                                      4.3840+-0.2205            4.3821+-0.1703        
   string-fasta                                       5.8546+-0.1596     ?      6.2567+-0.5323        ? might be 1.0687x slower
   string-tagcloud                                    8.0673+-0.3108     ?      8.3215+-0.6514        ? might be 1.0315x slower
   string-unpack-code                                19.0909+-1.4245           19.0205+-1.2091        
   string-validate-input                              4.4605+-0.1331     ?      4.5785+-0.1848        ? might be 1.0264x slower

   <arithmetic>                                       4.6285+-0.0943     ?      4.6441+-0.0877        ? might be 1.0034x slower

                                                        TipOfTree                 Patchpoint                                    
LongSpider:
   3d-cube                                          796.6695+-5.8853     ?    799.2611+-3.1955        ?
   3d-morph                                        1492.8435+-5.8818         1491.1365+-6.6928        
   3d-raytrace                                      602.4497+-3.2692          597.9617+-3.8993        
   access-binary-trees                              797.4349+-4.5993          794.4458+-4.8693        
   access-fannkuch                                  291.2711+-6.4831     ?    297.4408+-3.6207        ? might be 1.0212x slower
   access-nbody                                     512.1506+-1.4635     ?    512.8748+-1.5770        ?
   access-nsieve                                    377.2794+-10.0266    ?    387.7958+-14.0753       ? might be 1.0279x slower
   bitops-3bit-bits-in-byte                          35.9484+-1.9290           34.0252+-0.9349          might be 1.0565x faster
   bitops-bits-in-byte                               84.8417+-8.9962           75.8621+-0.4586          might be 1.1184x faster
   bitops-nsieve-bits                               404.7881+-5.2420          401.4864+-2.6856        
   controlflow-recursive                            431.1915+-0.4495     ?    432.6188+-2.4281        ?
   crypto-aes                                       548.6018+-12.7697    ?    555.5884+-2.1708        ? might be 1.0127x slower
   crypto-md5                                       481.9193+-39.5275    ?    521.3770+-5.6949        ? might be 1.0819x slower
   crypto-sha1                                      661.4811+-5.8879     ?    663.0192+-16.6064       ?
   date-format-tofte                                508.9740+-10.1147         506.3620+-10.7602       
   date-format-xparb                                684.1122+-81.0227         652.5448+-3.9169          might be 1.0484x faster
   hash-map                                         149.6751+-2.9510          149.1528+-1.7442        
   math-cordic                                      487.1285+-6.7011          482.9140+-0.8476        
   math-partial-sums                                459.3738+-1.0154          458.0676+-1.1225        
   math-spectral-norm                               549.2832+-2.2756          549.1062+-3.0232        
   string-base64                                    363.5120+-21.9186    ?    375.0457+-4.4407        ? might be 1.0317x slower
   string-fasta                                     353.7400+-3.2671     ?    354.7234+-2.8136        ?
   string-tagcloud                                  175.6710+-1.7626     ?    176.3029+-2.4506        ?

   <geometric>                                      391.4116+-4.7865          390.4791+-1.6490          might be 1.0024x faster

                                                        TipOfTree                 Patchpoint                                    
V8Spider:
   crypto                                            50.7238+-1.1436           49.8092+-1.2497          might be 1.0184x faster
   deltablue                                         75.3816+-2.6854     ?     80.5200+-4.9873        ? might be 1.0682x slower
   earley-boyer                                      43.4520+-1.8504           41.3682+-1.8129          might be 1.0504x faster
   raytrace                                          29.2585+-0.6828     ?     30.0750+-2.2505        ? might be 1.0279x slower
   regexp                                            61.7715+-1.1013     ?     63.3427+-1.0683        ? might be 1.0254x slower
   richards                                          53.3081+-0.9143           53.1174+-1.0728        
   splay                                             38.4242+-2.0817           37.1762+-1.9050          might be 1.0336x faster

   <geometric>                                       48.3038+-0.6444     ?     48.3845+-0.5404        ? might be 1.0017x slower

                                                        TipOfTree                 Patchpoint                                    
Octane:
   encrypt                                           0.15588+-0.00376    ?     0.15617+-0.00300       ?
   decrypt                                           2.89361+-0.01914          2.88797+-0.02983       
   deltablue                                x2       0.13513+-0.00348          0.13438+-0.00363       
   earley                                            0.28413+-0.00407          0.28345+-0.00291       
   boyer                                             4.27284+-0.02838    ?     4.33412+-0.07946       ? might be 1.0143x slower
   navier-stokes                            x2       4.81460+-0.00831    ?     4.87434+-0.11591       ? might be 1.0124x slower
   raytrace                                 x2       0.84834+-0.00502    ?     0.85196+-0.00371       ?
   richards                                 x2       0.08663+-0.00124          0.08605+-0.00079       
   splay                                    x2       0.34442+-0.00435    ?     0.34765+-0.00451       ?
   regexp                                   x2      24.24326+-0.35898    ?    24.87817+-0.37447       ? might be 1.0262x slower
   pdfjs                                    x2      37.20639+-0.37699    ?    37.43573+-0.43754       ?
   mandreel                                 x2      42.58851+-0.26719    ?    42.76791+-0.59450       ?
   gbemu                                    x2      29.57808+-0.28562    ?    30.87325+-2.51305       ? might be 1.0438x slower
   closure                                           0.58834+-0.00355          0.58593+-0.01197       
   jquery                                            7.47679+-0.07565          7.41323+-0.03238       
   box2d                                    x2       9.30642+-0.03449    ?     9.31964+-0.06339       ?
   zlib                                     x2     389.87720+-3.66678        385.92372+-19.96750        might be 1.0102x faster
   typescript                               x2     670.61271+-7.02671    ?   671.10620+-12.88269      ?

   <geometric>                                       5.28757+-0.01741    ?     5.31600+-0.01648       ? might be 1.0054x slower

                                                        TipOfTree                 Patchpoint                                    
Kraken:
   ai-astar                                          128.077+-1.285      ?     128.327+-2.360         ?
   audio-beat-detection                               48.230+-0.150      ?      48.269+-0.406         ?
   audio-dft                                          95.835+-0.947      ?      98.299+-1.805         ? might be 1.0257x slower
   audio-fft                                          37.020+-2.009             34.914+-0.484           might be 1.0603x faster
   audio-oscillator                                   58.036+-1.303             57.624+-0.920         
   imaging-darkroom                                   60.263+-1.428      ?      60.479+-1.960         ?
   imaging-desaturate                                 48.780+-1.120      ?      49.169+-1.003         ?
   imaging-gaussian-blur                              87.571+-0.503             87.446+-0.755         
   json-parse-financial                               44.621+-16.514            38.500+-0.886           might be 1.1590x faster
   json-stringify-tinderbox                           23.299+-1.238             23.127+-1.160         
   stanford-crypto-aes                                41.848+-0.893      ?      43.346+-2.102         ? might be 1.0358x slower
   stanford-crypto-ccm                                37.462+-2.204             36.972+-1.923           might be 1.0133x faster
   stanford-crypto-pbkdf2                             96.064+-0.781      ?      96.634+-2.093         ?
   stanford-crypto-sha256-iterative                   36.463+-0.571      ?      37.167+-1.202         ? might be 1.0193x slower

   <arithmetic>                                       60.255+-1.027             60.020+-0.211           might be 1.0039x faster

                                                        TipOfTree                 Patchpoint                                    
JSRegress:
   abc-forward-loop-equal                            30.2798+-0.9545           30.0716+-0.9630        
   abc-postfix-backward-loop                         30.6968+-1.0587     ?     31.0806+-2.1152        ? might be 1.0125x slower
   abc-simple-backward-loop                          29.2849+-0.6721     ?     29.9820+-1.0585        ? might be 1.0238x slower
   abc-simple-forward-loop                           30.0102+-1.0835           29.6306+-1.1052          might be 1.0128x faster
   abc-skippy-loop                                   21.6175+-0.2864           21.4808+-0.6164        
   abs-boolean                                        2.5180+-0.1073     ?      2.5649+-0.1486        ? might be 1.0186x slower
   adapt-to-double-divide                            16.6871+-1.0063           16.6588+-0.7539        
   aliased-arguments-getbyval                         1.3950+-0.4392            1.2090+-0.0789          might be 1.1538x faster
   allocate-big-object                                2.5664+-0.1041            2.5551+-0.1269        
   arguments-named-and-reflective                    10.6411+-0.5123     ?     10.7261+-0.2504        ?
   arguments-out-of-bounds                            9.7341+-0.7896            9.3046+-0.3325          might be 1.0462x faster
   arguments-strict-mode                              9.6617+-0.6435            9.6160+-0.3979        
   arguments                                          8.2840+-0.2696     ?      8.3291+-0.2139        ?
   arity-mismatch-inlining                            0.8756+-0.0173     ?      0.9315+-0.0788        ? might be 1.0638x slower
   array-access-polymorphic-structure                 7.3465+-0.2807            7.2098+-0.2486          might be 1.0190x faster
   array-nonarray-polymorhpic-access                 24.6072+-0.7525     ?     24.8260+-0.5419        ?
   array-prototype-every                             77.2719+-2.4550     ?     78.2349+-3.2616        ? might be 1.0125x slower
   array-prototype-forEach                           77.9512+-2.0497     ?     84.2809+-25.4015       ? might be 1.0812x slower
   array-prototype-map                               82.0643+-1.1486     ?     82.0951+-1.3356        ?
   array-prototype-reduce                            72.6243+-1.9076           72.0482+-0.9755        
   array-prototype-reduceRight                       84.5295+-29.4392          75.5300+-5.3608          might be 1.1192x faster
   array-prototype-some                              78.3950+-2.6557           78.0869+-3.3306        
   array-splice-contiguous                           23.9288+-0.9617           23.7514+-1.6205        
   array-with-double-add                              3.5888+-0.0777     ?      3.7055+-0.1565        ? might be 1.0325x slower
   array-with-double-increment                        3.1833+-0.1025            3.1517+-0.0233          might be 1.0101x faster
   array-with-double-mul-add                          4.4684+-0.0546     ?      4.6447+-0.2625        ? might be 1.0394x slower
   array-with-double-sum                              3.3417+-0.2716            3.2287+-0.0802          might be 1.0350x faster
   array-with-int32-add-sub                           6.1862+-0.3022     ?      6.3807+-0.3976        ? might be 1.0314x slower
   array-with-int32-or-double-sum                     3.2929+-0.0818            3.2702+-0.0312        
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     27.6743+-1.5149           26.2963+-1.4817          might be 1.0524x faster
   ArrayBuffer-DataView-alloc-long-lived             12.7003+-1.4322           11.9641+-0.2401          might be 1.0615x faster
   ArrayBuffer-Int32Array-byteOffset                  3.5346+-0.0225     ?      3.7122+-0.2480        ? might be 1.0502x slower
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     26.7909+-1.5145           26.1204+-0.4592          might be 1.0257x faster
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     20.5479+-1.9865           19.1921+-0.4985          might be 1.0706x faster
   ArrayBuffer-Int8Array-alloc-long-lived            11.4813+-0.5542           11.4250+-0.5279        
   ArrayBuffer-Int8Array-alloc                        9.8318+-0.9313            9.4812+-0.4413          might be 1.0370x faster
   arrowfunction-call                                11.3534+-0.5863           11.0468+-0.1962          might be 1.0278x faster
   asmjs_bool_bug                                     8.2561+-0.3628            8.2043+-0.2874        
   assign-custom-setter-polymorphic                   2.4384+-0.0223            2.4017+-0.0550          might be 1.0152x faster
   assign-custom-setter                               3.3984+-0.0461            3.3954+-0.1300        
   basic-set                                          7.7866+-0.4412            7.7314+-0.5894        
   big-int-mul                                        3.6635+-0.4273            3.5792+-0.3352          might be 1.0235x faster
   boolean-test                                       3.2406+-0.2935            3.0835+-0.0732          might be 1.0509x faster
   branch-fold                                        3.8090+-0.4476            3.6683+-0.1002          might be 1.0384x faster
   branch-on-string-as-boolean                       17.6831+-0.5237           16.9892+-1.6338          might be 1.0408x faster
   by-val-generic                                     2.3990+-0.1203     ?      2.5260+-0.2718        ? might be 1.0529x slower
   call-spread-apply                                 28.4200+-2.3857           27.4289+-0.5801          might be 1.0361x faster
   call-spread-call                                  22.3009+-0.9107           22.2610+-1.2123        
   captured-assignments                               0.4303+-0.0111     ?      0.4419+-0.0138        ? might be 1.0270x slower
   cast-int-to-double                                 5.0813+-0.1033            5.0618+-0.1184        
   cell-argument                                      5.7686+-0.2395     !      6.5749+-0.5542        ! definitely 1.1398x slower
   cfg-simplify                                       2.9414+-0.0619            2.8899+-0.0543          might be 1.0179x faster
   chain-getter-access                                8.4934+-0.4148            8.2233+-0.2403          might be 1.0328x faster
   cmpeq-obj-to-obj-other                            12.7395+-1.0519           11.6607+-1.2113          might be 1.0925x faster
   constant-test                                      5.0162+-0.5373            4.7767+-0.1586          might be 1.0501x faster
   create-lots-of-functions                           9.3073+-0.4916     ?      9.7818+-1.1146        ? might be 1.0510x slower
   cse-new-array-buffer                               2.4248+-0.2955            2.3516+-0.1636          might be 1.0311x faster
   cse-new-array                                      2.4983+-0.2864            2.4515+-0.2140          might be 1.0191x faster
   custom-setter-getter-as-put-get-by-id              0.5348+-0.0497            0.5085+-0.0180          might be 1.0517x faster
   DataView-custom-properties                        30.7759+-0.7731     ?     30.8816+-0.8890        ?
   delay-tear-off-arguments-strictmode               12.7978+-0.6355     ?     13.1747+-0.3159        ? might be 1.0295x slower
   deltablue-varargs                                161.0717+-2.2819     ?    165.2043+-5.1128        ? might be 1.0257x slower
   destructuring-arguments                          164.9314+-6.1243     ?    171.3755+-24.4768       ? might be 1.0391x slower
   destructuring-parameters-overridden-by-function   
                                                      0.4786+-0.0460            0.4599+-0.0160          might be 1.0405x faster
   destructuring-swap                                 4.7795+-0.0561     ?      4.7855+-0.1238        ?
   direct-arguments-getbyval                          1.1841+-0.0548     ?      1.3700+-0.2833        ? might be 1.1570x slower
   div-boolean-double                                 5.4414+-0.1710            5.3363+-0.2395          might be 1.0197x faster
   div-boolean                                        8.0946+-0.0826     ?      8.2322+-0.0990        ? might be 1.0170x slower
   double-get-by-val-out-of-bounds                    4.3646+-0.1233     ?      4.5294+-0.2281        ? might be 1.0378x slower
   double-pollution-getbyval                          8.4834+-0.1767            8.4556+-0.1670        
   double-pollution-putbyoffset                       3.7566+-0.2972     ?      3.8818+-0.4537        ? might be 1.0334x slower
   double-real-use                                   24.9121+-1.8060     ?     25.8394+-2.4569        ? might be 1.0372x slower
   double-to-int32-typed-array-no-inline              2.2456+-0.0790            2.1636+-0.0501          might be 1.0379x faster
   double-to-int32-typed-array                        2.1156+-0.0688            2.0625+-0.0285          might be 1.0257x faster
   double-to-uint32-typed-array-no-inline             2.3191+-0.0981            2.2699+-0.0716          might be 1.0217x faster
   double-to-uint32-typed-array                       2.1423+-0.0608     ?      2.1515+-0.1092        ?
   elidable-new-object-dag                           34.7532+-1.2168           34.5687+-1.1571        
   elidable-new-object-roflcopter                    32.5332+-2.2449     ?     33.9349+-1.6139        ? might be 1.0431x slower
   elidable-new-object-then-call                     32.0546+-1.1533     ?     32.0994+-1.4330        ?
   elidable-new-object-tree                          37.0185+-1.0805     ?     37.9886+-1.5161        ? might be 1.0262x slower
   empty-string-plus-int                              4.7217+-0.0457            4.6713+-0.1371          might be 1.0108x faster
   emscripten-cube2hash                              28.8177+-1.6309           28.1368+-1.9975          might be 1.0242x faster
   exit-length-on-plain-object                       16.1369+-1.4048           15.7916+-0.6716          might be 1.0219x faster
   external-arguments-getbyval                        1.2897+-0.1344            1.2333+-0.1118          might be 1.0457x faster
   external-arguments-putbyval                        2.4555+-0.3915            2.2508+-0.0643          might be 1.0909x faster
   fixed-typed-array-storage-var-index                1.2555+-0.0610            1.2328+-0.0399          might be 1.0184x faster
   fixed-typed-array-storage                          0.9778+-0.0479            0.9530+-0.0564          might be 1.0260x faster
   Float32Array-matrix-mult                           4.2994+-0.1695     ?      4.3068+-0.2027        ?
   Float32Array-to-Float64Array-set                  48.6423+-0.9129           48.3839+-0.4708        
   Float64Array-alloc-long-lived                     67.3180+-13.4256          60.3144+-1.7927          might be 1.1161x faster
   Float64Array-to-Int16Array-set                    59.7370+-1.3984           59.5059+-1.4374        
   fold-double-to-int                                12.8439+-0.9662           12.6471+-0.8317          might be 1.0156x faster
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     11.6381+-1.4089     ?     11.8573+-1.7480        ? might be 1.0188x slower
   fold-get-by-id-to-multi-get-by-offset             10.0979+-0.6652            9.7350+-0.2362          might be 1.0373x faster
   fold-multi-get-by-offset-to-get-by-offset   
                                                      8.9408+-1.9366            8.6942+-1.4726          might be 1.0284x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      9.0907+-1.0692            8.8854+-0.9625          might be 1.0231x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                     10.3328+-1.0673     ?     10.6828+-1.0147        ? might be 1.0339x slower
   fold-multi-put-by-offset-to-put-by-offset   
                                                     11.0420+-0.5728           10.3849+-0.7755          might be 1.0633x faster
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     10.5480+-0.9446            9.9188+-0.8996          might be 1.0634x faster
   fold-put-by-id-to-multi-put-by-offset             11.6187+-1.4907           11.3736+-1.1619          might be 1.0215x faster
   fold-put-by-val-with-string-to-multi-put-by-offset   
                                                     11.5065+-1.2910           10.9512+-0.9867          might be 1.0507x faster
   fold-put-by-val-with-symbol-to-multi-put-by-offset   
                                                     11.6887+-1.2708     ?     11.9443+-1.3180        ? might be 1.0219x slower
   fold-put-structure                                 7.1498+-1.1523     ?      7.9219+-1.1940        ? might be 1.1080x slower
   for-of-iterate-array-entries                      11.0326+-0.3613           10.9589+-0.4199        
   for-of-iterate-array-keys                          3.6025+-0.1866     ?      3.7816+-0.3264        ? might be 1.0497x slower
   for-of-iterate-array-values                        3.4648+-0.2290     ?      3.5882+-0.1946        ? might be 1.0356x slower
   fround                                            18.5129+-0.6214           18.3401+-1.0147        
   ftl-library-inlining-dataview                     59.7749+-2.4182           58.2527+-1.2256          might be 1.0261x faster
   ftl-library-inlining                             102.2798+-1.7529          101.6275+-0.8033        
   ftl-object-sub                                   314.7557+-3.0570          314.7105+-5.5243        
   function-call                                     11.2377+-0.2146     ?     11.2451+-0.2745        ?
   function-dot-apply                                 2.0790+-0.1949     ?      2.1490+-0.1677        ? might be 1.0337x slower
   function-test                                      2.8148+-0.2219     ?      2.8730+-0.1286        ? might be 1.0207x slower
   function-with-eval                                83.0162+-2.2574           80.9758+-0.7701          might be 1.0252x faster
   gcse-poly-get-less-obvious                        24.7875+-2.9674           23.3556+-2.0450          might be 1.0613x faster
   gcse-poly-get                                     23.3918+-3.2521           22.1328+-2.6202          might be 1.0569x faster
   gcse                                               3.4930+-0.1691            3.4544+-0.1136          might be 1.0112x faster
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.6015+-0.0758     ?      2.6926+-0.1214        ? might be 1.0350x slower
   get-by-id-bimorphic-check-structure-elimination   
                                                      4.8891+-0.3889     ?      5.0537+-0.4777        ? might be 1.0337x slower
   get-by-id-chain-from-try-block                     2.4782+-0.0490     ^      2.4050+-0.0226        ^ definitely 1.0305x faster
   get-by-id-check-structure-elimination              3.9931+-0.2235            3.9030+-0.0679          might be 1.0231x faster
   get-by-id-proto-or-self                           17.1403+-2.1356           16.4069+-1.3480          might be 1.0447x faster
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      2.9517+-0.1303     ?      3.0262+-0.3776        ? might be 1.0252x slower
   get-by-id-self-or-proto                           16.9617+-1.4000           16.0555+-0.4387          might be 1.0564x faster
   get-by-val-out-of-bounds                           4.2226+-0.1282     ?      4.3223+-0.3011        ? might be 1.0236x slower
   get-by-val-with-string-bimorphic-check-structure-elimination-simple   
                                                      2.7132+-0.0276     ?      2.7226+-0.0868        ?
   get-by-val-with-string-bimorphic-check-structure-elimination   
                                                      6.2554+-0.4441            6.2204+-0.4199        
   get-by-val-with-string-chain-from-try-block   
                                                      2.5120+-0.1598            2.4350+-0.0477          might be 1.0316x faster
   get-by-val-with-string-check-structure-elimination   
                                                      5.5891+-0.0923     ?      5.6071+-0.2306        ?
   get-by-val-with-string-proto-or-self              16.5486+-0.7130     ?     17.4126+-0.9660        ? might be 1.0522x slower
   get-by-val-with-string-quadmorphic-check-structure-elimination-simple   
                                                      3.1499+-0.1117            3.0682+-0.0210          might be 1.0266x faster
   get-by-val-with-string-self-or-proto              17.4089+-1.1301           16.0440+-0.8145          might be 1.0851x faster
   get-by-val-with-symbol-bimorphic-check-structure-elimination-simple   
                                                      2.9576+-0.0526            2.9478+-0.0904        
   get-by-val-with-symbol-bimorphic-check-structure-elimination   
                                                     12.7303+-0.3872           12.3945+-0.1090          might be 1.0271x faster
   get-by-val-with-symbol-chain-from-try-block   
                                                      2.4927+-0.0680            2.4338+-0.0315          might be 1.0242x faster
   get-by-val-with-symbol-check-structure-elimination   
                                                     11.4034+-0.1114     ?     11.4629+-0.0835        ?
   get-by-val-with-symbol-proto-or-self              17.5801+-1.2220           17.3419+-1.2000          might be 1.0137x faster
   get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple   
                                                      3.6995+-0.0469     ?      3.8007+-0.2621        ? might be 1.0274x slower
   get-by-val-with-symbol-self-or-proto              18.0291+-2.0759           16.3915+-1.2056          might be 1.0999x faster
   get_callee_monomorphic                             2.4500+-0.2327     ?      2.5365+-0.2863        ? might be 1.0353x slower
   get_callee_polymorphic                             3.3482+-0.0823            3.3463+-0.1141        
   getter-no-activation                               4.8518+-0.2803            4.8431+-0.2290        
   getter-prototype                                   7.9742+-0.1743     ?      8.1890+-0.3753        ? might be 1.0269x slower
   getter-richards-try-catch                        992.2469+-17.8839         989.7159+-24.3696       
   getter-richards                                  114.3208+-5.0662          112.7671+-3.8323          might be 1.0138x faster
   getter                                             5.2922+-0.3317     ?      5.7412+-0.7625        ? might be 1.0848x slower
   global-object-access-with-mutating-structure   
                                                      5.7423+-0.2550            5.6763+-0.0831          might be 1.0116x faster
   global-var-const-infer-fire-from-opt               0.7125+-0.0099     ?      0.7493+-0.0689        ? might be 1.0516x slower
   global-var-const-infer                             0.6462+-0.0388     ?      0.6514+-0.0259        ?
   hard-overflow-check-equal                         27.0044+-0.6696     ?     27.1971+-0.4242        ?
   hard-overflow-check                               26.7156+-0.6398     ?     27.0133+-1.9937        ? might be 1.0111x slower
   HashMap-put-get-iterate-keys                      26.1259+-0.9188     ?     27.0500+-1.3345        ? might be 1.0354x slower
   HashMap-put-get-iterate                           27.6844+-0.7470           27.3763+-0.7467          might be 1.0113x faster
   HashMap-string-put-get-iterate                    24.8449+-0.8290           24.1434+-1.6810          might be 1.0291x faster
   hoist-make-rope                                    8.9869+-1.0762     ?      9.0576+-1.4303        ?
   hoist-poly-check-structure-effectful-loop   
                                                      3.6361+-0.0956     ?      3.8219+-0.4844        ? might be 1.0511x slower
   hoist-poly-check-structure                         3.1528+-0.1952            3.0614+-0.0818          might be 1.0299x faster
   imul-double-only                                   7.9493+-0.1039            7.7256+-0.2457          might be 1.0290x faster
   imul-int-only                                      8.4161+-0.9557     ?      8.5007+-1.1351        ? might be 1.0100x slower
   imul-mixed                                         7.1902+-0.4166            6.6196+-0.5287          might be 1.0862x faster
   in-four-cases                                     18.7268+-0.4237     ?     18.7333+-0.5803        ?
   in-one-case-false                                 10.0035+-0.0794     ?     10.4289+-0.6706        ? might be 1.0425x slower
   in-one-case-true                                  10.4502+-0.6757     ?     10.6634+-0.4824        ? might be 1.0204x slower
   in-two-cases                                      10.7206+-0.4016           10.4366+-0.2437          might be 1.0272x faster
   indexed-properties-in-objects                      2.8525+-0.1941     ?      2.8959+-0.2790        ? might be 1.0152x slower
   infer-closure-const-then-mov-no-inline             3.7146+-0.0681            3.5978+-0.0529          might be 1.0325x faster
   infer-closure-const-then-mov                      16.8314+-0.7987           16.5265+-0.8249          might be 1.0185x faster
   infer-closure-const-then-put-to-scope-no-inline   
                                                     10.9253+-0.1885     ?     11.0076+-0.1299        ?
   infer-closure-const-then-put-to-scope             23.7557+-1.5969           23.0549+-0.6866          might be 1.0304x faster
   infer-closure-const-then-reenter-no-inline   
                                                     47.8492+-0.8561     ?     47.8977+-0.5265        ?
   infer-closure-const-then-reenter                  23.1790+-0.4780           22.6844+-0.8440          might be 1.0218x faster
   infer-constant-global-property                     3.4941+-0.1040     ?      3.5185+-0.2057        ?
   infer-constant-property                            2.6804+-0.2020            2.6450+-0.0999          might be 1.0134x faster
   infer-one-time-closure-ten-vars                    7.8347+-0.2776     ?      8.5290+-0.5423        ? might be 1.0886x slower
   infer-one-time-closure-two-vars                    7.4823+-0.3695     ?      7.5246+-0.4313        ?
   infer-one-time-closure                             7.5323+-0.5505     ?      7.5575+-0.5285        ?
   infer-one-time-deep-closure                       10.6247+-0.2082     ?     11.0968+-0.4836        ? might be 1.0444x slower
   inline-arguments-access                            3.6121+-0.0987     ?      3.7535+-0.2929        ? might be 1.0392x slower
   inline-arguments-aliased-access                    3.5670+-0.0840     ?      3.6329+-0.0815        ? might be 1.0185x slower
   inline-arguments-local-escape                      3.6064+-0.0470     ?      3.6567+-0.1655        ? might be 1.0139x slower
   inline-get-scoped-var                              4.6259+-0.1712     ?      4.7251+-0.2824        ? might be 1.0214x slower
   inlined-put-by-id-transition                       9.5621+-0.7130     ?      9.6443+-1.1630        ?
   inlined-put-by-val-with-string-transition   
                                                     43.3023+-2.9489     ?     47.4663+-15.7550       ? might be 1.0962x slower
   inlined-put-by-val-with-symbol-transition   
                                                     41.5254+-1.5554     ?     42.6574+-1.3287        ? might be 1.0273x slower
   int-or-other-abs-then-get-by-val                   4.7694+-0.5616            4.6190+-0.1997          might be 1.0326x faster
   int-or-other-abs-zero-then-get-by-val             15.7430+-0.2741     ?     15.8925+-0.7614        ?
   int-or-other-add-then-get-by-val                   4.2144+-0.0661     ?      4.3309+-0.2491        ? might be 1.0276x slower
   int-or-other-add                                   4.9073+-0.0828     ?      5.0313+-0.3076        ? might be 1.0253x slower
   int-or-other-div-then-get-by-val                   3.8572+-0.0928            3.8147+-0.0269          might be 1.0111x faster
   int-or-other-max-then-get-by-val                   4.1745+-0.4573            4.0798+-0.5080          might be 1.0232x faster
   int-or-other-min-then-get-by-val                   3.8584+-0.1076     ?      4.0433+-0.3375        ? might be 1.0479x slower
   int-or-other-mod-then-get-by-val                   3.6506+-0.0699            3.6364+-0.0232        
   int-or-other-mul-then-get-by-val                   3.6525+-0.1388     ?      3.6658+-0.1438        ?
   int-or-other-neg-then-get-by-val                   4.1351+-0.0873     ?      4.1818+-0.0980        ? might be 1.0113x slower
   int-or-other-neg-zero-then-get-by-val             15.4727+-0.3366     ?     15.7974+-0.6241        ? might be 1.0210x slower
   int-or-other-sub-then-get-by-val                   4.1172+-0.0673     ?      4.3185+-0.1891        ? might be 1.0489x slower
   int-or-other-sub                                   3.5353+-0.1141            3.4762+-0.0531          might be 1.0170x faster
   int-overflow-local                                 4.1777+-0.2667     ?      4.3246+-0.4552        ? might be 1.0352x slower
   Int16Array-alloc-long-lived                       43.5731+-1.4691     ?     43.9144+-1.3153        ?
   Int16Array-bubble-sort-with-byteLength            22.4212+-0.8709     ?     23.9801+-5.4648        ? might be 1.0695x slower
   Int16Array-bubble-sort                            21.5911+-0.7198           21.5369+-0.3535        
   Int16Array-load-int-mul                            1.5219+-0.0730            1.4872+-0.0374          might be 1.0234x faster
   Int16Array-to-Int32Array-set                      45.7779+-0.6313     ?     46.0685+-0.8076        ?
   Int32Array-alloc-large                            12.0636+-0.6769     ?     12.2046+-1.1434        ? might be 1.0117x slower
   Int32Array-alloc-long-lived                       49.4492+-1.4804     ?     50.7437+-1.5380        ? might be 1.0262x slower
   Int32Array-alloc                                   2.9229+-0.2442     ?      3.0450+-0.2616        ? might be 1.0418x slower
   Int32Array-Int8Array-view-alloc                    5.9052+-0.0704            5.8915+-0.1517        
   int52-spill                                        4.8610+-0.4339            4.5727+-0.1759          might be 1.0631x faster
   Int8Array-alloc-long-lived                        37.9245+-0.2823     ?     38.5492+-1.2350        ? might be 1.0165x slower
   Int8Array-load-with-byteLength                     3.6527+-0.4648            3.4192+-0.0428          might be 1.0683x faster
   Int8Array-load                                     3.4730+-0.1206     ?      3.5313+-0.2418        ? might be 1.0168x slower
   integer-divide                                    10.5080+-0.3795           10.3693+-0.1432          might be 1.0134x faster
   integer-modulo                                     1.6492+-0.0525     ?      1.8240+-0.3933        ? might be 1.1060x slower
   is-boolean-fold-tricky                             3.8799+-0.1539            3.8463+-0.1648        
   is-boolean-fold                                    2.6475+-0.0452            2.6300+-0.0220        
   is-function-fold-tricky-internal-function   
                                                      9.9021+-0.3628            9.4273+-0.2512          might be 1.0504x faster
   is-function-fold-tricky                            4.0706+-0.1041            4.0565+-0.0797        
   is-function-fold                                   2.8994+-0.5133            2.8090+-0.3209          might be 1.0322x faster
   is-number-fold-tricky                              3.9866+-0.0762     ?      3.9995+-0.1078        ?
   is-number-fold                                     2.6803+-0.0480            2.6644+-0.1218        
   is-object-or-null-fold-functions                   2.7116+-0.0625     ?      2.7192+-0.0724        ?
   is-object-or-null-fold-less-tricky                 4.1951+-0.2982            3.9867+-0.0540          might be 1.0523x faster
   is-object-or-null-fold-tricky                      5.2388+-0.7797            4.8488+-0.1024          might be 1.0804x faster
   is-object-or-null-fold                             2.6936+-0.0905     ?      2.7148+-0.0522        ?
   is-object-or-null-trickier-function                4.0489+-0.0721     ?      4.1682+-0.2829        ? might be 1.0295x slower
   is-object-or-null-trickier-internal-function   
                                                      9.7134+-0.0971     ?      9.8366+-0.2060        ? might be 1.0127x slower
   is-object-or-null-tricky-function                  4.0730+-0.1033            4.0649+-0.0858        
   is-object-or-null-tricky-internal-function   
                                                      7.4137+-0.1937            7.2728+-0.1484          might be 1.0194x faster
   is-string-fold-tricky                              4.0621+-0.3496            4.0523+-0.2518        
   is-string-fold                                     2.6580+-0.0383            2.6364+-0.0494        
   is-undefined-fold-tricky                           3.3634+-0.1152     ?      3.3697+-0.0619        ?
   is-undefined-fold                                  2.6910+-0.1324     ?      2.6954+-0.0873        ?
   JSONP-negative-0                                   0.2756+-0.0174            0.2647+-0.0054          might be 1.0412x faster
   large-int-captured                                 4.1814+-0.2495            4.0319+-0.1776          might be 1.0371x faster
   large-int-neg                                     14.1085+-0.3250     ?     14.9878+-1.4136        ? might be 1.0623x slower
   large-int                                         13.4507+-0.8218           13.2659+-0.2233          might be 1.0139x faster
   load-varargs-elimination                          20.3016+-0.5468     ?     21.2434+-0.8063        ? might be 1.0464x slower
   logical-not-weird-types                            3.0656+-0.0579            3.0435+-0.0613        
   logical-not                                        4.3690+-0.1328     ?      4.3774+-0.2353        ?
   lots-of-fields                                     9.5934+-0.4425            9.5250+-0.6234        
   make-indexed-storage                               2.8415+-0.3087     ?      2.9469+-0.1669        ? might be 1.0371x slower
   make-rope-cse                                      3.7548+-0.3916            3.4975+-0.1277          might be 1.0736x faster
   marsaglia-larger-ints                             31.8505+-0.9480     ?     32.7982+-1.2057        ? might be 1.0298x slower
   marsaglia-osr-entry                               21.4339+-0.3995     ?     21.4510+-0.5916        ?
   math-with-out-of-bounds-array-values              22.1076+-0.9542           22.0234+-0.9321        
   max-boolean                                        2.7097+-0.0738            2.6685+-0.0648          might be 1.0154x faster
   method-on-number                                  17.2561+-1.1779           16.8372+-1.3527          might be 1.0249x faster
   min-boolean                                        2.7345+-0.1109     ?      2.7536+-0.0791        ?
   minus-boolean-double                               3.1309+-0.0894            3.1263+-0.0789        
   minus-boolean                                      2.3357+-0.0263            2.3070+-0.0619          might be 1.0124x faster
   misc-strict-eq                                    30.2793+-1.1279     ^     28.5693+-0.4396        ^ definitely 1.0599x faster
   mod-boolean-double                                11.4148+-0.6342           11.1002+-0.1813          might be 1.0283x faster
   mod-boolean                                        8.2839+-0.0788            8.2472+-0.0455        
   mul-boolean-double                                 3.6955+-0.1716            3.5982+-0.0266          might be 1.0270x faster
   mul-boolean                                        2.8411+-0.0543     ?      2.8570+-0.1163        ?
   neg-boolean                                        3.1420+-0.0348     ?      3.1998+-0.1551        ? might be 1.0184x slower
   negative-zero-divide                               0.3616+-0.0119            0.3565+-0.0103          might be 1.0142x faster
   negative-zero-modulo                               0.3541+-0.0169            0.3477+-0.0105          might be 1.0186x faster
   negative-zero-negate                               0.3334+-0.0100     ?      0.3416+-0.0134        ? might be 1.0248x slower
   nested-function-parsing                           44.6721+-0.4076     ?     45.0717+-0.6056        ?
   new-array-buffer-dead                             86.7560+-1.3601           86.3947+-0.5490        
   new-array-buffer-push                              6.2936+-0.5068     ?      6.3666+-0.2417        ? might be 1.0116x slower
   new-array-dead                                    15.1168+-0.9438           14.6733+-0.9155          might be 1.0302x faster
   new-array-push                                     3.5480+-0.0836            3.5244+-0.1120        
   no-inline-constructor                             30.9625+-1.2490           30.3776+-0.1785          might be 1.0193x faster
   number-test                                        3.4056+-0.4365            3.1340+-0.0761          might be 1.0867x faster
   object-closure-call                                4.8175+-0.0563     ?      4.8339+-0.0955        ?
   object-get-own-property-symbols-on-large-array   
                                                      4.1458+-0.2692     ?      4.2408+-0.2830        ? might be 1.0229x slower
   object-test                                        2.7145+-0.0492     ?      2.9077+-0.3850        ? might be 1.0712x slower
   obvious-sink-pathology-taken                      96.4007+-0.9961     ?     97.1385+-0.8524        ?
   obvious-sink-pathology                            30.2012+-0.9369           30.1433+-1.1717        
   obviously-elidable-new-object                     28.8854+-0.8483     ?     29.0655+-1.2003        ?
   plus-boolean-arith                                 2.4213+-0.1620            2.4117+-0.0661        
   plus-boolean-double                                3.1104+-0.0329     ?      3.1256+-0.0502        ?
   plus-boolean                                       2.5789+-0.0768     ?      2.6488+-0.1345        ? might be 1.0271x slower
   poly-chain-access-different-prototypes-simple   
                                                      2.6345+-0.0761     ?      2.6584+-0.0863        ?
   poly-chain-access-different-prototypes             2.6367+-0.1326            2.5815+-0.0977          might be 1.0214x faster
   poly-chain-access-simpler                          2.6792+-0.1427            2.6215+-0.1142          might be 1.0220x faster
   poly-chain-access                                  2.5844+-0.0941     ?      2.6459+-0.2927        ? might be 1.0238x slower
   poly-stricteq                                     53.7946+-0.8923     ?     54.3681+-0.8125        ? might be 1.0107x slower
   polymorphic-array-call                             1.4781+-0.3155            1.2837+-0.0557          might be 1.1515x faster
   polymorphic-get-by-id                              2.8632+-0.0215     ?      2.9152+-0.0520        ? might be 1.0181x slower
   polymorphic-put-by-id                             27.7195+-0.4308     ?     28.2552+-0.8034        ? might be 1.0193x slower
   polymorphic-put-by-val-with-string                28.8660+-1.8096     ?     29.2983+-0.6312        ? might be 1.0150x slower
   polymorphic-put-by-val-with-symbol                29.6827+-2.0543           28.0397+-0.3258          might be 1.0586x faster
   polymorphic-structure                             12.6744+-0.4618           12.6055+-0.2448        
   polyvariant-monomorphic-get-by-id                  7.0853+-1.3413     ?      7.1197+-1.8220        ?
   proto-getter-access                                8.3726+-0.2101     ?      8.3914+-0.1717        ?
   prototype-access-with-mutating-prototype           5.7178+-0.3468            5.4822+-0.1367          might be 1.0430x faster
   put-by-id-replace-and-transition                   8.5201+-1.8367            8.2189+-0.3629          might be 1.0367x faster
   put-by-id-slightly-polymorphic                     2.6771+-0.0349     ?      2.7996+-0.1511        ? might be 1.0458x slower
   put-by-id                                         10.0948+-1.5486     ?     10.2428+-0.7569        ? might be 1.0147x slower
   put-by-val-direct                                  0.3529+-0.0074     ?      0.3684+-0.0433        ? might be 1.0439x slower
   put-by-val-large-index-blank-indexing-type   
                                                      5.4127+-0.1788            5.2415+-0.1822          might be 1.0327x faster
   put-by-val-machine-int                             2.6034+-0.1754     ?      2.6678+-0.1764        ? might be 1.0248x slower
   put-by-val-with-string-replace-and-transition   
                                                     10.2867+-0.4601           10.2622+-0.4731        
   put-by-val-with-string-slightly-polymorphic   
                                                      3.0412+-0.1832     ?      3.3206+-0.8750        ? might be 1.0919x slower
   put-by-val-with-string                            10.9400+-0.3127           10.5199+-0.6875          might be 1.0399x faster
   put-by-val-with-symbol-replace-and-transition   
                                                     11.6315+-0.3829           11.5382+-0.4680        
   put-by-val-with-symbol-slightly-polymorphic   
                                                      3.5355+-0.6871            3.2450+-0.1207          might be 1.0895x faster
   put-by-val-with-symbol                            10.2690+-0.6487     ?     10.5463+-0.4704        ? might be 1.0270x slower
   rare-osr-exit-on-local                            13.9283+-0.1656           13.8270+-0.1268        
   raytrace-with-empty-try-catch                      5.3329+-0.1904     ?      5.3843+-0.2623        ?
   raytrace-with-try-catch                           10.0304+-0.4009     ?     10.1191+-0.3848        ?
   register-pressure-from-osr                        16.8070+-0.3171     ?     17.0745+-0.8485        ? might be 1.0159x slower
   repeat-multi-get-by-offset                        22.6027+-1.4974           22.4389+-0.9864        
   richards-empty-try-catch                          73.4150+-2.2883           71.1573+-1.2506          might be 1.0317x faster
   richards-try-catch                               237.5256+-1.5609     ?    240.8975+-3.8819        ? might be 1.0142x slower
   setter-prototype                                   7.7187+-0.1917            7.6365+-0.1393          might be 1.0108x faster
   setter                                             6.2158+-0.8271     ?      6.3247+-0.7865        ? might be 1.0175x slower
   simple-activation-demo                            24.2491+-0.4216     ?     26.7122+-5.4034        ? might be 1.1016x slower
   simple-getter-access                              10.7299+-0.2599     ?     10.8372+-0.1283        ?
   simple-poly-call-nested                            8.7808+-0.6740     ?      9.0293+-0.5283        ? might be 1.0283x slower
   simple-poly-call                                   1.2922+-0.0281            1.2902+-0.0358        
   sin-boolean                                       19.5660+-1.9790     ?     19.7818+-2.4539        ? might be 1.0110x slower
   singleton-scope                                   61.9324+-1.6189           61.8673+-1.3044        
   sink-function                                     10.1371+-0.7973            9.8235+-1.0813          might be 1.0319x faster
   sink-huge-activation                              16.0336+-1.2124     ?     16.1568+-0.7405        ?
   sinkable-new-object-dag                           52.6047+-1.3604           52.1295+-1.7608        
   sinkable-new-object-taken                         42.4712+-2.1132           41.6712+-2.7732          might be 1.0192x faster
   sinkable-new-object                               30.5697+-1.1447           29.5802+-1.2292          might be 1.0335x faster
   slow-array-profile-convergence                     2.5537+-0.1026     ?      2.5663+-0.1110        ?
   slow-convergence                                   2.7290+-0.2337     ?      2.7949+-0.5768        ? might be 1.0241x slower
   slow-ternaries                                    17.6570+-0.2618     ?     18.2763+-0.5686        ? might be 1.0351x slower
   sorting-benchmark                                 17.4625+-0.2868     ?     17.5240+-0.5545        ?
   sparse-conditional                                 1.1904+-0.0786     ?      1.2079+-0.0528        ? might be 1.0147x slower
   splice-to-remove                                  12.7225+-1.3718           12.3035+-0.4273          might be 1.0341x faster
   string-char-code-at                               13.2873+-0.3278           13.1202+-0.1826          might be 1.0127x faster
   string-concat-object                               2.1801+-0.1513     ?      2.2085+-0.0977        ? might be 1.0130x slower
   string-concat-pair-object                          2.3807+-0.2624            2.1144+-0.0383          might be 1.1260x faster
   string-concat-pair-simple                          9.1793+-0.5030     ?      9.6307+-0.5379        ? might be 1.0492x slower
   string-concat-simple                               9.4191+-0.5811     ?      9.6840+-0.7785        ? might be 1.0281x slower
   string-cons-repeat                                 6.5921+-0.3595     ?      6.6791+-0.4005        ? might be 1.0132x slower
   string-cons-tower                                  6.5711+-0.1495     ?      6.9149+-0.5575        ? might be 1.0523x slower
   string-equality                                   18.9204+-0.7361           18.4046+-0.4696          might be 1.0280x faster
   string-get-by-val-big-char                         6.6513+-0.5931            6.4809+-0.2203          might be 1.0263x faster
   string-get-by-val-out-of-bounds-insane             3.2717+-0.0687            3.2105+-0.1381          might be 1.0190x faster
   string-get-by-val-out-of-bounds                    3.9913+-0.0799     ?      4.0664+-0.3155        ? might be 1.0188x slower
   string-get-by-val                                  2.8069+-0.0457     ?      2.8101+-0.0567        ?
   string-hash                                        1.9224+-0.0245     ?      1.9630+-0.1027        ? might be 1.0211x slower
   string-long-ident-equality                        15.0299+-0.3769     ?     15.3127+-0.5459        ? might be 1.0188x slower
   string-out-of-bounds                              11.2240+-2.3358           10.2799+-0.5589          might be 1.0918x faster
   string-repeat-arith                               26.5463+-0.6155           26.2805+-1.1458          might be 1.0101x faster
   string-sub                                        31.7520+-0.8287     ?     32.5715+-0.8792        ? might be 1.0258x slower
   string-test                                        3.1079+-0.4937            2.9633+-0.1837          might be 1.0488x faster
   string-var-equality                               27.5721+-0.7017     ?     27.9966+-1.8237        ? might be 1.0154x slower
   structure-hoist-over-transitions                   2.4117+-0.0602            2.4017+-0.0435        
   substring-concat-weird                            35.5654+-1.2057     ?     36.0560+-1.5224        ? might be 1.0138x slower
   substring-concat                                  41.4503+-2.4168           38.9315+-1.7044          might be 1.0647x faster
   substring                                         45.8837+-2.3006     ?     45.9598+-1.7762        ?
   switch-char-constant                               2.7047+-0.0775     ?      2.7201+-0.0378        ?
   switch-char                                        6.2586+-1.0680            6.0146+-0.8438          might be 1.0406x faster
   switch-constant                                    8.4726+-0.9803            8.0171+-1.0438          might be 1.0568x faster
   switch-string-basic-big-var                       15.3800+-1.0930           15.2506+-1.1133        
   switch-string-basic-big                           15.4868+-1.0724           14.8041+-0.2319          might be 1.0461x faster
   switch-string-basic-var                           13.7838+-0.4016     ?     14.3522+-1.1534        ? might be 1.0412x slower
   switch-string-basic                               13.4538+-0.6838           13.0891+-0.4346          might be 1.0279x faster
   switch-string-big-length-tower-var                18.0792+-0.4327           17.9799+-0.3245        
   switch-string-length-tower-var                    13.7451+-0.3590           13.3143+-0.1999          might be 1.0324x faster
   switch-string-length-tower                        12.2855+-0.2678           12.1054+-0.1099          might be 1.0149x faster
   switch-string-short                               12.5740+-1.0416           11.9863+-0.2026          might be 1.0490x faster
   switch                                            11.1355+-0.5935           10.6740+-0.5711          might be 1.0432x faster
   tear-off-arguments-simple                          3.1411+-0.2603            3.0157+-0.1680          might be 1.0416x faster
   tear-off-arguments                                 4.0963+-0.0608            4.0220+-0.0969          might be 1.0185x faster
   temporal-structure                                12.2018+-0.4167           11.8792+-0.2962          might be 1.0272x faster
   to-int32-boolean                                  12.6721+-0.3009     ?     12.6767+-0.3666        ?
   try-catch-get-by-val-cloned-arguments              9.8670+-0.8314            9.3944+-0.3841          might be 1.0503x faster
   try-catch-get-by-val-direct-arguments              2.0912+-0.1002     ?      2.2338+-0.2378        ? might be 1.0682x slower
   try-catch-get-by-val-scoped-arguments              4.5262+-0.1546     ?      4.7880+-0.3328        ? might be 1.0578x slower
   typed-array-get-set-by-val-profiling              27.8134+-1.3005           27.7819+-0.8732        
   undefined-property-access                        216.4810+-1.9338     ^    213.6247+-0.2936        ^ definitely 1.0134x faster
   undefined-test                                     3.1304+-0.1126            3.0500+-0.0910          might be 1.0263x faster
   unprofiled-licm                                    9.2273+-0.3252     ?      9.5894+-0.8327        ? might be 1.0392x slower
   v8-raytrace-with-empty-try-catch                  24.3864+-0.9029     ?     24.7992+-1.0360        ? might be 1.0169x slower
   v8-raytrace-with-try-catch                        63.4818+-2.6633           61.9440+-1.8196          might be 1.0248x faster
   varargs-call                                      13.5135+-0.8221           13.0395+-0.2424          might be 1.0364x faster
   varargs-construct-inline                          22.0350+-0.8873     ?     22.1688+-1.1744        ?
   varargs-construct                                 19.5343+-0.8159     ?     20.3085+-1.0970        ? might be 1.0396x slower
   varargs-inline                                     8.8037+-0.2741            8.7619+-0.1341        
   varargs-strict-mode                               10.2693+-0.5648           10.0180+-0.1201          might be 1.0251x faster
   varargs                                            9.9485+-0.2936            9.8361+-0.0763          might be 1.0114x faster
   weird-inlining-const-prop                          2.2792+-0.1933     ?      2.7899+-1.6909        ? might be 1.2241x slower

   <geometric>                                        8.1963+-0.0279            8.1725+-0.0267          might be 1.0029x faster

                                                        TipOfTree                 Patchpoint                                    
AsmBench:
   bigfib.cpp                                       457.3500+-6.9412          452.6627+-7.8465          might be 1.0104x faster
   cray.c                                           396.7235+-10.7325         395.0938+-6.0486        
   dry.c                                            424.7350+-8.2320          422.3521+-7.6583        
   FloatMM.c                                        685.9280+-8.5258          682.1678+-1.0129        
   gcc-loops.cpp                                   3432.0515+-38.9187        3416.4431+-10.1190       
   n-body.c                                         822.9277+-1.5585     ?    823.5717+-1.3128        ?
   Quicksort.c                                      407.4182+-4.5528     ?    409.2783+-2.0040        ?
   stepanov_container.cpp                          3552.9872+-19.7718        3540.6007+-40.8250       
   Towers.c                                         232.2906+-2.0776          231.2610+-1.0805        

   <geometric>                                      717.1377+-2.0344          714.5637+-3.0730          might be 1.0036x faster

                                                        TipOfTree                 Patchpoint                                    
CompressionBench:
   huffman                                           60.7003+-0.6780     ?     61.1153+-1.5349        ?
   arithmetic-simple                                276.3653+-2.0667     ?    277.7556+-2.5249        ?
   arithmetic-precise                               253.6226+-2.7555     ?    254.5802+-2.4935        ?
   arithmetic-complex-precise                       254.0474+-3.0485          253.0382+-2.8452        
   arithmetic-precise-order-0                       289.4985+-6.0938     ?    290.3918+-1.6722        ?
   arithmetic-precise-order-1                       306.2070+-2.7014     ?    307.2265+-2.1918        ?
   arithmetic-precise-order-2                       353.8211+-4.5602          352.8964+-1.3581        
   arithmetic-simple-order-1                        323.9351+-3.1263          323.4999+-2.2979        
   arithmetic-simple-order-2                        376.1422+-7.0493     ?    376.1993+-6.1151        ?
   lz-string                                        314.8303+-3.1381     ?    329.0540+-42.1678       ? might be 1.0452x slower

   <geometric>                                      257.8626+-1.4074     ?    259.2496+-3.7336        ? might be 1.0054x slower

                                                        TipOfTree                 Patchpoint                                    
Geomean of preferred means:
   <scaled-result>                                   50.4917+-0.2337     ?     50.5111+-0.1565        ? might be 1.0004x slower
Comment 7 Filip Pizlo 2015-11-02 14:57:19 PST
Landed in http://trac.webkit.org/changeset/191913