Bug 122014

Summary: Pass VM instead of ExecState to JSFunction constructors.
Product: WebKit Reporter: Andreas Kling <kling>
Component: JavaScriptCoreAssignee: Andreas Kling <kling>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, ggaren, kling, webkit-ews
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
webkit-ews: commit-queue-
Patch none

Description Andreas Kling 2013-09-27 08:16:43 PDT
Reduce loads.
Comment 1 Andreas Kling 2013-09-27 08:17:13 PDT
Created attachment 212810 [details]
Patch
Comment 2 Andreas Kling 2013-09-27 08:18:04 PDT
Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, and JSRegress on foie (MacBookPro10,1).

VMs tested:
"TipOfTree" at /Users/akling/Source/Safari/Reference-OpenSource/WebKitBuild/Release/jsc
"MyChanges" at /Users/akling/Source/Safari/OpenSource/WebKitBuild/Release/jsc

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

                                                        TipOfTree                 MyChanges                                     
SunSpider:
   3d-cube                                            9.3472+-13.9434           5.0253+-0.3243          might be 1.8600x faster
   3d-morph                                           5.3866+-0.1576            5.3749+-0.3220        
   3d-raytrace                                       10.6525+-12.2035           8.3285+-7.1312          might be 1.2790x faster
   access-binary-trees                                1.3143+-0.0685     ?      2.8171+-3.8745        ? might be 2.1435x slower
   access-fannkuch                                    5.0945+-0.3320     ?      5.1724+-0.6533        ? might be 1.0153x slower
   access-nbody                                       3.4172+-2.3825     ?      5.7205+-10.1145       ? might be 1.6740x slower
   access-nsieve                                      4.7425+-4.6733            3.8027+-2.1038          might be 1.2471x faster
   bitops-3bit-bits-in-byte                           1.3922+-0.0809     ?      2.8517+-4.6393        ? might be 2.0484x slower
   bitops-bits-in-byte                                3.3973+-4.8202            2.9750+-2.1531          might be 1.1419x faster
   bitops-bitwise-and                                 1.9396+-0.0454     ?      2.0618+-0.4735        ? might be 1.0630x slower
   bitops-nsieve-bits                                 3.0155+-0.1677     ?      3.1001+-0.3382        ? might be 1.0281x slower
   controlflow-recursive                              1.8907+-0.0721     ?      1.9141+-0.0395        ? might be 1.0123x slower
   crypto-aes                                         3.9888+-0.7400            3.7175+-0.1988          might be 1.0730x faster
   crypto-md5                                         8.4955+-15.4017           2.3129+-0.1277          might be 3.6730x faster
   crypto-sha1                                        2.0855+-0.0845            2.0673+-0.0959        
   date-format-tofte                                  7.5251+-0.6961     ?      8.5555+-3.1874        ? might be 1.1369x slower
   date-format-xparb                                  5.2574+-0.0244            5.2260+-0.3625        
   math-cordic                                        3.7679+-2.8712            2.8483+-0.2966          might be 1.3229x faster
   math-partial-sums                                  5.4500+-0.3130     ?      5.5041+-0.4070        ?
   math-spectral-norm                                 1.7902+-0.2745            1.7181+-0.1362          might be 1.0420x faster
   regexp-dna                                         8.5304+-2.2514     ?      9.2183+-2.8149        ? might be 1.0806x slower
   string-base64                                      3.5345+-0.0460     ?      4.6428+-3.5985        ? might be 1.3136x slower
   string-fasta                                      10.9028+-0.3204     ?     11.4647+-0.5432        ? might be 1.0515x slower
   string-tagcloud                                   10.5803+-1.0605     ?     10.6290+-2.1171        ?
   string-unpack-code                                32.4233+-34.4413          28.7372+-19.2639         might be 1.1283x faster
   string-validate-input                              5.8246+-4.8646            4.2230+-0.2726          might be 1.3792x faster

   <arithmetic> *                                     6.2210+-1.4682            5.7696+-1.4429          might be 1.0782x faster
   <geometric>                                        4.3591+-0.2211            4.3026+-0.5907          might be 1.0131x faster
   <harmonic>                                         3.3637+-0.1450     ?      3.4517+-0.3783        ? might be 1.0262x slower

                                                        TipOfTree                 MyChanges                                     
