Bug 119897 - Object properties added using dot syntax (o.f = ...) from code that isn't in eval should be less likely to cause an object to become a dictionary
Summary: Object properties added using dot syntax (o.f = ...) from code that isn't in ...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-16 10:18 PDT by Filip Pizlo
Modified: 2013-08-16 12:14 PDT (History)
8 users (show)

See Also:


Attachments
the patch (22.56 KB, patch)
2013-08-16 10:20 PDT, Filip Pizlo
oliver: 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 2013-08-16 10:18:36 PDT
Patch forthcoming.
Comment 1 Filip Pizlo 2013-08-16 10:20:46 PDT
Created attachment 208930 [details]
the patch
Comment 2 WebKit Commit Bot 2013-08-16 10:23:55 PDT
Attachment 208930 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/fast/js/regress/lots-of-fields-expected.txt', u'LayoutTests/fast/js/regress/lots-of-fields.html', u'LayoutTests/fast/js/regress/script-tests/lots-of-fields.js', u'Source/JavaScriptCore/ChangeLog', u'Source/JavaScriptCore/bytecode/CodeBlock.h', u'Source/JavaScriptCore/dfg/DFGOperations.cpp', u'Source/JavaScriptCore/jit/JITStubs.cpp', u'Source/JavaScriptCore/llint/LLIntSlowPaths.cpp', u'Source/JavaScriptCore/runtime/JSObject.h', u'Source/JavaScriptCore/runtime/PutPropertySlot.h', u'Source/JavaScriptCore/runtime/Structure.cpp', u'Source/JavaScriptCore/runtime/Structure.h']" exit_code: 1
Source/JavaScriptCore/bytecode/CodeBlock.h:58:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Filip Pizlo 2013-08-16 11:20:45 PDT
Complete perf results:


Benchmark report for SunSpider, V8Spider, Octane, Kraken, JSBench, JSRegress, and DSP on oldmac (MacPro4,1).

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/OpenSource/WebKitBuild/Release/DumpRenderTree (r154157)
"LotsOfFields" at /Volumes/Data/fromMiniMe/primary/OpenSource/WebKitBuild/Release/DumpRenderTree (r154157)

Collected 12 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.

                                                             TipOfTree                LotsOfFields                                   
SunSpider:
   3d-cube                                                 7.6306+-0.2576     ?      7.6367+-0.2239        ?
   3d-morph                                                8.2989+-0.0697     ?      8.3592+-0.0676        ?
   3d-raytrace                                             9.3500+-0.2787            9.2582+-0.2009        
   access-binary-trees                                     2.7433+-0.3155            2.7349+-0.3050        
   access-fannkuch                                         7.6926+-0.0492            7.6443+-0.0625        
   access-nbody                                            4.0687+-0.0629            4.0657+-0.0288        
   access-nsieve                                           4.9293+-0.1528            4.8493+-0.0626          might be 1.0165x faster
   bitops-3bit-bits-in-byte                                1.8514+-0.0347     ^      1.7912+-0.0200        ^ definitely 1.0336x faster
   bitops-bits-in-byte                                     6.7498+-0.1207            6.6927+-0.1093        
   bitops-bitwise-and                                      2.7585+-0.0520     ?      2.7636+-0.0315        ?
   bitops-nsieve-bits                                      4.7127+-0.0472            4.6995+-0.0383        
   controlflow-recursive                                   2.9592+-0.0232            2.9437+-0.0232        
   crypto-aes                                              5.8872+-0.3061     ?      5.9346+-0.2938        ?
   crypto-md5                                              3.2100+-0.0560            3.2083+-0.0556        
   crypto-sha1                                             2.9097+-0.0322     ?      2.9694+-0.0510        ? might be 1.0205x slower
   date-format-tofte                                      13.3077+-1.0438     ?     13.5622+-1.0428        ? might be 1.0191x slower
   date-format-xparb                                       9.2468+-0.6859     ?      9.5744+-0.6891        ? might be 1.0354x slower
   math-cordic                                             3.9726+-0.0627            3.9061+-0.0384          might be 1.0170x faster
   math-partial-sums                                      10.5248+-0.1104     ?     10.5832+-0.0929        ?
   math-spectral-norm                                      2.8657+-0.0278     ?      2.8701+-0.0536        ?
   regexp-dna                                             12.9183+-0.5484           12.8464+-0.5488        
   string-base64                                           6.4359+-0.5202            6.3592+-0.5208          might be 1.0121x faster
   string-fasta                                           12.2263+-0.1732           12.1213+-0.1494        
   string-tagcloud                                        14.9299+-0.2430           14.7736+-0.2053          might be 1.0106x faster
   string-unpack-code                                     31.3526+-0.3015     ?     31.4395+-0.3153        ?
   string-validate-input                                   8.9686+-0.1714     ?      9.0955+-0.2287        ? might be 1.0141x slower

   <arithmetic> *                                          7.7885+-0.1381     ?      7.7955+-0.1291        ? might be 1.0009x slower
   <geometric>                                             6.2000+-0.1025            6.1948+-0.0940          might be 1.0008x faster
   <harmonic>                                              5.0484+-0.0801            5.0312+-0.0714          might be 1.0034x faster

                                                             TipOfTree                LotsOfFields                                   
