<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>56128</bug_id>
          
          <creation_ts>2011-03-10 11:52:32 -0800</creation_ts>
          <short_desc>REGRESSION (r80052): ~25% regression on v8-splay in-browser</short_desc>
          <delta_ts>2011-03-29 14:50:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>365382</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-10 11:52:32 -0800</bug_when>
    <thetext>Stephanie measured a ~25% regression on v8-splay, caused by http://trac.webkit.org/changeset/80052.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365498</commentid>
    <comment_count>1</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-10 13:47:47 -0800</bug_when>
    <thetext>This regression is measurable in the SunSpider harness but not the v8 harness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365543</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-10 14:34:43 -0800</bug_when>
    <thetext>The extra time is in a kernel call:
	0.1%	18.3%	mach_kernel	thread_setuserstack</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365736</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-10 18:56:24 -0800</bug_when>
    <thetext>thread_setuserstack seems to be a mis-symbolication by Shark. Really, this is the vm_map kernel trap.

The extra calls to vm_map occur because the block size is now 8KB instead of 256KB, so we&apos;re making more kernel calls to map in a large heap.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365737</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-10 18:57:43 -0800</bug_when>
    <thetext>I meant to say the block size is now 16KB.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>365785</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-10 20:11:55 -0800</bug_when>
    <thetext>Since this regression only shows up in the SunSpider harness, I don&apos;t think it&apos;s worth fixing. Running the v8 tests through the SunSpider harness is a Frankensteinian configuration.

In this case, what you see is the cost of constructing an 8000 node data structure and then performing only 80 modifications of it. Here, initial heap growth dominates everything else in the benchmark.

In the real v8 benchmark, the orders of magnitude are reversed, and there are orders of magnitude more modification operations than initial setup operations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372525</commentid>
    <comment_count>6</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2011-03-23 16:23:46 -0700</bug_when>
    <thetext>Reopening because the regression also occurred testing in browser</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372527</commentid>
    <comment_count>7</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2011-03-23 16:25:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/9099476&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375730</commentid>
    <comment_count>8</comment_count>
      <attachid>87406</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-29 13:59:47 -0700</bug_when>
    <thetext>Created attachment 87406
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375736</commentid>
    <comment_count>9</comment_count>
      <attachid>87406</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-29 14:04:00 -0700</bug_when>
    <thetext>Comment on attachment 87406
Patch

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

&gt; Source/JavaScriptCore/runtime/Heap.cpp:386
&gt; -    size_t proportionalBytes = static_cast&lt;size_t&gt;(1.5 * m_markedSpace.size());
&gt; +    size_t proportionalBytes = 2 * m_markedSpace.size();

It’s unclear where the constant 2 comes from. Your comments in change log talk about 1X vs. .5X so there is obviously something going on here that I just can’t spot. A comment explaining what we are accomplishing by multiplying by 2 and why 2 is the right value could be quite helpful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>375779</commentid>
    <comment_count>10</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-03-29 14:50:56 -0700</bug_when>
    <thetext>Committed r82327: &lt;http://trac.webkit.org/changeset/82327&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87406</attachid>
            <date>2011-03-29 13:59:47 -0700</date>
            <delta_ts>2011-03-29 14:04:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-56128-20110329135946.patch</filename>
            <type>text/plain</type>
            <size>1679</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODIzMTIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTEtMDMtMjkgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB+MjUlIHJlZ3Jlc3Npb24g
b24gdjgtc3BsYXkgaW4gdGhlIFN1blNwaWRlciBoYXJuZXNzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjEyOAorICAgICAgICAKKyAgICAgICAgSSdt
IG5vdCBzdXJlIGlmIHRoaXMgaXMgdGhlIHJvb3QgY2F1c2Ugb2YgdGhlIHJlZ3Jlc3Npb24gU3Rl
cGhhbmllCisgICAgICAgIG1lYXN1cmVkLCBidXQgaXQgc2VlbXMgdG8gZ2V0IHVzIGJhY2sgdG8g
cHJldmlvdXMgdjgtc3BsYXkgdGltZXMuCisgICAgICAgIAorICAgICAgICBTdW5TcGlkZXIgcmVw
b3J0cyBubyBjaGFuZ2UuIHY4LXNwbGF5IHNheXMgNDElIGZhc3Rlci4KKworICAgICAgICAqIHJ1
bnRpbWUvSGVhcC5jcHA6CisgICAgICAgIChKU0M6OkhlYXA6OnJlc2V0KTogTWFrZSBtYXJraW5n
IHByb3BvcnRpb25hbCB0byAxWCB0aGUgc2l6ZSBvZiB0aGUgaGVhcCwKKyAgICAgICAgbm90IC41
WCB0aGUgc2l6ZSBvZiB0aGUgaGVhcC4gV2hlbiB0aGUgaGVhcCBpcyBsYXJnZSwgdGhpcyBtYWtl
cyBhIGJpZworICAgICAgICBkaWZmZXJlbmNlLiAoT3VyIG9sZCBoZWFwIGdyb3d0aCBwb2xpY3kg
bWF0Y2hlZCB0aGlzLiBZb3UgY2FuIHNlZSBieQorICAgICAgICBsb29raW5nIGF0IHJlc2l6ZUJs
b2NrcyBpbiByZXZpc2lvbnMgcHJpb3IgdG8gcjc3Njk5LikKKwogMjAxMS0wMy0yOSAgU3RldmUg
RmFsa2VuYnVyZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGVhcC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGVhcC5jcHAJKHJl
dmlzaW9uIDgyMzExKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGVhcC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM4Myw3ICszODMsNyBAQCB2b2lkIEhlYXA6OnJlc2V0KFN3ZWVw
VG9nZ2xlIHN3ZWVwVG9nZ2xlCiAgICAgICAgIG1fbWFya2VkU3BhY2Uuc2hyaW5rKCk7CiAgICAg
fQogCi0gICAgc2l6ZV90IHByb3BvcnRpb25hbEJ5dGVzID0gc3RhdGljX2Nhc3Q8c2l6ZV90Pigx
LjUgKiBtX21hcmtlZFNwYWNlLnNpemUoKSk7CisgICAgc2l6ZV90IHByb3BvcnRpb25hbEJ5dGVz
ID0gMiAqIG1fbWFya2VkU3BhY2Uuc2l6ZSgpOwogICAgIG1fbWFya2VkU3BhY2Uuc2V0SGlnaFdh
dGVyTWFyayhtYXgocHJvcG9ydGlvbmFsQnl0ZXMsIG1pbkJ5dGVzUGVyQ3ljbGUpKTsKIAogICAg
IEpBVkFTQ1JJUFRDT1JFX0dDX0VORCgpOwo=
</data>
<flag name="review"
          id="79838"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>