LongSpider:
   3d-cube                                         1718.9222+-1291.1681      1303.6224+-56.6959         might be 1.3186x faster
   3d-morph                                         877.0229+-2.4270     ?    934.5154+-164.0631      ? might be 1.0656x slower
   3d-raytrace                                      943.1622+-41.4520         942.2931+-6.0612        
   access-binary-trees                             1361.6880+-23.7187    ?   1812.7375+-1459.7898     ? might be 1.3312x slower
   access-fannkuch                                  657.0110+-484.7672        403.7645+-29.4343         might be 1.6272x faster
   access-nbody                                     833.6365+-6.0221          831.8196+-4.7045        
   access-nsieve                                   1000.1458+-6.7917     ?   1281.4214+-912.9103      ? might be 1.2812x slower
   bitops-3bit-bits-in-byte                          98.3940+-2.2356     ?    112.6668+-38.7037       ? might be 1.1451x slower
   bitops-bits-in-byte                              115.7230+-4.0457          114.6715+-7.7181        
   bitops-nsieve-bits                               702.5143+-3.5885     ?   1149.9946+-1409.9035     ? might be 1.6370x slower
   controlflow-recursive                            784.8937+-5.9199          782.7590+-5.2400        
   crypto-aes                                      1045.0414+-11.1084    ?   1054.5512+-20.8716       ?
   crypto-md5                                       802.3290+-4.8630     ?    808.5880+-7.1292        ?
   crypto-sha1                                     1077.6954+-6.1834         1075.3288+-4.8829        
   date-format-tofte                               1101.0051+-1243.3300       722.0864+-21.2222         might be 1.5248x faster
   date-format-xparb                                908.6360+-53.5123         876.1206+-34.9716         might be 1.0371x faster
   math-cordic                                     1513.3845+-1362.2803      1083.4738+-4.7176          might be 1.3968x faster
   math-partial-sums                                670.6040+-4.4702     ?    674.3058+-4.6569        ?
   math-spectral-norm                               917.5245+-6.1833          917.4315+-3.4888        
   string-base64                                    333.4020+-3.2205     ?    433.0997+-307.6217      ? might be 1.2990x slower
   string-fasta                                    1059.4246+-36.7109    ?   1493.6397+-1397.0020     ? might be 1.4099x slower
   string-tagcloud                                  337.6733+-341.0912        229.2418+-5.9592          might be 1.4730x faster

   <arithmetic>                                     857.2652+-86.4051    ?    865.3697+-146.0628      ? might be 1.0095x slower
   <geometric> *                                    700.7855+-34.8488         698.6368+-62.9325         might be 1.0031x faster
   <harmonic>                                       484.7058+-33.3464    ?    486.1853+-23.7952       ? might be 1.0031x slower

                                                        TipOfTree                 MyChanges                                     
V8Spider:
   crypto                                            50.4377+-1.4330     ?     50.5107+-1.7244        ?
   deltablue                                         68.5715+-2.7289     ?     70.8999+-2.0268        ? might be 1.0340x slower
   earley-boyer                                      43.3261+-1.7276           42.5125+-1.6819          might be 1.0191x faster
   raytrace                                          27.1795+-1.0449           27.1775+-0.6758        
   regexp                                            65.4214+-4.7825           64.5587+-1.2711          might be 1.0134x faster
   richards                                          71.3416+-1.9894           71.1442+-2.7034        
   splay                                             65.0292+-95.8248          31.6002+-1.0722          might be 2.0579x faster

   <arithmetic>                                      55.9010+-14.6887          51.2005+-0.3995          might be 1.0918x faster
   <geometric> *                                     51.7676+-10.2987          48.1493+-0.5095          might be 1.0751x faster
   <harmonic>                                        47.9339+-7.2676           45.0307+-0.5963          might be 1.0645x faster

                                                        TipOfTree                 MyChanges                                     