V8Spider:
   crypto                                                 80.9288+-0.3811           80.8731+-0.3830        
   deltablue                                             102.6328+-1.1821     ?    102.6652+-0.6980        ?
   earley-boyer                                           71.2676+-0.5727     ?     71.9512+-0.5575        ?
   raytrace                                               45.6368+-5.1497           45.5152+-5.1325        
   regexp                                                102.8871+-0.4945     ?    103.1333+-1.2980        ?
   richards                                              114.7300+-2.4139          113.5802+-0.7325          might be 1.0101x faster
   splay                                                  59.5613+-3.4098     ?     60.0249+-3.7810        ?

   <arithmetic>                                           82.5206+-0.4185     ?     82.5347+-0.6726        ? might be 1.0002x slower
   <geometric> *                                          78.6837+-0.8190     ?     78.7581+-0.9845        ? might be 1.0009x slower
   <harmonic>                                             74.5392+-1.3711     ?     74.6390+-1.4602        ? might be 1.0013x slower

                                                             TipOfTree                LotsOfFields                                   
Octane and V8v7:
   encrypt                                                0.47401+-0.00043          0.47333+-0.00032       
   decrypt                                                8.54159+-0.02755    ?     8.54717+-0.02089       ?
   deltablue                                     x2       0.60204+-0.00653          0.59603+-0.00432         might be 1.0101x faster
   earley                                                 0.90955+-0.00773          0.89925+-0.00551         might be 1.0115x faster
   boyer                                                 12.63949+-0.04299    ?    12.67616+-0.05574       ?
   raytrace                                      x2       4.45775+-0.05991          4.43165+-0.06299       
   regexp                                        x2      33.27820+-0.16605         33.18729+-0.35190       
   richards                                      x2       0.31100+-0.00493    ?     0.31480+-0.00435       ? might be 1.0122x slower
   splay                                         x2       0.64825+-0.00743          0.63607+-0.00620         might be 1.0191x faster
   navier-stokes                                 x2      10.94183+-0.00860         10.94123+-0.01137       
   closure                                                0.38217+-0.01832          0.38161+-0.01826       
   jquery                                                 4.74511+-0.55382          4.71803+-0.55098       
   gbemu                                         x2     133.04056+-2.35823    ^    91.91793+-3.10193       ^ definitely 1.4474x faster
   mandreel                                      x2     195.02732+-0.78930        194.72279+-0.96283       
   pdfjs                                         x2      99.14485+-0.39014    ?    99.70104+-0.27412       ?
   box2d                                         x2      34.86907+-0.22845         34.71528+-0.16714       

V8v7:
   <arithmetic>                                           7.69017+-0.02097          7.67563+-0.04739         might be 1.0019x faster
   <geometric> *                                          2.46044+-0.00783          2.45122+-0.00805         might be 1.0038x faster
   <harmonic>                                             0.94455+-0.00556          0.94279+-0.00514         might be 1.0019x faster

Octane including V8v7:
   <arithmetic>                                          40.47437+-0.14514    ^    37.30861+-0.26548       ^ definitely 1.0849x faster
   <geometric> *                                          7.27821+-0.04587    ^     7.05540+-0.06084       ^ definitely 1.0316x faster
   <harmonic>                                             1.30745+-0.01361          1.30462+-0.01384         might be 1.0022x faster

                                                             TipOfTree                LotsOfFields                                   
