Bug 142856 - REGRESSION (172175-172177): Change in for...in processing causes properties added in loop to be enumerated
Summary: REGRESSION (172175-172177): Change in for...in processing causes properties a...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Michael Saboff
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2015-03-18 18:08 PDT by Michael Saboff
Modified: 2015-03-24 03:06 PDT (History)
2 users (show)

See Also:


Attachments
LLInt and baseline JIT appear to work (40.26 KB, patch)
2015-03-18 18:20 PDT, Michael Saboff
no flags Details | Formatted Diff | Diff
Coding complete for all tiers. One failure in the FTL. More tests to write. (61.83 KB, patch)
2015-03-20 14:25 PDT, Michael Saboff
no flags Details | Formatted Diff | Diff
Patch (81.97 KB, patch)
2015-03-23 16:15 PDT, Michael Saboff
fpizlo: review+
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews100 for mac-mavericks (522.32 KB, application/zip)
2015-03-23 17:24 PDT, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Saboff 2015-03-18 18:08:02 PDT
The refactoring of for in completed in http://trac.webkit.org/changeset/171605 with the addition of the FTL part in http://trac.webkit.org/changeset/171763 introduced three independent loops.  If a property is added in a one loop, it can be enumerated in a subsequent loop.

rdar://problem/19121373
Comment 1 Michael Saboff 2015-03-18 18:20:16 PDT
Created attachment 249003 [details]
LLInt and baseline JIT appear to work
Comment 2 Michael Saboff 2015-03-20 14:25:26 PDT
Created attachment 249134 [details]
Coding complete for all tiers.  One failure in the FTL.  More tests to write.
Comment 3 Michael Saboff 2015-03-23 16:15:53 PDT
Created attachment 249299 [details]
Patch

Performance tests forthcoming.
Comment 4 Filip Pizlo 2015-03-23 16:21:53 PDT
Comment on attachment 249299 [details]
Patch

I buy this!
Comment 5 Geoffrey Garen 2015-03-23 16:27:46 PDT
Comment on attachment 249299 [details]
Patch

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

> LayoutTests/js/script-tests/for-in-modify-in-loop.js:76
> +/*
> +    var elementsToModify = [];
> +
> +    elementsToModify.push(new ModifyObj('d', true));
> +    elementsToModify.push(new ModifyObj('z', false));
> +    elementsToModify.push(new ModifyObj('', false));
> +    elementsToModify.push(new ModifyObj('lastOne', false));
> + */