Octane and V8v7:
   encrypt                                           0.27758+-0.00838          0.27561+-0.00610       
   decrypt                                           5.02711+-0.14654    ?     7.54329+-8.02926       ? might be 1.5005x slower
   deltablue                                x2       0.61479+-0.68479          0.39393+-0.00400         might be 1.5607x faster
   earley                                            0.54411+-0.02780          0.53142+-0.01043         might be 1.0239x faster
   boyer                                             6.77797+-0.34854          6.63587+-0.06046         might be 1.0214x faster
   raytrace                                 x2       2.96901+-0.06644    ?     2.98256+-0.05848       ?
   regexp                                   x2      20.30325+-0.29655    ?    20.54989+-0.46787       ? might be 1.0121x slower
   richards                                 x2       0.18407+-0.00159    ?     0.18588+-0.00119       ?
   splay                                    x2       0.44100+-0.01726    ?     0.81572+-1.18505       ? might be 1.8497x slower
   navier-stokes                            x2       9.46129+-7.41828          7.11676+-0.04775         might be 1.3294x faster
   closure                                           0.41064+-0.40226          0.28370+-0.00890         might be 1.4475x faster
   jquery                                            3.85331+-0.01197    ?     3.86839+-0.03103       ?
   gbemu                                    x2      63.36653+-1.08348         63.01473+-0.51193       
   mandreel                                 x2     114.02652+-0.40925    ?   168.83020+-174.68996     ? might be 1.4806x slower
   pdfjs                                    x2      61.16455+-0.37934    ?    96.10783+-113.68387     ? might be 1.5713x slower
   box2d                                    x2      22.46511+-0.44411    ?    22.52301+-0.73461       ?

V8v7:
   <arithmetic>                                      5.03585+-0.92401          4.94223+-0.47828         might be 1.0189x faster
   <geometric> *                                     1.64165+-0.19238    ?     1.64290+-0.23487       ? might be 1.0008x slower
   <harmonic>                                        0.60903+-0.06556    ?     0.60911+-0.06745       ? might be 1.0001x slower

Octane including V8v7:
   <arithmetic>                                     23.34165+-0.60849    ?    30.16074+-13.30415      ? might be 1.2921x slower
   <geometric> *                                     4.74740+-0.42376    ?     4.91581+-0.73057       ? might be 1.0355x slower
   <harmonic>                                        0.87636+-0.08046          0.86008+-0.08057         might be 1.0189x faster

                                                        TipOfTree                 MyChanges                                     
Kraken:
   ai-astar                                          244.097+-3.208      ?     489.589+-456.833       ? might be 2.0057x slower
   audio-beat-detection                              150.635+-2.835            150.508+-2.013         
   audio-dft                                         222.827+-6.181      ?     225.345+-9.066         ? might be 1.0113x slower
   audio-fft                                          89.509+-3.618             87.530+-1.608           might be 1.0226x faster
   audio-oscillator                                  169.696+-13.359     ?     234.385+-214.661       ? might be 1.3812x slower
   imaging-darkroom                                  179.706+-3.456      ?     180.611+-3.484         ?
   imaging-desaturate                                 90.330+-1.683             89.292+-0.793           might be 1.0116x faster
   imaging-gaussian-blur                             240.174+-5.963      ?     455.966+-400.032       ? might be 1.8985x slower
   json-parse-financial                               65.529+-53.808            47.451+-1.202           might be 1.3810x faster
   json-stringify-tinderbox                           89.500+-66.829            62.817+-2.271           might be 1.4248x faster
   stanford-crypto-aes                                56.721+-2.360      ?      56.985+-4.022         ?
   stanford-crypto-ccm                                65.617+-0.897      ?      67.065+-2.045         ? might be 1.0221x slower
   stanford-crypto-pbkdf2                            159.772+-4.764      ?     161.490+-4.458         ? might be 1.0108x slower
   stanford-crypto-sha256-iterative                   76.896+-52.282            59.301+-2.808           might be 1.2967x faster

   <arithmetic> *                                    135.786+-8.372      ?     169.167+-43.835        ? might be 1.2458x slower
   <geometric>                                       118.495+-11.044     ?     123.495+-13.501        ? might be 1.0422x slower
   <harmonic>                                        102.699+-12.077            98.316+-3.837           might be 1.0446x faster

                                                        TipOfTree                 MyChanges                                     