Kraken:
   ai-astar                                               492.136+-0.871      ?     492.397+-1.022         ?
   audio-beat-detection                                   251.478+-2.523            247.994+-1.891           might be 1.0140x faster
   audio-dft                                              312.536+-1.341      ?     314.603+-1.894         ?
   audio-fft                                              145.891+-0.301      ?     146.473+-0.538         ?
   audio-oscillator                                       248.979+-0.918            248.634+-0.565         
   imaging-darkroom                                       294.609+-1.484      ?     295.022+-1.294         ?
   imaging-desaturate                                     158.948+-0.219            158.926+-0.263         
   imaging-gaussian-blur                                  403.228+-0.272      ?     403.299+-0.398         ?
   json-parse-financial                                    79.455+-0.410      !      81.786+-0.347         ! definitely 1.0293x slower
   json-stringify-tinderbox                               104.001+-0.315      ?     104.249+-0.450         ?
   stanford-crypto-aes                                    108.451+-0.900            107.336+-0.803           might be 1.0104x faster
   stanford-crypto-ccm                                    125.075+-2.146      ?     125.792+-1.695         ?
   stanford-crypto-pbkdf2                                 271.564+-1.119      ^     268.164+-1.503         ^ definitely 1.0127x faster
   stanford-crypto-sha256-iterative                       127.720+-0.482            127.097+-0.324         

   <arithmetic> *                                         223.148+-0.371            222.984+-0.375           might be 1.0007x faster
   <geometric>                                            193.488+-0.365      ?     193.579+-0.376         ? might be 1.0005x slower
   <harmonic>                                             168.305+-0.370      ?     168.794+-0.359         ? might be 1.0029x slower

                                                             TipOfTree                LotsOfFields                                   
JSBench:
   amazon                                                 10.0833+-0.1834     ?     10.2500+-0.2874        ? might be 1.0165x slower
   facebook                                               38.9167+-0.5038     ?     39.0833+-0.5038        ?
   google                                                 68.0000+-1.1170           67.1667+-1.2659          might be 1.0124x faster
   twitter                                                10.1667+-0.2473     ?     10.2500+-0.2874        ?
   yahoo                                                   3.6667+-0.3128     ?      3.9167+-0.1834        ? might be 1.0682x slower

   <arithmetic> *                                         26.1667+-0.3105           26.1333+-0.2122          might be 1.0013x faster
   <geometric>                                            15.8078+-0.3429     ?     16.0808+-0.1768        ? might be 1.0173x slower
   <harmonic>                                              9.7466+-0.4748     ?     10.1628+-0.2731        ? might be 1.0427x slower

                                                             TipOfTree                LotsOfFields                                   