Is the left-in comment syntax a bug here?
Comment 6 Michael Saboff 2015-03-23 16:28:56 PDT
(In reply to comment #5)
> Comment on attachment 249299 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=249299&action=review
> 
> > LayoutTests/js/script-tests/for-in-modify-in-loop.js:76
> > +/*
> > +    var elementsToModify = [];
> > +
> > +    elementsToModify.push(new ModifyObj('d', true));
> > +    elementsToModify.push(new ModifyObj('z', false));
> > +    elementsToModify.push(new ModifyObj('', false));
> > +    elementsToModify.push(new ModifyObj('lastOne', false));
> > + */
> 
> Is the left-in comment syntax a bug here?

I'll remove.  I was toying with a couple of different ways to modify the enumerated object.
Comment 7 Michael Saboff 2015-03-23 17:11:19 PDT
Only one notable slow down, string-fasta in the LongSpider harness.   Richards and audio-beat-detection show nice speed ups.

Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on msaboff-pro (MacPro5,1).

VMs tested:
"Baseline" at /Volumes/Data/src/webkit.baseline/WebKitBuild/Release/jsc (r181869)
"Patch142856" at /Volumes/Data/src/webkit/WebKitBuild/Release/jsc (r181869)

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

                                                         Baseline                Patch142856                                    
SunSpider:
   3d-cube                                            6.6454+-0.2642            6.4703+-0.2379          might be 1.0271x faster
   3d-morph                                           7.5819+-0.1788     ?      7.7479+-0.1730        ? might be 1.0219x slower
   3d-raytrace                                        8.4496+-0.1447     ?      8.4785+-0.4375        ?
   access-binary-trees                                2.7794+-0.1361     ?      2.8379+-0.2144        ? might be 1.0210x slower
   access-fannkuch                                    8.0043+-0.0634     ?      8.0527+-0.1575        ?
   access-nbody                                       4.1292+-0.2542            4.0960+-0.2198        
   access-nsieve                                      4.4898+-0.1455     ?      4.5142+-0.1818        ?
   bitops-3bit-bits-in-byte                           1.8245+-0.0832            1.8036+-0.0811          might be 1.0116x faster
   bitops-bits-in-byte                                5.6077+-0.4054            5.4282+-0.0841          might be 1.0331x faster
   bitops-bitwise-and                                 2.6838+-0.1707     ?      2.7243+-0.1405        ? might be 1.0151x slower
   bitops-nsieve-bits                                 4.8801+-0.3832     ?      4.9263+-0.1761        ?
   controlflow-recursive                              2.8568+-0.1150            2.6843+-0.1479          might be 1.0643x faster
   crypto-aes                                         5.5397+-0.3499     ?      5.5520+-0.1055        ?
   crypto-md5                                         3.2828+-0.1359     ?      3.3365+-0.1519        ? might be 1.0164x slower
   crypto-sha1                                        3.3325+-0.4641            3.2421+-0.1659          might be 1.0279x faster
   date-format-tofte                                 12.0215+-0.4062     ?     12.4945+-0.6125        ? might be 1.0393x slower
   date-format-xparb                                  7.5920+-0.6842            7.3926+-0.5389          might be 1.0270x faster
   math-cordic                                        4.2364+-0.0561            4.2160+-0.1459        
   math-partial-sums                                  8.9558+-0.2547     ?      9.0234+-0.3202        ?
   math-spectral-norm                                 2.8605+-0.1894            2.8408+-0.1656        
   regexp-dna                                         9.5923+-0.3230     ?      9.6981+-0.3046        ? might be 1.0110x slower
   string-base64                                      5.9007+-0.2852            5.7244+-0.3193          might be 1.0308x faster
   string-fasta                                       8.9977+-0.3196     ?      9.2813+-0.3831        ? might be 1.0315x slower
   string-tagcloud                                   14.0104+-0.6643           13.5088+-0.7301          might be 1.0371x faster
   string-unpack-code                                27.2217+-1.4225           26.6647+-1.0318          might be 1.0209x faster
   string-validate-input                              6.6070+-0.2865            6.5521+-0.2083        

   <arithmetic>                                       6.9263+-0.1183            6.8958+-0.0609          might be 1.0044x faster

                                                         Baseline                Patch142856                                    
LongSpider:
   3d-cube                                         1146.9195+-30.1670        1146.2920+-16.0480       
   3d-morph                                        1876.2397+-8.0881     ?   1876.4394+-6.6622        ?
   3d-raytrace                                     1062.4927+-3.7504         1057.2050+-9.8401        
   access-binary-trees                             1342.0629+-3.0487     ?   1343.7495+-2.2482        ?
   access-fannkuch                                  444.8530+-31.8749    ?    452.3382+-33.3645       ? might be 1.0168x slower
   access-nbody                                    1002.8163+-2.4281         1002.4897+-2.2771        
   access-nsieve                                   1247.2350+-9.8829         1245.2003+-7.9298        
   bitops-3bit-bits-in-byte                          49.8281+-0.8596     ?     50.1819+-0.5777        ?
   bitops-bits-in-byte                              342.3898+-0.3281     ?    344.6330+-5.6476        ?
   bitops-nsieve-bits                               953.9909+-9.0467     ?    960.3138+-15.9892       ?
   controlflow-recursive                            699.7880+-0.4427          698.8345+-2.0785        
   crypto-aes                                       923.7957+-14.0502    ?    927.3473+-4.3476        ?
   crypto-md5                                       746.5010+-3.4401          746.3488+-3.5580        
   crypto-sha1                                      893.3835+-48.7414         879.1484+-25.5007         might be 1.0162x faster
   date-format-tofte                               1022.7972+-18.1601    ?   1028.1248+-39.6451       ?
   date-format-xparb                                972.5800+-40.1011    ?    979.1198+-55.6905       ?
   math-cordic                                      752.1938+-127.0123        711.7912+-104.1234        might be 1.0568x faster
   math-partial-sums                               1023.2330+-15.1058    ?   1024.2402+-21.8366       ?
   math-spectral-norm                              1080.4960+-18.1980        1074.7021+-2.9746        
   string-base64                                    467.5898+-7.4820          462.3053+-5.2848          might be 1.0114x faster
   string-fasta                                     581.2358+-15.7617    !    609.4608+-7.7447        ! definitely 1.0486x slower
   string-tagcloud                                  319.9227+-1.8254     ^    314.3670+-1.2901        ^ definitely 1.0177x faster

   <geometric>                                      725.4075+-6.8428          725.0465+-6.3126          might be 1.0005x faster

                                                         Baseline                Patch142856                                    
V8Spider:
   crypto                                            71.6290+-2.0898           71.3804+-2.1853        
   deltablue                                         91.8035+-5.3783           87.7959+-6.1710          might be 1.0456x faster
   earley-boyer                                      61.2361+-0.7156           60.6132+-1.3645          might be 1.0103x faster
   raytrace                                          37.3033+-1.5983     ?     38.2602+-2.1952        ? might be 1.0257x slower
   regexp                                            93.1952+-1.1308           92.7800+-0.7162        
   richards                                         101.0751+-2.5456          100.9871+-1.5292        
   splay                                             51.0993+-2.3402     ?     51.6432+-3.2540        ? might be 1.0106x slower

   <geometric>                                       68.6981+-0.6940           68.4257+-1.8706          might be 1.0040x faster

                                                         Baseline                Patch142856                                    
Octane:
   encrypt                                           0.31812+-0.00872          0.31726+-0.00762       
   decrypt                                           5.60719+-0.02559    ?     5.61816+-0.02790       ?
   deltablue                                x2       0.26654+-0.00929          0.26612+-0.00406       
   earley                                            0.97459+-0.02534          0.96782+-0.01287       
   boyer                                             9.55313+-0.04130          9.52543+-0.07253       
   navier-stokes                            x2       6.40072+-0.00539    ?     6.43661+-0.09819       ?
   raytrace                                 x2       1.76550+-0.02089          1.73263+-0.08753         might be 1.0190x faster
   richards                                 x2       0.17143+-0.00429    ^     0.16523+-0.00050       ^ definitely 1.0375x faster
   splay                                    x2       0.52117+-0.00928    ?     0.52610+-0.01515       ?
   regexp                                   x2      45.89328+-2.11135         44.85061+-0.17627         might be 1.0232x faster
   pdfjs                                    x2      63.00117+-0.37474    ?    63.17131+-0.40211       ?
   mandreel                                 x2      71.19473+-1.68486    ?    71.78380+-0.73077       ?
   gbemu                                    x2      56.54751+-0.47824    ?    57.10257+-0.85643       ?
   closure                                           0.76026+-0.00857          0.75917+-0.00218       
   jquery                                            9.58870+-0.05373          9.56562+-0.04705       
   box2d                                    x2      17.73129+-0.07215         17.69680+-0.08953       
   zlib                                     x2     543.19684+-43.27066   ?   554.76908+-3.85019       ? might be 1.0213x slower
   typescript                               x2    1070.22699+-16.70100   ?  1083.68677+-21.00706      ? might be 1.0126x slower

   <geometric>                                       9.33228+-0.06527          9.32040+-0.02119         might be 1.0013x faster

                                                         Baseline                Patch142856                                    
Kraken:
   ai-astar                                          464.994+-9.377      ?     467.932+-13.245        ?
   audio-beat-detection                              159.064+-2.846      ^     151.832+-3.496         ^ definitely 1.0476x faster
   audio-dft                                         201.889+-2.932      ?     203.969+-1.450         ? might be 1.0103x slower
   audio-fft                                         114.287+-12.727           110.540+-0.462           might be 1.0339x faster
   audio-oscillator                                  261.887+-0.807      ?     263.627+-3.459         ?
   imaging-darkroom                                  141.070+-1.715      ?     141.396+-3.435         ?
   imaging-desaturate                                 95.278+-0.774      ?      95.423+-0.132         ?
   imaging-gaussian-blur                             157.139+-1.043            156.714+-2.323         
   json-parse-financial                               68.008+-2.692             65.826+-1.194           might be 1.0331x faster
   json-stringify-tinderbox                           78.518+-2.941             77.461+-0.235           might be 1.0137x faster
   stanford-crypto-aes                                85.976+-3.581             85.431+-2.454         
   stanford-crypto-ccm                                71.164+-15.491            66.562+-0.834           might be 1.0691x faster
   stanford-crypto-pbkdf2                            226.624+-3.721            226.310+-4.223         
   stanford-crypto-sha256-iterative                   72.890+-0.369      ?      73.626+-1.676         ? might be 1.0101x slower

   <arithmetic>                                      157.056+-1.929            156.189+-1.105           might be 1.0056x faster

                                                         Baseline                Patch142856                                    
JSRegress:
   abs-boolean                                        3.6912+-0.0360            3.6644+-0.0516        
   adapt-to-double-divide                            17.9800+-0.4289           17.8978+-0.1830        
   aliased-arguments-getbyval                         1.1036+-0.0865     ?      1.1138+-0.1089        ?
   allocate-big-object                                3.6155+-0.8399            3.3417+-0.0511          might be 1.0819x faster
   arguments-out-of-bounds                           24.9877+-0.2727     ?     24.9883+-0.3544        ?
   arity-mismatch-inlining                            1.1259+-0.2053     ?      1.1370+-0.1697        ?
   array-access-polymorphic-structure                 9.2249+-0.1459     ^      8.9873+-0.0884        ^ definitely 1.0264x faster
   array-nonarray-polymorhpic-access                 47.5685+-0.2568           46.3104+-3.7389          might be 1.0272x faster
   array-prototype-every                            117.1815+-4.2622          116.0177+-1.9595          might be 1.0100x faster
   array-prototype-forEach                          114.5305+-2.1072          114.3853+-2.4147        
   array-prototype-map                              135.6404+-3.9695          135.5493+-4.5246        
   array-prototype-some                             116.3412+-1.8234     ?    116.3870+-1.4294        ?
   array-splice-contiguous                           56.3393+-1.5929     ?     56.9510+-1.1263        ? might be 1.0109x slower
   array-with-double-add                              5.5312+-0.1192            5.4253+-0.2342          might be 1.0195x faster
   array-with-double-increment                        4.0582+-0.1410     ?      4.1322+-0.1444        ? might be 1.0182x slower
   array-with-double-mul-add                          7.3239+-0.5744            7.0657+-0.1185          might be 1.0365x faster
   array-with-double-sum                              4.1995+-0.0749     ?      4.3363+-0.1620        ? might be 1.0326x slower
   array-with-int32-add-sub                           9.8258+-0.1745            9.4617+-0.2543          might be 1.0385x faster
   array-with-int32-or-double-sum                     4.3892+-0.0402     ?      4.4255+-0.0979        ?
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     47.0729+-2.8281           45.7309+-0.5902          might be 1.0293x faster
   ArrayBuffer-DataView-alloc-long-lived             19.2116+-1.9854           18.8676+-0.3785          might be 1.0182x faster
   ArrayBuffer-Int32Array-byteOffset                  4.6017+-0.1594            4.5881+-0.2332        
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     49.3140+-2.0618           48.7302+-3.8995          might be 1.0120x faster
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     33.9128+-1.5192           32.9208+-1.7214          might be 1.0301x faster
   ArrayBuffer-Int8Array-alloc-long-lived            18.0240+-0.3997     ?     18.2667+-0.7732        ? might be 1.0135x slower
   ArrayBuffer-Int8Array-alloc                       15.0830+-0.7137           14.9457+-0.4874        
   asmjs_bool_bug                                     9.2153+-0.2081     ?      9.3950+-0.2017        ? might be 1.0195x slower
   assign-custom-setter-polymorphic                   4.1564+-0.1087            4.0443+-0.1037          might be 1.0277x faster
   assign-custom-setter                               5.6455+-0.2687            5.5784+-0.2061          might be 1.0120x faster
   basic-set                                         11.7943+-0.7569     ?     11.9713+-0.6775        ? might be 1.0150x slower
   big-int-mul                                        5.9333+-0.0970            5.7144+-0.1954          might be 1.0383x faster
   boolean-test                                       4.2235+-0.1054     ?      4.2459+-0.0813        ?
   branch-fold                                        4.6328+-0.2703            4.5306+-0.1165          might be 1.0226x faster
   by-val-generic                                    10.3758+-0.3789     ?     10.5666+-0.3357        ? might be 1.0184x slower
   call-spread-apply                                 20.2805+-1.6632           20.0396+-1.0962          might be 1.0120x faster
   call-spread-call                                   7.3207+-0.2549            7.1920+-0.3064          might be 1.0179x faster
   captured-assignments                               0.6664+-0.1212            0.6138+-0.1462          might be 1.0856x faster
   cast-int-to-double                                 8.0083+-0.3499            8.0037+-0.1186        
   cell-argument                                      9.7861+-0.3468     ?      9.8774+-0.5086        ?
   cfg-simplify                                       3.6905+-0.1712            3.6364+-0.1009          might be 1.0149x faster
   chain-getter-access                               12.9629+-0.5170           12.8312+-0.2125          might be 1.0103x faster
   cmpeq-obj-to-obj-other                            12.5489+-0.2783           12.2001+-0.2129          might be 1.0286x faster
   constant-test                                      7.5443+-0.4405     ?      7.7464+-0.1811        ? might be 1.0268x slower
   DataView-custom-properties                        53.9276+-2.4642           52.9116+-1.5622          might be 1.0192x faster
   delay-tear-off-arguments-strictmode               27.2047+-2.0879           27.1818+-1.1768        
   deltablue-varargs                                228.1044+-1.4223          227.2603+-2.0016        
   destructuring-arguments                            8.0635+-0.1278     ?      8.0668+-0.0716        ?
   destructuring-swap                                 7.6410+-0.2608            7.5334+-0.3251          might be 1.0143x faster
   direct-arguments-getbyval                          1.0276+-0.2968     ?      1.1411+-0.3020        ? might be 1.1104x slower
   div-boolean-double                                 5.4530+-0.0970     ?      5.5064+-0.1132        ?
   div-boolean                                       10.0010+-0.1804            9.6821+-0.1673          might be 1.0329x faster
   double-get-by-val-out-of-bounds                    5.7137+-0.1594     ?      5.8275+-0.0871        ? might be 1.0199x slower
   double-pollution-getbyval                          9.5602+-0.0841     ?      9.7147+-0.1877        ? might be 1.0162x slower
   double-pollution-putbyoffset                       5.4800+-0.1461     ?      5.6025+-0.3041        ? might be 1.0224x slower
   double-to-int32-typed-array-no-inline              2.7775+-0.1200            2.7682+-0.1128        
   double-to-int32-typed-array                        2.5204+-0.0682     ?      2.5579+-0.1790        ? might be 1.0149x slower
   double-to-uint32-typed-array-no-inline             2.8828+-0.0834            2.8610+-0.0885        
   double-to-uint32-typed-array                       2.6157+-0.1311     ?      2.6643+-0.1606        ? might be 1.0186x slower
   elidable-new-object-dag                           54.9382+-0.8740     ?     55.9017+-2.8891        ? might be 1.0175x slower
   elidable-new-object-roflcopter                    60.6879+-1.5947           59.9245+-1.5865          might be 1.0127x faster
   elidable-new-object-then-call                     50.8163+-1.4916     ?     51.8778+-4.4500        ? might be 1.0209x slower
   elidable-new-object-tree                          62.2824+-1.4063           62.2652+-1.0635        
   empty-string-plus-int                              7.3560+-0.5171     ?      7.4180+-0.1902        ?
   emscripten-cube2hash                              45.8267+-0.3436           45.4739+-1.2131        
   exit-length-on-plain-object                       18.7301+-0.6841           18.4869+-0.6247          might be 1.0132x faster
   external-arguments-getbyval                        2.0044+-0.0667            1.8867+-0.1571          might be 1.0624x faster
   external-arguments-putbyval                        2.7208+-0.0898     ?      2.8778+-0.0883        ? might be 1.0577x slower
   fixed-typed-array-storage-var-index                1.5533+-0.0880            1.5033+-0.1714          might be 1.0333x faster
   fixed-typed-array-storage                          1.1721+-0.0561     ?      1.1918+-0.1221        ? might be 1.0168x slower
   Float32Array-matrix-mult                           6.0238+-0.3272     ?      6.0345+-0.5550        ?
   Float32Array-to-Float64Array-set                  78.4802+-3.0076           75.4044+-6.4680          might be 1.0408x faster
   Float64Array-alloc-long-lived                     95.0470+-1.4626           94.3084+-0.9879        
   Float64Array-to-Int16Array-set                    94.6918+-2.9514           94.1045+-0.8653        
   fold-double-to-int                                21.5079+-1.0408           21.4276+-0.3762        
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     10.4092+-0.3207           10.2637+-0.5871          might be 1.0142x faster
   fold-get-by-id-to-multi-get-by-offset              8.8568+-0.5614     ?      9.0119+-0.3800        ? might be 1.0175x slower
   fold-multi-get-by-offset-to-get-by-offset   
                                                      8.3368+-1.1822            7.9670+-1.3679          might be 1.0464x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      8.2018+-0.9788            8.0416+-0.8816          might be 1.0199x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      7.5728+-0.7330     ?      8.0098+-0.1779        ? might be 1.0577x slower
   fold-multi-put-by-offset-to-put-by-offset   
                                                      7.6675+-0.0830     ^      6.3855+-0.7207        ^ definitely 1.2008x faster
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     12.2994+-1.9575     ?     12.5948+-1.4397        ? might be 1.0240x slower
   fold-put-by-id-to-multi-put-by-offset              8.7192+-0.8431     ?      9.2025+-1.3053        ? might be 1.0554x slower
   fold-put-structure                                 6.1942+-0.6316            6.1033+-0.4055          might be 1.0149x faster
   for-of-iterate-array-entries                       6.2509+-0.2034            6.1580+-0.3241          might be 1.0151x faster
   for-of-iterate-array-keys                          4.9982+-0.2249     ?      5.1343+-0.7058        ? might be 1.0272x slower
   for-of-iterate-array-values                        4.8872+-0.2347            4.7751+-0.3224          might be 1.0235x faster
   fround                                            22.2993+-0.6215           22.2592+-0.9979        
   ftl-library-inlining-dataview                     89.7454+-2.0975           88.9401+-0.2339        
   ftl-library-inlining                             116.1788+-8.1042     ^     97.2128+-2.5791        ^ definitely 1.1951x faster
   function-dot-apply                                 2.2798+-0.1055     ?      2.3290+-0.1398        ? might be 1.0216x slower
   function-test                                      4.6024+-0.0969            4.5984+-0.2752        
   function-with-eval                               167.0629+-1.0686     ?    167.4425+-2.4307        ?
   gcse-poly-get-less-obvious                        24.6830+-0.4247     ?     24.7162+-0.2258        ?
   gcse-poly-get                                     24.9099+-0.5371           24.7921+-0.6270        
   gcse                                               6.4852+-0.0831            6.4785+-0.2968        
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      3.3337+-0.1241     ?      3.3415+-0.2340        ?
   get-by-id-bimorphic-check-structure-elimination   
                                                      8.2814+-0.2993     ?      8.2815+-0.3774        ?
   get-by-id-chain-from-try-block                    13.4926+-0.3031     ?     13.5485+-0.3876        ?
   get-by-id-check-structure-elimination              7.3864+-0.2334     ?      7.4738+-0.2688        ? might be 1.0118x slower
   get-by-id-proto-or-self                           23.5275+-2.4047           23.3429+-2.4032        
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.9150+-0.1718     ?      3.9336+-0.1732        ?
   get-by-id-self-or-proto                           23.5686+-2.1601           22.7758+-1.7709          might be 1.0348x faster
   get-by-val-out-of-bounds                           5.5605+-0.1050     ?      5.7109+-0.1018        ? might be 1.0270x slower
   get_callee_monomorphic                             4.6790+-0.3272     ?      4.7610+-0.2057        ? might be 1.0175x slower
   get_callee_polymorphic                             4.3723+-0.2280     ?      4.5269+-0.4145        ? might be 1.0354x slower
   getter-no-activation                               5.7321+-0.1167     ?      5.7331+-0.1716        ?
   getter-richards                                  129.4786+-6.8946     ?    132.2060+-4.8240        ? might be 1.0211x slower
   getter                                             6.7552+-0.0886            6.6022+-0.3552          might be 1.0232x faster
   global-var-const-infer-fire-from-opt               1.3328+-0.4336            1.1140+-0.1201          might be 1.1964x faster
   global-var-const-infer                             1.2690+-0.2365            1.0399+-0.0524          might be 1.2203x faster
   HashMap-put-get-iterate-keys                      34.3007+-1.0993     ?     35.1595+-0.8660        ? might be 1.0250x slower
   HashMap-put-get-iterate                           34.4679+-0.8978     ?     35.5592+-1.7200        ? might be 1.0317x slower
   HashMap-string-put-get-iterate                    34.7254+-1.9403     ?     34.9656+-0.8530        ?
   hoist-make-rope                                   15.0547+-2.1510           14.3440+-2.6961          might be 1.0496x faster
   hoist-poly-check-structure-effectful-loop   
                                                      6.9500+-0.5246            6.8489+-0.2305          might be 1.0147x faster
   hoist-poly-check-structure                         4.9688+-0.1178            4.8917+-0.1323          might be 1.0157x faster
   imul-double-only                                   9.9101+-0.3390            9.8569+-0.4209        
   imul-int-only                                     12.5281+-1.1104           12.0762+-1.2900          might be 1.0374x faster
   imul-mixed                                         9.9468+-1.0145            9.6157+-0.5290          might be 1.0344x faster
   in-four-cases                                     23.6962+-0.1005     ?     23.7332+-0.1827        ?
   in-one-case-false                                 12.4641+-0.1558           12.3501+-0.1382        
   in-one-case-true                                  12.5430+-0.5186           12.3556+-0.4073          might be 1.0152x faster
   in-two-cases                                      12.9471+-0.1158           12.8743+-0.3581        
   indexed-properties-in-objects                      3.7917+-0.0321            3.7288+-0.1225          might be 1.0169x faster
   infer-closure-const-then-mov-no-inline             4.2588+-0.1483     ?      4.3118+-0.0612        ? might be 1.0124x slower
   infer-closure-const-then-mov                      24.9788+-0.9121           24.4388+-0.1589          might be 1.0221x faster
   infer-closure-const-then-put-to-scope-no-inline   
                                                     14.4327+-0.2602           14.2278+-0.3085          might be 1.0144x faster
   infer-closure-const-then-put-to-scope             27.7436+-0.1374     ?     27.8878+-0.1649        ?
   infer-closure-const-then-reenter-no-inline   
                                                     67.8104+-0.4842           67.7511+-0.8910        
   infer-closure-const-then-reenter                  28.0524+-0.4403           27.9462+-0.4134        
   infer-constant-global-property                    38.0983+-0.7153           37.3143+-0.4353          might be 1.0210x faster
   infer-constant-property                            3.2967+-0.0885            3.2438+-0.1196          might be 1.0163x faster
   infer-one-time-closure-ten-vars                   14.7548+-0.4933     ?     14.7906+-0.4232        ?
   infer-one-time-closure-two-vars                   14.2883+-1.0124           14.2835+-0.5261        
   infer-one-time-closure                            14.1073+-0.1071     ?     14.2557+-0.2763        ? might be 1.0105x slower
   infer-one-time-deep-closure                       24.8582+-1.3010           24.5758+-0.2972          might be 1.0115x faster
   inline-arguments-access                            2.1740+-0.0857     ?      2.1861+-0.1387        ?
   inline-arguments-aliased-access                    2.4496+-0.1123     ?      2.4795+-0.0585        ? might be 1.0122x slower
   inline-arguments-local-escape                     17.2025+-0.9974     ?     17.2345+-0.4538        ?
   inline-get-scoped-var                              5.6481+-0.1489     ?      5.7319+-0.1534        ? might be 1.0148x slower
   inlined-put-by-id-transition                      14.8752+-1.2806           14.4739+-0.3882          might be 1.0277x faster
   int-or-other-abs-then-get-by-val                   6.8666+-0.0692     ?      6.9645+-0.1476        ? might be 1.0142x slower
   int-or-other-abs-zero-then-get-by-val             26.0181+-1.5018           25.8956+-0.4381        
   int-or-other-add-then-get-by-val                   5.9225+-0.0399     !      6.0676+-0.0839        ! definitely 1.0245x slower
   int-or-other-add                                   7.9235+-0.0844     ?      8.0210+-0.1592        ? might be 1.0123x slower
   int-or-other-div-then-get-by-val                   5.1057+-0.2854     ?      5.2304+-0.0566        ? might be 1.0244x slower
   int-or-other-max-then-get-by-val                   5.2398+-0.1731     ?      5.2781+-0.1737        ?
   int-or-other-min-then-get-by-val                   5.2933+-0.2555            5.2693+-0.1473        
   int-or-other-mod-then-get-by-val                   5.1462+-0.3192     ?      5.1581+-0.1153        ?
   int-or-other-mul-then-get-by-val                   5.1016+-0.1171            5.0265+-0.1234          might be 1.0149x faster
   int-or-other-neg-then-get-by-val                   6.4055+-0.2137     ?      6.4269+-0.1301        ?
   int-or-other-neg-zero-then-get-by-val             25.5377+-0.0623     !     26.0732+-0.1393        ! definitely 1.0210x slower
   int-or-other-sub-then-get-by-val                   6.2533+-0.3325     ?      6.4188+-0.2033        ? might be 1.0265x slower
   int-or-other-sub                                   4.6755+-0.1139     ?      4.6918+-0.0714        ?
   int-overflow-local                                 5.6838+-0.2631     ?      5.7144+-0.0715        ?
   Int16Array-alloc-long-lived                       64.6190+-1.4028           64.3788+-1.6462        
   Int16Array-bubble-sort-with-byteLength            39.0609+-1.0895           38.8018+-0.2705        
   Int16Array-bubble-sort                            38.0312+-0.7833           37.1939+-1.7197          might be 1.0225x faster
   Int16Array-load-int-mul                            1.9329+-0.1292            1.8782+-0.1268          might be 1.0291x faster
   Int16Array-to-Int32Array-set                      69.9491+-1.5656     ?     70.6368+-0.6622        ?
   Int32Array-alloc-large                            34.2640+-2.3061           34.0343+-1.3320        
   Int32Array-alloc-long-lived                       72.7848+-0.9103     ?     73.3927+-0.6058        ?
   Int32Array-alloc                                   4.3926+-0.3422     ?      4.4338+-0.4778        ?
   Int32Array-Int8Array-view-alloc                    9.9033+-0.5803     ?     10.3954+-0.2735        ? might be 1.0497x slower
   int52-spill                                        8.3693+-0.1368            8.1936+-0.1648          might be 1.0214x faster
   Int8Array-alloc-long-lived                        58.3715+-1.8199     ?     59.4839+-1.1045        ? might be 1.0191x slower
   Int8Array-load-with-byteLength                     4.7012+-0.0823            4.6972+-0.1345        
   Int8Array-load                                     4.6360+-0.1210     ?      4.7815+-0.1537        ? might be 1.0314x slower
   integer-divide                                    14.4560+-0.3650           14.4433+-0.4863        
   integer-modulo                                     2.7376+-0.3040     ?      2.7420+-0.0476        ?
   large-int-captured                                11.2863+-0.7751           10.5353+-0.4029          might be 1.0713x faster
   large-int-neg                                     20.4242+-0.0445     ?     20.5414+-0.3418        ?
   large-int                                         18.5569+-0.6234           18.3394+-0.5525          might be 1.0119x faster
   logical-not                                        6.4693+-0.8651            6.2372+-0.3457          might be 1.0372x faster
   lots-of-fields                                    18.7931+-0.5002     ?     19.0912+-0.6588        ? might be 1.0159x slower
   make-indexed-storage                               4.0157+-0.5823            3.9457+-0.5934          might be 1.0177x faster
   make-rope-cse                                      6.2271+-0.2429            6.0055+-0.1441          might be 1.0369x faster
   marsaglia-larger-ints                             55.2090+-0.1424     ?     56.1823+-2.0329        ? might be 1.0176x slower
   marsaglia-osr-entry                               27.4037+-0.5562     ?     27.7167+-0.5962        ? might be 1.0114x slower
   max-boolean                                        3.2938+-0.1506            3.2848+-0.1467        
   method-on-number                                  23.2715+-0.9408           22.8207+-0.1586          might be 1.0198x faster
   min-boolean                                        3.2337+-0.1328     ?      3.2451+-0.0330        ?
   minus-boolean-double                               4.1480+-0.0699     ?      4.1730+-0.1446        ?
   minus-boolean                                      3.2052+-0.1884     ?      3.2532+-0.0677        ? might be 1.0150x slower
   misc-strict-eq                                    52.9200+-2.9111           51.2195+-1.4908          might be 1.0332x faster
   mod-boolean-double                                11.5495+-0.2579     ?     11.9223+-0.3726        ? might be 1.0323x slower
   mod-boolean                                        8.8967+-0.0786            8.7744+-0.2951          might be 1.0139x faster
   mul-boolean-double                                 4.8323+-0.1042            4.7815+-0.0723          might be 1.0106x faster
   mul-boolean                                        3.4681+-0.0979     ?      3.4795+-0.1122        ?
   neg-boolean                                        4.2894+-0.1324     ?      4.3125+-0.1352        ?
   negative-zero-divide                               0.5405+-0.1173            0.4952+-0.0976          might be 1.0914x faster
   negative-zero-modulo                               0.5276+-0.0969            0.5050+-0.1205          might be 1.0448x faster
   negative-zero-negate                               0.4565+-0.0904            0.4424+-0.0856          might be 1.0320x faster
   nested-function-parsing                           33.0486+-0.3395     ?     33.0594+-0.2217        ?
   new-array-buffer-dead                              3.6975+-0.1453     ?      3.8075+-0.3176        ? might be 1.0297x slower
   new-array-buffer-push                              9.1984+-0.3932            9.1028+-0.7071          might be 1.0105x faster
   new-array-dead                                    15.6907+-1.5168     ?     16.0089+-1.5229        ? might be 1.0203x slower
   new-array-push                                     5.3831+-0.3142     ?      5.3864+-0.3629        ?
   number-test                                        4.2532+-0.1786            4.2435+-0.1430        
   object-closure-call                                7.6825+-0.2545            7.4323+-0.0356          might be 1.0337x faster
   object-test                                        4.6633+-0.1646            4.4832+-0.1749          might be 1.0402x faster
   obvious-sink-pathology-taken                     169.9769+-2.6367     ?    171.9663+-5.4495        ? might be 1.0117x slower
   obvious-sink-pathology                           161.6248+-1.1351     ?    162.2000+-1.5726        ?
   obviously-elidable-new-object                     48.0510+-4.6927     ?     49.9401+-1.7906        ? might be 1.0393x slower
   plus-boolean-arith                                 3.2278+-0.1336     ?      3.3406+-0.1733        ? might be 1.0350x slower
   plus-boolean-double                                4.2156+-0.1580            4.1837+-0.0372        
   plus-boolean                                       3.1620+-0.1159            3.1525+-0.1048        
   poly-chain-access-different-prototypes-simple   
                                                      3.8047+-0.0958     ?      3.8784+-0.1478        ? might be 1.0194x slower
   poly-chain-access-different-prototypes             3.2853+-0.0693            3.1299+-0.5489          might be 1.0496x faster
   poly-chain-access-simpler                          3.8280+-0.1070            3.7972+-0.1317        
   poly-chain-access                                  3.2338+-0.1158            3.1930+-0.0999          might be 1.0128x faster
   poly-stricteq                                     76.6187+-0.4036     ^     68.4254+-2.3091        ^ definitely 1.1197x faster
   polymorphic-array-call                             1.9081+-0.1747     ?      1.9822+-0.3615        ? might be 1.0388x slower
   polymorphic-get-by-id                              4.1678+-0.1555            4.1215+-0.1863          might be 1.0112x faster
   polymorphic-put-by-id                             42.6102+-6.1841           40.1487+-6.0191          might be 1.0613x faster
   polymorphic-structure                             21.6401+-0.4127           21.5505+-0.2203        
   polyvariant-monomorphic-get-by-id                 11.5217+-0.2827           11.4228+-0.1402        
   proto-getter-access                               12.7777+-0.2135     ?     12.8361+-0.2494        ?
   put-by-id-replace-and-transition                  11.2939+-0.1170     ?     11.5381+-0.5990        ? might be 1.0216x slower
   put-by-id-slightly-polymorphic                     3.5303+-0.1318            3.4418+-0.1302          might be 1.0257x faster
   put-by-id                                         17.9973+-0.5560     ?     18.0877+-0.2844        ?
   put-by-val-direct                                  0.8540+-0.1666     ?      0.8625+-0.1514        ? might be 1.0100x slower
   put-by-val-large-index-blank-indexing-type   
                                                      7.9454+-0.1540            7.9297+-0.2313        
   put-by-val-machine-int                             3.2565+-0.1607     ?      3.3918+-0.2942        ? might be 1.0415x slower
   rare-osr-exit-on-local                            18.3310+-0.4460           18.3050+-0.5420        
   register-pressure-from-osr                        26.3323+-0.6058           26.2823+-0.3090        
   setter                                             6.4367+-0.1581     ?      6.4811+-0.1203        ?
   simple-activation-demo                            33.2469+-0.1267     ^     32.4619+-0.2885        ^ definitely 1.0242x faster
   simple-getter-access                              17.8575+-0.7064     ?     17.8946+-0.2824        ?
   simple-poly-call-nested                           10.3777+-0.1787           10.2335+-0.2293          might be 1.0141x faster
   simple-poly-call                                   1.6707+-0.0777            1.5769+-0.0748          might be 1.0595x faster
   sin-boolean                                       24.6818+-3.5938     ?     25.2996+-3.2438        ? might be 1.0250x slower
   sinkable-new-object-dag                           93.9355+-2.8097           93.7029+-0.8197        
   sinkable-new-object-taken                         68.5488+-1.4554     ?     71.1754+-4.4611        ? might be 1.0383x slower
   sinkable-new-object                               52.8560+-2.0505     ?     52.9943+-1.3031        ?
   slow-array-profile-convergence                     4.0728+-0.0959            4.0458+-0.3330        
   slow-convergence                                   4.5488+-0.3088            4.4218+-0.1540          might be 1.0287x faster
   sparse-conditional                                 1.7012+-0.0174     ^      1.5800+-0.1006        ^ definitely 1.0767x faster
   splice-to-remove                                  20.9045+-0.4366           20.8026+-0.5878        
   string-char-code-at                               19.7920+-0.1886           19.7443+-0.3882        
   string-concat-object                               3.1204+-0.2637            3.1117+-0.3279        
   string-concat-pair-object                          2.9811+-0.1832     ?      3.0535+-0.1161        ? might be 1.0243x slower
   string-concat-pair-simple                         16.0555+-0.2616           15.9622+-0.3916        
   string-concat-simple                              16.4525+-0.3913     ?     16.7985+-0.9168        ? might be 1.0210x slower
   string-cons-repeat                                10.2943+-0.2240     ?     10.5297+-0.3151        ? might be 1.0229x slower
   string-cons-tower                                 10.1153+-0.1054     ?     10.2360+-0.3194        ? might be 1.0119x slower
   string-equality                                   21.0701+-0.2931           20.9661+-0.3380        
   string-get-by-val-big-char                         9.8162+-0.7329     ?     10.0972+-0.2732        ? might be 1.0286x slower
   string-get-by-val-out-of-bounds-insane             5.3457+-0.1949     ?      5.3663+-0.2082        ?
   string-get-by-val-out-of-bounds                    6.7505+-0.1441            6.7285+-0.2410        
   string-get-by-val                                  4.7440+-0.1235            4.7422+-0.1064        
   string-hash                                        2.7141+-0.1091            2.7040+-0.1628        
   string-long-ident-equality                        17.1432+-0.5128     ?     17.2891+-0.3803        ?
   string-out-of-bounds                              17.5140+-0.2835     ?     17.6479+-1.0046        ?
   string-repeat-arith                               49.4023+-4.2252     ?     49.6108+-3.9878        ?
   string-sub                                       118.5613+-37.9357          99.4633+-6.9137          might be 1.1920x faster
   string-test                                        4.1351+-0.1020     ?      4.1779+-0.2574        ? might be 1.0103x slower
   string-var-equality                               44.3972+-0.3244     ?     44.8817+-0.8685        ? might be 1.0109x slower
   structure-hoist-over-transitions                   3.5380+-0.1341            3.2808+-0.1792          might be 1.0784x faster
   substring-concat-weird                            54.3965+-1.1229     ?     54.6168+-0.9364        ?
   substring-concat                                  55.7419+-0.4266     !     57.0510+-0.3076        ! definitely 1.0235x slower
   substring                                         62.0569+-0.7314     ?     64.0363+-2.0396        ? might be 1.0319x slower
   switch-char-constant                               3.3343+-0.0314     ?      3.3500+-0.1497        ?
   switch-char                                        7.7814+-0.1094     ?      7.8520+-0.0278        ?
   switch-constant                                   10.9673+-0.4151     ?     11.0926+-0.9256        ? might be 1.0114x slower
   switch-string-basic-big-var                       25.4097+-1.4854     ?     26.0241+-0.8677        ? might be 1.0242x slower
   switch-string-basic-big                           19.0116+-2.5731     ?     20.8265+-3.2963        ? might be 1.0955x slower
   switch-string-basic-var                           27.0023+-3.3885     ?     29.3420+-1.1316        ? might be 1.0866x slower
   switch-string-basic                               20.8077+-0.2324     ?     21.2707+-0.9457        ? might be 1.0222x slower
   switch-string-big-length-tower-var                25.1275+-0.4381           24.9312+-0.4922        
   switch-string-length-tower-var                    20.1352+-0.7666           19.9415+-0.3716        
   switch-string-length-tower                        15.7515+-3.2199           14.6188+-0.1345          might be 1.0775x faster
   switch-string-short                               14.7501+-0.2715           14.5995+-0.2872          might be 1.0103x faster
   switch                                            14.4302+-0.6443           14.3605+-0.6227        
   tear-off-arguments-simple                          2.4753+-0.2033            2.4077+-0.1446          might be 1.0281x faster
   tear-off-arguments                                 3.6851+-0.1393     ?      3.7155+-0.2208        ?
   temporal-structure                                17.4200+-1.6345           17.0208+-0.4192          might be 1.0235x faster
   to-int32-boolean                                  21.0355+-0.3147           20.9565+-0.3853        
   undefined-property-access                        481.2864+-35.6489         470.0891+-2.5143          might be 1.0238x faster
   undefined-test                                     4.3745+-0.1104     ?      4.4490+-0.2345        ? might be 1.0170x slower
   unprofiled-licm                                   27.5388+-0.4076           27.4748+-0.1885        
   weird-inlining-const-prop                          2.8548+-0.2553     ?      2.9218+-0.2291        ? might be 1.0235x slower

   <geometric>                                       10.7526+-0.0357           10.6960+-0.0345          might be 1.0053x faster

                                                         Baseline                Patch142856                                    
AsmBench:
   bigfib.cpp                                       673.3148+-15.1442    ?    674.3792+-2.8164        ?
   cray.c                                           629.0281+-9.1372          627.4612+-6.2035        
   dry.c                                            646.3357+-16.5802         646.2419+-15.4972       
   FloatMM.c                                        953.9269+-13.8584         952.0470+-8.2200        
   gcc-loops.cpp                                   5851.4734+-22.2202        5828.3570+-26.2587       
   n-body.c                                        1668.7390+-4.4378         1667.9125+-3.8347        
   Quicksort.c                                      585.4517+-4.9324          580.6700+-7.6024        
   stepanov_container.cpp                          4873.6785+-89.2211        4863.5402+-90.8688       
   Towers.c                                         387.1040+-3.2645          385.5383+-2.1221        

   <geometric>                                     1121.8935+-4.1360         1119.1886+-2.2139          might be 1.0024x faster

                                                         Baseline                Patch142856                                    
CompressionBench:
   huffman                                          503.0800+-2.6749     ?    505.7860+-7.4610        ?
   arithmetic-simple                                543.7073+-13.2044         542.8367+-11.2065       
   arithmetic-precise                               407.2880+-6.2167     ?    408.5792+-2.2626        ?
   arithmetic-complex-precise                       405.8737+-1.1994     ?    408.6630+-7.6763        ?
   arithmetic-precise-order-0                       584.5302+-3.6181          579.4248+-9.1301        
   arithmetic-precise-order-1                       438.3833+-6.0009     ?    438.9636+-5.0822        ?
   arithmetic-precise-order-2                       503.6868+-6.6578          503.0383+-1.5382        
   arithmetic-simple-order-1                        548.9152+-9.9454          547.6614+-4.3438        
   arithmetic-simple-order-2                        621.1330+-19.0724         613.5735+-3.8573          might be 1.0123x faster
   lz-string                                        423.4074+-8.4219          421.6445+-8.0517        

   <geometric>                                      492.6516+-2.8898          491.9843+-1.2050          might be 1.0014x faster

                                                         Baseline                Patch142856                                    

                                                         Baseline                Patch142856                                    
Geomean of preferred means:
   <scaled-result>                                   86.0506+-0.1896           85.7848+-0.4284          might be 1.0031x faster
Comment 8 Build Bot 2015-03-23 17:24:48 PDT
Comment on attachment 249299 [details]
Patch

Attachment 249299 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/6344458773725184

New failing tests:
http/tests/security/cross-frame-access-enumeration.html
Comment 9 Build Bot 2015-03-23 17:24:50 PDT
Created attachment 249301 [details]
Archive of layout-test-results from ews100 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews100  Port: mac-mavericks  Platform: Mac OS X 10.9.5
Comment 10 Michael Saboff 2015-03-23 17:29:10 PDT
(In reply to comment #9)
> Created attachment 249301 [details]
> Archive of layout-test-results from ews100 for mac-mavericks
> 
> The attached test failures were seen while running run-webkit-tests on the
> mac-ews.
> Bot: ews100  Port: mac-mavericks  Platform: Mac OS X 10.9.5

Looking at the test failure locally.
Comment 11 Michael Saboff 2015-03-24 03:06:01 PDT
Committed r181891: <http://trac.webkit.org/changeset/181891>