JSRegress:
   adapt-to-double-divide                            20.6990+-6.6817           19.8498+-3.2009          might be 1.0428x faster
   aliased-arguments-getbyval                         0.6405+-0.0375     ?      0.6802+-0.1647        ? might be 1.0620x slower
   allocate-big-object                                1.9130+-0.4964     ?      2.5060+-2.0144        ? might be 1.3100x slower
   arity-mismatch-inlining                            0.9487+-0.6067     ?      3.1493+-8.0617        ? might be 3.3195x slower
   array-access-polymorphic-structure                 4.1438+-0.2412            4.0826+-0.2839          might be 1.0150x faster
   array-nonarray-polymorhpic-access                 40.9915+-1.9808           40.4705+-1.9541          might be 1.0129x faster
   array-with-double-add                              3.7920+-0.0697     ?      5.5560+-5.7496        ? might be 1.4652x slower
   array-with-double-increment                        3.8832+-2.6847            3.0014+-0.0420          might be 1.2938x faster
   array-with-double-mul-add                          4.1533+-0.2362            4.1249+-0.2831        
   array-with-double-sum                              3.9352+-0.1448     ?      3.9738+-0.0911        ?
   array-with-int32-add-sub                           6.7586+-1.9335            6.0997+-0.2561          might be 1.1080x faster
   array-with-int32-or-double-sum                     4.0321+-0.0726            3.9758+-0.0561          might be 1.0142x faster
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     98.2664+-77.0915          71.5214+-2.7551          might be 1.3739x faster
   ArrayBuffer-DataView-alloc-long-lived             22.3811+-3.5265           20.7937+-1.0048          might be 1.0763x faster
   ArrayBuffer-Int32Array-byteOffset                  5.5186+-0.7145     ?      5.6244+-1.6797        ? might be 1.0192x slower
   ArrayBuffer-Int8Array-alloc-huge-long-lived   
                                                    139.2838+-0.8895     ?    178.4119+-120.5442      ? might be 1.2809x slower
   ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented   
                                                    102.2684+-4.7584          102.2105+-3.8869        
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     70.7495+-2.1804     ?     73.6796+-4.1036        ? might be 1.0414x slower
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     45.5273+-49.4189          31.7909+-3.3937          might be 1.4321x faster
   ArrayBuffer-Int8Array-alloc-long-lived            20.0408+-1.5862     ?     20.5677+-2.0794        ? might be 1.0263x slower
   ArrayBuffer-Int8Array-alloc                       17.4260+-1.2891     ?     19.4958+-2.2580        ? might be 1.1188x slower
   basic-set                                         15.3508+-1.5422     ?     21.5428+-16.4404       ? might be 1.4034x slower
   big-int-mul                                        4.5758+-2.6048            3.8167+-0.6387          might be 1.1989x faster
   boolean-test                                       2.9072+-0.2158     ?      3.5596+-1.3283        ? might be 1.2244x slower
   branch-fold                                        3.5736+-0.2011            3.5730+-0.0754        
   cast-int-to-double                                10.7380+-2.5064           10.0126+-0.5759          might be 1.0725x faster
   cell-argument                                     10.5763+-0.8371     ?     13.3927+-6.4338        ? might be 1.2663x slower
   cfg-simplify                                       2.7135+-0.0879     ?      3.3182+-1.2209        ? might be 1.2229x slower
   cmpeq-obj-to-obj-other                            10.9337+-7.9571            8.9835+-2.7179          might be 1.2171x faster
   constant-test                                      4.5582+-0.1686     ?      7.6228+-9.6140        ? might be 1.6723x slower
   DataView-custom-properties                        85.7265+-2.6780     ?    125.2892+-122.1852      ? might be 1.4615x slower
   delay-tear-off-arguments-strictmode                5.9188+-11.3676           2.3190+-0.0799          might be 2.5523x faster
   destructuring-arguments-length                   110.3345+-3.1964     ?    169.2442+-173.5326      ? might be 1.5339x slower
   destructuring-arguments                           10.3676+-8.1725            4.8420+-0.2895          might be 2.1412x faster
   destructuring-swap                                 4.5865+-0.0884     ?      6.9927+-4.8060        ? might be 1.5246x slower
   direct-arguments-getbyval                          0.6429+-0.3059            0.5512+-0.0477          might be 1.1664x faster
   double-pollution-getbyval                          9.8776+-2.5217     ?     10.5212+-2.2720        ? might be 1.0652x slower
   double-pollution-putbyoffset                       3.7220+-0.0936     ?      7.6749+-12.2475       ? might be 2.0620x slower
   empty-string-plus-int                              8.1100+-2.1315     ?     10.3573+-7.0587        ? might be 1.2771x slower
   emscripten-cube2hash                              37.1764+-1.6473           36.0392+-3.1891          might be 1.0316x faster
   emscripten-memops                               6984.0421+-4733.7433  ?   7041.8683+-4909.3910     ?
   external-arguments-getbyval                        1.3274+-0.0935     ?      1.3470+-0.3308        ? might be 1.0148x slower
   external-arguments-putbyval                        3.5383+-2.3706            2.1492+-0.2120          might be 1.6463x faster
   Float32Array-matrix-mult                           4.3040+-0.5986     ?      6.0512+-6.3572        ? might be 1.4059x slower
   Float32Array-to-Float64Array-set                  78.7322+-71.8726          55.9270+-1.4655          might be 1.4078x faster
   Float64Array-alloc-long-lived                     74.5980+-0.8148     ?     74.7700+-3.8579        ?
   Float64Array-to-Int16Array-set                    78.4774+-2.2410           75.6718+-2.3580          might be 1.0371x faster
   fold-double-to-int                                15.9655+-0.1866     ?     21.5637+-18.1420       ? might be 1.3506x slower
   function-dot-apply                                 2.0460+-0.0648            2.0425+-0.0401        
   function-test                                      3.3615+-0.4212            3.2417+-0.2628          might be 1.0369x faster
   get-by-id-chain-from-try-block                     4.4647+-0.5806            4.2341+-0.1009          might be 1.0545x faster
   get-by-id-proto-or-self                           15.9171+-3.8344           15.0781+-1.2572          might be 1.0556x faster
   get-by-id-self-or-proto                           22.7107+-13.8571          16.5837+-2.3266          might be 1.3695x faster
   get_callee_monomorphic                             3.0363+-0.9587     ?      3.2577+-0.6575        ? might be 1.0729x slower
   get_callee_polymorphic                             3.1432+-0.4214            3.0914+-0.2885          might be 1.0168x faster
   HashMap-put-get-iterate-keys                      70.9123+-47.6336          29.9738+-2.0086          might be 2.3658x faster
   HashMap-put-get-iterate                           38.6280+-6.6072     ?     53.2155+-48.7097       ? might be 1.3776x slower
   HashMap-string-put-get-iterate                    36.4945+-3.8431     ?     53.1380+-61.8361       ? might be 1.4561x slower
   imul-double-only                                  17.6739+-13.6100          11.2939+-0.1458          might be 1.5649x faster
   imul-int-only                                     18.0653+-7.5970           10.8326+-0.3971          might be 1.6677x faster
   imul-mixed                                        14.5227+-0.3106           13.9525+-0.4707          might be 1.0409x faster
   in-four-cases                                     18.6220+-2.4096     ?     18.9487+-2.6916        ? might be 1.0175x slower
   in-one-case-false                                  8.2654+-0.2971     ?     13.9994+-10.9472       ? might be 1.6937x slower
   in-one-case-true                                   8.5864+-0.6562            8.4122+-0.7520          might be 1.0207x faster
   in-two-cases                                      12.2725+-8.5231            9.4532+-2.3723          might be 1.2982x faster
   indexed-properties-in-objects                      2.7762+-0.2299            2.6912+-0.0561          might be 1.0316x faster
   inline-arguments-access                            1.0420+-0.1842     ?      1.2156+-0.7727        ? might be 1.1666x slower
   inline-arguments-local-escape                     16.6642+-6.3087     ?     19.0667+-13.9657       ? might be 1.1442x slower
   inline-get-scoped-var                              4.5544+-0.1566     ?      4.6655+-0.2157        ? might be 1.0244x slower
   inlined-put-by-id-transition                       9.1766+-1.2485            9.1713+-0.7292        
   int-or-other-abs-then-get-by-val                  10.5945+-14.2057           6.1380+-0.2961          might be 1.7261x faster
   int-or-other-abs-zero-then-get-by-val             30.2382+-21.9327          29.3932+-24.2506         might be 1.0287x faster
   int-or-other-add-then-get-by-val                   8.4853+-2.3445     ?     16.5905+-18.8886       ? might be 1.9552x slower
   int-or-other-add                                   6.7538+-0.1138     ?      6.9496+-0.3808        ? might be 1.0290x slower
   int-or-other-div-then-get-by-val                   8.9090+-12.5192           5.2907+-1.5357          might be 1.6839x faster
   int-or-other-max-then-get-by-val                   7.5092+-5.3628            6.1818+-1.6597          might be 1.2147x faster
   int-or-other-min-then-get-by-val                   5.4529+-0.1074     ?      7.7537+-6.8144        ? might be 1.4219x slower
   int-or-other-mod-then-get-by-val                   5.6345+-4.0849            4.2989+-0.1770          might be 1.3107x faster
   int-or-other-mul-then-get-by-val                   8.3640+-9.6010            4.7368+-0.1482          might be 1.7657x faster
   int-or-other-neg-then-get-by-val                   5.5032+-0.0683     ?      7.9935+-7.6223        ? might be 1.4525x slower
   int-or-other-neg-zero-then-get-by-val             21.5283+-1.0418     ?     28.8945+-19.2080       ? might be 1.3422x slower
   int-or-other-sub-then-get-by-val                  12.4968+-13.9151           7.8954+-0.2406          might be 1.5828x faster
   int-or-other-sub                                   5.1992+-0.5756     ?      5.2021+-0.5559        ?
   int-overflow-local                                 4.3560+-0.3725     ?      4.6545+-1.4107        ? might be 1.0685x slower
   Int16Array-alloc-long-lived                       49.5058+-3.4238     ?     80.0856+-104.6722      ? might be 1.6177x slower
   Int16Array-bubble-sort-with-byteLength            24.1077+-1.1071     ?     25.0287+-2.0319        ? might be 1.0382x slower
   Int16Array-bubble-sort                            31.6137+-14.6571          25.2213+-0.8612          might be 1.2535x faster
   Int16Array-load-int-mul                            1.7518+-0.8342     ?      1.7592+-0.8171        ?
   Int16Array-to-Int32Array-set                      59.5715+-5.5618           57.8818+-3.3279          might be 1.0292x faster
   Int32Array-alloc-huge-long-lived                 222.6834+-23.8496         216.8101+-4.9194          might be 1.0271x faster
   Int32Array-alloc-huge                            392.1613+-587.4069        206.9984+-3.6786          might be 1.8945x faster
   Int32Array-alloc-large-long-lived                600.3478+-11.6471    ?    603.7789+-13.9798       ?
   Int32Array-alloc-large                            30.9295+-2.7164           29.6756+-3.1107          might be 1.0423x faster
   Int32Array-alloc-long-lived                       57.0228+-3.5529     ?     57.5266+-3.7155        ?
   Int32Array-alloc                                   2.6285+-0.0922     ?      2.9799+-1.0860        ? might be 1.1337x slower
   Int32Array-Int8Array-view-alloc                   10.0015+-1.5147     ?     10.1800+-0.5226        ? might be 1.0178x slower
   Int8Array-alloc-long-lived                        46.8987+-2.6510           46.8915+-3.5728        
   Int8Array-load-with-byteLength                     3.6740+-1.8352            3.1356+-0.1421          might be 1.1717x faster
   Int8Array-load                                     3.1700+-0.2780     ?      3.8434+-2.2041        ? might be 1.2124x slower
   integer-divide                                    10.1166+-0.5958     ?     11.0001+-2.6374        ? might be 1.0873x slower
   integer-modulo                                     1.2761+-0.0358     ?      1.3367+-0.0482        ? might be 1.0475x slower
   large-int-captured                                 5.3793+-0.3181     ?      5.5410+-1.1878        ? might be 1.0301x slower
   large-int-neg                                     16.4603+-0.4444           16.3383+-0.4610        
   large-int                                         19.1171+-13.6208          14.7272+-0.1337          might be 1.2981x faster
   lots-of-fields                                     7.9899+-0.8353            7.9304+-0.7880        
   make-indexed-storage                               3.5645+-3.3022     ?      5.6053+-9.4812        ? might be 1.5726x slower
   make-rope-cse                                      3.9715+-0.5533     ?      4.1558+-0.9261        ? might be 1.0464x slower
   marsaglia-larger-ints                             78.4684+-1.5939     ?     94.1602+-39.8757       ? might be 1.2000x slower
   marsaglia-osr-entry                               34.4904+-1.0423           34.2373+-0.7497        
   marsaglia                                        333.1118+-1.9098     ?    504.9273+-317.4763      ? might be 1.5158x slower
   method-on-number                                  18.2707+-2.8485           17.0810+-0.5708          might be 1.0697x faster
   negative-zero-divide                               0.3568+-0.3219     ?      0.3785+-0.4007        ? might be 1.0609x slower
   negative-zero-modulo                               0.2336+-0.0100     ?      0.2383+-0.0205        ? might be 1.0201x slower
   negative-zero-negate                               0.3264+-0.3210            0.3117+-0.2457          might be 1.0472x faster
   nested-function-parsing-random                   355.9452+-362.3606        243.5948+-6.6436          might be 1.4612x faster
   nested-function-parsing                           27.7247+-2.9321           27.0156+-0.7518          might be 1.0263x faster
   new-array-buffer-dead                              2.7410+-0.1190     ?      3.1140+-0.7075        ? might be 1.1361x slower
   new-array-buffer-push                              9.5637+-4.0981            8.2036+-2.9520          might be 1.1658x faster
   new-array-dead                                    23.2212+-2.9302           22.3355+-0.4540          might be 1.0397x faster
   new-array-push                                     5.1870+-0.7800     ?      5.8774+-3.8359        ? might be 1.1331x slower
   number-test                                        2.8278+-0.0887            2.7900+-0.1051          might be 1.0135x faster
   object-closure-call                               10.0200+-1.3774     ?     14.3652+-13.0049       ? might be 1.4337x slower
   object-test                                        3.0562+-0.0625     ?      3.1326+-0.1626        ? might be 1.0250x slower
   poly-stricteq                                     64.9275+-1.4593     ?     66.2157+-3.0006        ? might be 1.0198x slower
   polymorphic-structure                             15.8618+-3.1988     ?     16.1755+-2.3392        ? might be 1.0198x slower
   polyvariant-monomorphic-get-by-id                  7.4929+-0.2289     ?     10.6060+-8.5738        ? might be 1.4155x slower
   put-by-val-large-index-blank-indexing-type   
                                                      7.3464+-1.5102            7.0317+-0.9743          might be 1.0448x faster
   rare-osr-exit-on-local                            15.7310+-3.5781           15.1074+-2.5239          might be 1.0413x faster
   register-pressure-from-osr                        29.0297+-19.7953          21.5684+-0.7160          might be 1.3459x faster
   simple-activation-demo                            25.7654+-2.7956     ?     27.6981+-2.3257        ? might be 1.0750x slower
   slow-array-profile-convergence                     2.9145+-0.1348     ?      3.8748+-3.5891        ? might be 1.3295x slower
   slow-convergence                                   4.6204+-7.4211            2.3990+-0.2590          might be 1.9259x faster
   sparse-conditional                                 0.8798+-0.0353     ?      0.8995+-0.0691        ? might be 1.0225x slower
   splice-to-remove                                  44.8063+-1.7516     ?     46.5065+-2.5414        ? might be 1.0379x slower
   string-concat-object                               3.1312+-2.5544            2.1207+-0.2662          might be 1.4765x faster
   string-concat-pair-object                          2.2404+-0.7643     ?      2.3427+-0.9175        ? might be 1.0457x slower
   string-concat-pair-simple                         18.7153+-21.0709          12.0136+-2.6439          might be 1.5578x faster
   string-concat-simple                              11.4955+-0.8148     ?     11.8415+-1.8675        ? might be 1.0301x slower
   string-cons-repeat                                 7.9656+-2.0828     ?      8.7386+-1.7146        ? might be 1.0970x slower
   string-cons-tower                                  7.2178+-0.1277     ?      7.8403+-1.1001        ? might be 1.0862x slower
   string-equality                                   41.5989+-32.6261          36.7289+-21.1232         might be 1.1326x faster
   string-get-by-val-big-char                        10.3227+-3.0223            8.6458+-0.1381          might be 1.1940x faster
   string-get-by-val-out-of-bounds-insane             3.5010+-0.1071     ^      3.2801+-0.0877        ^ definitely 1.0674x faster
   string-get-by-val-out-of-bounds                    2.8215+-0.4421            2.7648+-0.3560          might be 1.0205x faster
   string-get-by-val                                  3.1537+-2.1681            2.5270+-0.2241          might be 1.2480x faster
   string-hash                                        1.8696+-0.0511            1.8480+-0.0710          might be 1.0117x faster
   string-long-ident-equality                        27.4485+-2.6576     ?     28.3350+-2.4956        ? might be 1.0323x slower
   string-repeat-arith                               59.6335+-46.8523          34.5079+-3.1104          might be 1.7281x faster
   string-sub                                        66.9100+-4.6514     ?     87.1068+-70.3288       ? might be 1.3018x slower
   string-test                                        2.6471+-0.0618     ?      2.9425+-1.0094        ? might be 1.1116x slower
   string-var-equality                               46.2640+-0.8141     ?     47.4520+-2.0795        ? might be 1.0257x slower
   structure-hoist-over-transitions                   2.0580+-0.1601     ?      2.1891+-0.5365        ? might be 1.0637x slower
   switch-char-constant                               5.0325+-7.7753            2.1282+-0.0745          might be 2.3647x faster
   switch-char                                        5.2073+-0.0799     ?      8.9323+-9.5549        ? might be 1.7154x slower
   switch-constant                                    6.6174+-1.4342     ?      6.8336+-1.4703        ? might be 1.0327x slower
   switch-string-basic-big-var                       16.8630+-3.2556           15.1873+-0.2724          might be 1.1103x faster
   switch-string-basic-big                           14.6104+-0.5951     ?     14.6866+-0.2014        ?
   switch-string-basic-var                           14.8495+-0.2594     ?     26.2360+-22.0155       ? might be 1.7668x slower
   switch-string-basic                               14.4147+-3.1113           13.3022+-0.2585          might be 1.0836x faster
   switch-string-big-length-tower-var                21.4165+-2.8717           20.7491+-0.3713          might be 1.0322x faster
   switch-string-length-tower-var                    15.5912+-0.5848     ?     15.7552+-0.4924        ? might be 1.0105x slower
   switch-string-length-tower                        13.1096+-0.0791     ?     13.8777+-1.1934        ? might be 1.0586x slower
   switch-string-short                               17.3286+-12.2146          14.3845+-2.6691          might be 1.2047x faster
   switch                                            10.1392+-1.7536            9.4310+-0.7885          might be 1.0751x faster
   tear-off-arguments-simple                          1.6044+-0.3430            1.5409+-0.3616          might be 1.0412x faster
   tear-off-arguments                                 2.3338+-0.1013     ?      3.0005+-2.0953        ? might be 1.2857x slower
   temporal-structure                                17.9276+-0.2123     ?     17.9410+-0.2507        ?
   to-int32-boolean                                  16.2933+-8.4522           15.0038+-3.1745          might be 1.0859x faster
   undefined-test                                     3.3384+-1.6161     ?      4.0439+-2.2089        ? might be 1.2114x slower

   <arithmetic>                                      70.5280+-26.6187    ?     70.6783+-26.9943       ? might be 1.0021x slower
   <geometric> *                                     10.2939+-0.3807           10.2552+-0.2055          might be 1.0038x faster
   <harmonic>                                         3.8970+-0.3769            3.8901+-0.2103          might be 1.0018x faster

                                                        TipOfTree                 MyChanges                                     