JSRegress:
   adapt-to-double-divide                                 22.5474+-0.0508           22.5089+-0.0316        
   aliased-arguments-getbyval                              0.9550+-0.0307     ?      0.9894+-0.0201        ? might be 1.0360x slower
   allocate-big-object                                     4.8139+-1.4028            4.4599+-1.4003          might be 1.0794x faster
   arity-mismatch-inlining                                 0.8823+-0.0284            0.8820+-0.0199        
   array-access-polymorphic-structure                      8.9643+-1.9976     ?      8.9765+-2.0080        ?
   array-nonarray-polymorhpic-access                      56.3120+-0.1053     !     56.5248+-0.0705        ! definitely 1.0038x slower
   array-with-double-add                                   5.4305+-0.0502            5.4266+-0.0516        
   array-with-double-increment                             4.2583+-0.1396     ?      4.2765+-0.1258        ?
   array-with-double-mul-add                               7.3773+-0.2817     ?      7.3995+-0.2552        ?
   array-with-double-sum                                   7.8757+-0.0227     ?      7.8776+-0.0371        ?
   array-with-int32-add-sub                                9.3844+-0.0812            9.3250+-0.0346        
   array-with-int32-or-double-sum                          7.9654+-0.0188            7.9542+-0.0225        
   ArrayBuffer-Int8Array-alloc-huge-long-lived           220.0331+-2.0901          215.9948+-3.3348          might be 1.0187x faster
   ArrayBuffer-Int8Array-alloc-large-long-lived          133.3690+-2.5465     ?    133.8109+-1.2729        ?
   ArrayBuffer-Int8Array-alloc-long-lived-buffer          84.2347+-10.3846          82.7975+-10.9949         might be 1.0174x faster
   ArrayBuffer-Int8Array-alloc-long-lived                 42.5424+-3.8013           42.4116+-3.9430        
   ArrayBuffer-Int8Array-alloc                            38.2171+-4.0754           37.8311+-3.9915          might be 1.0102x faster
   big-int-mul                                             5.0521+-0.4907            4.7614+-0.0348          might be 1.0610x faster
   boolean-test                                            4.3534+-0.0403            4.3448+-0.0229        
   branch-fold                                             4.7262+-0.0366     ?      4.7654+-0.0595        ?
   cast-int-to-double                                     14.1235+-0.0566           14.1019+-0.0520        
   cell-argument                                          14.8322+-0.3058           14.7910+-0.2806        
   cfg-simplify                                            3.8329+-0.0296            3.7887+-0.0254          might be 1.0117x faster
   cmpeq-obj-to-obj-other                                 12.5485+-0.1840     ?     12.5865+-0.1602        ?
   constant-test                                           8.6841+-0.1461            8.6183+-0.0909        
   delay-tear-off-arguments-strictmode                     3.2889+-0.0652            3.2414+-0.0586          might be 1.0147x faster
   direct-arguments-getbyval                               0.7927+-0.0155     ?      0.8066+-0.0189        ? might be 1.0176x slower
   double-pollution-getbyval                              10.8172+-0.0484           10.7951+-0.0403        
   double-pollution-putbyoffset                            6.6318+-0.6037            6.6069+-0.5972        
   empty-string-plus-int                                  13.8492+-0.2098     ?     13.9976+-0.2536        ? might be 1.0107x slower
   external-arguments-getbyval                             2.3743+-0.1374     ?      2.4098+-0.1539        ? might be 1.0149x slower
   external-arguments-putbyval                             3.9155+-0.2764     ?      4.0131+-0.2389        ? might be 1.0249x slower
   Float32Array-matrix-mult                                7.3228+-0.2498            7.2189+-0.2020          might be 1.0144x faster
   fold-double-to-int                                     25.3121+-0.1062     ?     25.4200+-0.2714        ?
   function-dot-apply                                      3.0168+-0.0262            3.0117+-0.0226        
   function-test                                           5.0213+-0.1159            4.8767+-0.1084          might be 1.0297x faster
   get-by-id-chain-from-try-block                          6.6927+-0.1163     ?      6.8459+-0.1081        ? might be 1.0229x slower
   get-by-id-proto-or-self                                22.9548+-0.3922     ?     23.1817+-0.4059        ?
   get-by-id-self-or-proto                                23.2727+-0.4556           23.1579+-0.3773        
   HashMap-put-get-iterate-keys                           44.3111+-0.6032     ?     45.2180+-0.7726        ? might be 1.0205x slower
   HashMap-put-get-iterate                                54.0832+-0.4741     ?     54.6537+-0.3497        ? might be 1.0105x slower
   HashMap-string-put-get-iterate                         64.2464+-0.8872     ?     64.5848+-0.9610        ?
   imul-double-only                                       17.4536+-0.0177     ?     17.4631+-0.0213        ?
   imul-int-only                                          14.7905+-0.2016           14.6604+-0.0298        
   imul-mixed                                             21.9772+-0.0143     ?     21.9872+-0.0207        ?
   in-four-cases                                          26.2086+-0.1381           26.1202+-0.0659        
   in-one-case-false                                      12.2063+-0.0290     ?     12.2193+-0.0237        ?
   in-one-case-true                                       12.1915+-0.0273     ?     12.1936+-0.0159        ?
   in-two-cases                                           12.6249+-0.0439           12.6049+-0.0322        
   indexed-properties-in-objects                           4.1663+-0.0217     ?      4.1682+-0.0303        ?
   inline-arguments-access                                 1.4529+-0.0294            1.4293+-0.0245          might be 1.0165x faster
   inline-arguments-local-escape                          25.7837+-0.0865     ?     26.8111+-1.6743        ? might be 1.0398x slower
   inline-get-scoped-var                                   6.7868+-0.0928     ?      6.8317+-0.0877        ?
   inlined-put-by-id-transition                           14.8572+-0.2129           14.8348+-0.2482        
   int-or-other-abs-then-get-by-val                        9.0660+-0.0176     ?      9.0671+-0.0311        ?
   int-or-other-abs-zero-then-get-by-val                  36.9854+-0.4685     ^     36.3317+-0.1171        ^ definitely 1.0180x faster
   int-or-other-add-then-get-by-val                       10.1873+-0.0278     ?     10.3339+-0.1347        ? might be 1.0144x slower
   int-or-other-add                                       10.6921+-0.1550           10.6638+-0.1581        
   int-or-other-div-then-get-by-val                        6.2118+-0.0221     ?      6.2160+-0.0423        ?
   int-or-other-max-then-get-by-val                        7.0557+-0.0597     ?      7.1113+-0.0789        ?
   int-or-other-min-then-get-by-val                        7.1219+-0.0247            7.1199+-0.0262        
   int-or-other-mod-then-get-by-val                        5.9189+-0.1115            5.8033+-0.0137          might be 1.0199x faster
   int-or-other-mul-then-get-by-val                        6.4896+-0.0692            6.4284+-0.0375        
   int-or-other-neg-then-get-by-val                        7.9098+-0.0497     ?      7.9857+-0.0483        ?
   int-or-other-neg-zero-then-get-by-val                  37.0525+-0.5909           36.2443+-0.5725          might be 1.0223x faster
   int-or-other-sub-then-get-by-val                       10.1715+-0.0349     ?     10.2105+-0.0408        ?
   int-or-other-sub                                        8.1607+-0.0550     ?      8.2421+-0.1013        ?
   int-overflow-local                                     11.8056+-0.0179           11.7970+-0.0729        
   Int16Array-bubble-sort                                 48.2996+-0.2397           48.2615+-0.3273        
   Int16Array-load-int-mul                                 1.9894+-0.0248     ?      2.0176+-0.0203        ? might be 1.0142x slower
   Int32Array-alloc-huge-long-lived                      716.7318+-16.1847         716.4501+-15.8666       
   Int32Array-alloc-huge                                 818.8742+-7.4920     ?    822.0723+-6.0544        ?
   Int32Array-alloc-large-long-lived                    1023.7960+-4.0836     ?   1027.9814+-6.3803        ?
   Int32Array-alloc-large                                 45.3640+-0.8524           44.5212+-0.7116          might be 1.0189x faster
   Int32Array-alloc-long-lived                           190.7977+-3.4005          186.2670+-1.9737          might be 1.0243x faster
   Int32Array-alloc                                       17.6830+-3.0530     ?     17.7047+-3.0345        ?
   Int32Array-Int8Array-view-alloc                        25.8518+-2.0160           25.2155+-1.7917          might be 1.0252x faster
   Int8Array-load                                          4.8298+-0.0231     ?      4.8368+-0.0336        ?
   integer-divide                                         15.3758+-0.0741     ?     15.3889+-0.0352        ?
   integer-modulo                                          1.9150+-0.0252     ?      1.9263+-0.0355        ?
   make-indexed-storage                                    4.9761+-0.6638     ?      5.1524+-0.6284        ? might be 1.0354x slower
   make-rope-cse                                          16.7504+-2.9356           16.6062+-3.0075        
   marsaglia                                             521.9096+-1.3320          521.2599+-0.6239        
   method-on-number                                       25.0728+-0.5448           24.8846+-0.4745        
   negative-zero-divide                                    0.3355+-0.0150            0.3352+-0.0127        
   negative-zero-modulo                                    0.3196+-0.0120     ?      0.3251+-0.0146        ? might be 1.0173x slower
   negative-zero-negate                                    0.3159+-0.0223            0.3144+-0.0165        
   nested-function-parsing-random                        415.4240+-12.2845         414.7116+-12.3628       
   nested-function-parsing                                57.4897+-3.9657           57.1888+-4.0080        
   new-array-buffer-dead                                   3.9233+-0.1033     ?      3.9774+-0.1005        ? might be 1.0138x slower
   new-array-buffer-push                                  14.9355+-2.3663           14.8791+-2.4229        
   new-array-dead                                         28.4313+-0.0805           28.3617+-0.0265        
   new-array-push                                         12.4365+-2.0323     ?     12.4803+-1.9863        ?
   number-test                                             4.2544+-0.0296     ?      4.2782+-0.0273        ?
   object-closure-call                                     9.5872+-1.4358            9.5515+-1.5489        
   object-test                                             4.8037+-0.0674            4.7733+-0.0967        
   poly-stricteq                                          90.8852+-0.4190     ?     91.2134+-0.5133        ?
   polymorphic-structure                                  21.0515+-0.0983     ?     21.2184+-0.2963        ?
   polyvariant-monomorphic-get-by-id                      12.5030+-0.0106           12.4771+-0.0310        
   put-by-val-large-index-blank-indexing-type             15.7844+-3.0905     ?     16.0252+-3.1243        ? might be 1.0153x slower
   rare-osr-exit-on-local                                 20.0755+-0.0764     ?     20.0890+-0.0489        ?
   register-pressure-from-osr                             31.6079+-0.1742           31.4887+-0.0800        
   simple-activation-demo                                 34.6946+-0.2468           34.6633+-0.2257        
   slow-array-profile-convergence                          4.6886+-0.2443     ?      4.7483+-0.2643        ? might be 1.0127x slower
   slow-convergence                                        3.6016+-0.0570            3.5927+-0.0322        
   sparse-conditional                                      1.3130+-0.0188     ?      1.3410+-0.0387        ? might be 1.0214x slower
   splice-to-remove                                       47.7261+-0.2052           47.6646+-0.1707        
   string-concat-object                                    5.0712+-1.3919     ?      5.0734+-1.3913        ?
   string-concat-pair-object                               4.9803+-1.4035            4.9752+-1.4026        
   string-concat-pair-simple                              19.5451+-0.7055     ?     19.6131+-0.7365        ?
   string-concat-simple                                   19.5682+-0.5615           19.4766+-0.6678        
   string-cons-repeat                                     14.9962+-1.0241           14.9879+-1.0036        
   string-cons-tower                                      15.6142+-1.0371     ?     15.6652+-0.9777        ?
   string-equality                                        43.7321+-0.2138     ?     43.7960+-0.3039        ?
   string-get-by-val-big-char                             17.4107+-0.1908           17.2645+-0.2062        
   string-get-by-val-out-of-bounds-insane                  5.2083+-0.1991            5.1245+-0.1086          might be 1.0164x faster
   string-get-by-val-out-of-bounds                         4.6259+-0.0185     ?      4.6643+-0.0342        ?
   string-get-by-val                                       4.1438+-0.0491     ^      4.0154+-0.0480        ^ definitely 1.0320x faster
   string-hash                                             2.6154+-0.0286            2.5983+-0.0280        
   string-long-ident-equality                             38.6480+-0.5328           38.4075+-0.4446        
   string-repeat-arith                                    48.1144+-0.3490     ?     48.6016+-0.3459        ? might be 1.0101x slower
   string-sub                                             94.0298+-0.6855     ?     94.3448+-1.1631        ?
   string-test                                             4.2173+-0.0203     !      4.3249+-0.0729        ! definitely 1.0255x slower
   string-var-equality                                    72.2075+-0.4365           72.0858+-0.4525        
   structure-hoist-over-transitions                        4.0423+-0.5908     ?      4.3110+-0.6219        ? might be 1.0665x slower
   switch-char-constant                                    3.3729+-0.0585            3.3463+-0.0191        
   switch-char                                             7.9776+-0.0266     ?      7.9892+-0.0304        ?
   switch-constant                                        13.0220+-2.6930           12.8386+-2.5725          might be 1.0143x faster
   switch-string-basic-big-var                            27.1417+-1.3070     ?     27.2371+-1.2736        ?
   switch-string-basic-big                                24.7609+-1.1488           24.7441+-1.2537        
   switch-string-basic-var                                21.7910+-0.4766     ?     21.8415+-0.5946        ?
   switch-string-basic                                    22.1232+-1.8982           20.7840+-1.5499          might be 1.0644x faster
   switch-string-big-length-tower-var                     29.5607+-0.0488     ?     29.6101+-0.0803        ?
   switch-string-length-tower-var                         22.6528+-0.0179     !     22.7990+-0.0735        ! definitely 1.0065x slower
   switch-string-length-tower                             17.6489+-0.0504           17.6469+-0.0237        
   switch-string-short                                    17.8351+-0.1967           17.7903+-0.1857        
   switch                                                 18.9431+-3.2131     ?     19.5547+-3.4109        ? might be 1.0323x slower
   tear-off-arguments-simple                               2.3193+-0.0688            2.2684+-0.0379          might be 1.0224x faster
   tear-off-arguments                                      3.4846+-0.0300            3.4634+-0.0385        
   temporal-structure                                     21.0315+-0.0278     ?     21.1970+-0.2880        ?
   to-int32-boolean                                       21.9562+-0.0500           21.9408+-0.0255        
   undefined-test                                          4.4995+-0.0596            4.4600+-0.0301        

   <arithmetic>                                           44.9426+-0.2209           44.9099+-0.2248          might be 1.0007x faster
   <geometric> *                                          12.5672+-0.1730           12.5600+-0.1794          might be 1.0006x faster
   <harmonic>                                              4.7927+-0.0860     ?      4.8080+-0.0769        ? might be 1.0032x slower

                                                             TipOfTree                LotsOfFields                                   
DSP:
   filtrr-posterize-tint                                  43.9497+-1.3647     ?     44.0499+-1.3026        ?
   filtrr-tint-contrast-sat-bright                        71.9355+-1.0284     ?     72.1006+-1.0201        ?
   filtrr-tint-sat-adj-contr-mult                         85.3233+-3.9803     ?     85.5898+-3.9459        ?
   filtrr-blur-overlay-sat-contr                         217.9329+-5.7883     ?    219.3346+-6.0586        ?
   filtrr-sat-blur-mult-sharpen-contr                    259.1763+-2.0209     ?    259.6100+-2.5434        ?
   filtrr-sepia-bias                                      33.9087+-3.4755           33.8869+-3.4395        
   route9-vp8                                    x5     1081.6394+-7.2687     ?   1082.2983+-8.3244        ?
   starfield                                     x5     1185.4524+-4.6188         1183.8739+-4.7232        
   bellard-jslinux                               x5     2872.4167+-7.4956         2870.8333+-5.4376        
   zynaps-quake3                                 x5     1395.9535+-25.0805        1393.9805+-24.5054       
   zynaps-mandelbrot                             x5     1108.1667+-5.5310     ?   1110.5154+-7.2420        ?
   ammojs-asm-js                                 x5      264.6556+-14.4313         262.6845+-14.9480       
   ammojs-regular-js                             x5      254.3963+-11.6450         252.1862+-10.1824       

   <arithmetic>                                         1012.8202+-2.5780         1012.1081+-2.3668          might be 1.0007x faster
   <geometric> *                                         624.4494+-8.1878          623.4205+-7.8186          might be 1.0017x faster
   <harmonic>                                            284.6529+-11.2768         284.3369+-11.1313         might be 1.0011x faster

                                                             TipOfTree                LotsOfFields                                   
All benchmarks:
   <arithmetic>                                          203.0454+-0.3117          202.5921+-0.2989          might be 1.0022x faster
   <geometric>                                            25.0281+-0.2339           24.9436+-0.2233          might be 1.0034x faster
   <harmonic>                                              4.7014+-0.0538     ?      4.7065+-0.0523        ? might be 1.0011x slower

                                                             TipOfTree                LotsOfFields                                   
Geomean of preferred means:
   <scaled-result>                                        41.2783+-0.2071           41.0814+-0.1933          might be 1.0048x faster
Comment 4 Filip Pizlo 2013-08-16 11:42:23 PDT
On my laptop, the gbemu speed-up is more pronounced:

   gbemu          x2      95.13075+-2.83926    ^    57.76286+-2.12455       ^ definitely 1.6469x faster
Comment 5 Filip Pizlo 2013-08-16 12:14:36 PDT
Landed in http://trac.webkit.org/changeset/154199