All benchmarks:
   <arithmetic>                                     128.1818+-13.7919    ?    131.2261+-21.9190       ? might be 1.0237x slower
   <geometric>                                       14.7962+-0.3331           14.7888+-0.4233          might be 1.0005x faster
   <harmonic>                                         3.2531+-0.2462            3.2343+-0.1710          might be 1.0058x faster

                                                        TipOfTree                 MyChanges                                     
Geomean of preferred means:
   <scaled-result>                                   33.7438+-1.3296     ?     34.2913+-2.8024        ? might be 1.0162x slower
Comment 3 Early Warning System Bot 2013-09-27 08:32:48 PDT
Comment on attachment 212810 [details]
Patch

Attachment 212810 [details] did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/2668053
Comment 4 Andreas Kling 2013-09-27 09:30:38 PDT
Created attachment 212814 [details]
Patch
Comment 5 Geoffrey Garen 2013-09-27 20:18:06 PDT
Comment on attachment 212814 [details]
Patch

Patch looks good.

Your performance test results have some crazy high variance in them. Did you kill all background apps while you tested, or were you gossiping with Anders the whole time?
Comment 6 Andreas Kling 2013-09-28 06:27:11 PDT
(In reply to comment #5)
> (From update of attachment 212814 [details])
> Patch looks good.
> 
> Your performance test results have some crazy high variance in them. Did you kill all background apps while you tested, or were you gossiping with Anders the whole time?

Due to rule #1 of Sweden Club, my answer is: Uh.. Steam update was running. :(
Comment 7 WebKit Commit Bot 2013-09-28 07:14:11 PDT
Comment on attachment 212814 [details]
Patch

Clearing flags on attachment: 212814

Committed r156602: <http://trac.webkit.org/changeset/156602>
Comment 8 WebKit Commit Bot 2013-09-28 07:14:14 PDT
All reviewed patches have been landed.  Closing bug.