<?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>102852</bug_id>
          
          <creation_ts>2012-11-20 16:50:22 -0800</creation_ts>
          <short_desc>[V8] 7% regression in dromaeo_domcorequery/dom_query_getElementsByTagName__not_in_document</short_desc>
          <delta_ts>2012-11-23 13:49:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ojan</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>772294</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-11-20 16:50:22 -0800</bug_when>
    <thetext>http://build.chromium.org/f/chromium/perf/chromium-rel-win7-webkit/dromaeo_domcorequery/report.html?rev=168911&amp;graph=dom_query_getElementsByTagName__not_in_document_&amp;history=50

Regression range looks to be: http://trac.webkit.org/log/?verbose=on&amp;rev=135212&amp;stop_rev=135193

Chromium side regression range is http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog.html?url=/trunk/src&amp;mode=html&amp;range=168612:168679, but it seems unlikely to me that this is a chromium-side regression.

http://trac.webkit.org/changeset/135208/ seems like the most likely culprit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772301</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-20 16:53:14 -0800</bug_when>
    <thetext>Rolling out my patch now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772306</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-20 16:55:11 -0800</bug_when>
    <thetext>The rollout has a conflict.  :*(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772313</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-20 17:07:15 -0800</bug_when>
    <thetext>I&apos;m just going to try to fix this directly rather than rolling out.  There have been a bunch of dependent patches landed already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772319</commentid>
    <comment_count>4</comment_count>
      <attachid>175310</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-20 17:18:10 -0800</bug_when>
    <thetext>Created attachment 175310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772324</commentid>
    <comment_count>5</comment_count>
      <attachid>175310</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-20 17:24:49 -0800</bug_when>
    <thetext>Comment on attachment 175310
Patch

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

Looks reasonable.

&gt; Source/WebCore/bindings/v8/DOMDataStore.cpp:65
&gt; +        V8DOMWindowShell* shell = V8DOMWindowShell::isolated(v8::Context::GetEntered());
&gt; +        if (UNLIKELY(!!shell))
&gt; +            return shell-&gt;world()-&gt;isolatedWorldDOMDataStore();

Maybe you can simplify the code by using worldForEnteredContextIfIsolated()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772326</commentid>
    <comment_count>6</comment_count>
      <attachid>175310</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-20 17:27:39 -0800</bug_when>
    <thetext>Comment on attachment 175310
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/DOMDataStore.cpp:65
&gt;&gt; +            return shell-&gt;world()-&gt;isolatedWorldDOMDataStore();
&gt; 
&gt; Maybe you can simplify the code by using worldForEnteredContextIfIsolated()?

That has an extra v8::Context::InContext() check that we don&apos;t need.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772327</commentid>
    <comment_count>7</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-20 17:28:14 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; Maybe you can simplify the code by using worldForEnteredContextIfIsolated()?
&gt; 
&gt; That has an extra v8::Context::InContext() check that we don&apos;t need.

Makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772355</commentid>
    <comment_count>8</comment_count>
      <attachid>175310</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-20 18:16:11 -0800</bug_when>
    <thetext>Comment on attachment 175310
Patch

Clearing flags on attachment: 175310

Committed r135339: &lt;http://trac.webkit.org/changeset/135339&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772356</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-20 18:16:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772499</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-20 23:14:56 -0800</bug_when>
    <thetext>That patch didn&apos;t seem to have healed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772720</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-21 02:59:50 -0800</bug_when>
    <thetext>It actually made it slightly worse.  I suspect bug 102854 is the path to salvation here, but I need to look at the profile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773114</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-21 10:49:58 -0800</bug_when>
    <thetext>As expected bug 102854 causes these functions to drop off the profile entirely.  I just need to fix the worker issue.

I&apos;m realize we&apos;re not using the normal &quot;revert and re-land approach&quot;...  We should either finish bug 102854 soon to verify that it heals the bot or we should figure out what would be involved in backing all these changes out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774694</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-23 13:49:02 -0800</bug_when>
    <thetext>Fascinating!  This bot is now healed:

http://build.chromium.org/f/chromium/perf/chromium-rel-win7-webkit/dromaeo_domcorequery/report.html?rev=169350&amp;graph=dom_query_getElementsByTagName__not_in_document_&amp;history=200

Here&apos;s what happened:

1) http://trac.webkit.org/changeset/135339 actually did fix the regression.  We didn&apos;t see the bot healed because http://trac.webkit.org/changeset/135338 introduced a new regression.

2) http://trac.webkit.org/changeset/135440 rolled out http://trac.webkit.org/changeset/135338, and we are now able to observe that the bot is indeed healed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175310</attachid>
            <date>2012-11-20 17:18:10 -0800</date>
            <delta_ts>2012-11-20 18:16:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102852-20121120171558.patch</filename>
            <type>text/plain</type>
            <size>2178</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MzM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2U4MTVlNmUwNjVmMTA0
YTc1MWFjMDU3ZTMyNjk4N2QwMDBjZmNiNC4uZDc2Yjg5ODNhZTQ1OWVjMjVjMjcyNjEzMzlmNDBl
NjIzNWM5NmFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTExLTIwICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgNyUgcmVncmVzc2lvbiBpbiBk
cm9tYWVvX2RvbWNvcmVxdWVyeS9kb21fcXVlcnlfZ2V0RWxlbWVudHNCeVRhZ05hbWVfX25vdF9p
bl9kb2N1bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAyODUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW4gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTM1MjA4Lywgd2UgbG9zdCB0
aGUgZWFybHktZXhpdAorICAgICAgICBjaGVjayBmb3Igd2hldGhlciBpc29sYXRlZFdvcmxkc0V4
aXN0KCkgaW4gdGhpcyBjb2RlIHBhdGguIFRoaXMKKyAgICAgICAgcmVncmVzc2lvbiBwb2ludHMg
dG8gYmVuY2htYXJrcyB0aGF0IHdlIGNhbiBmdXJ0aGVyIGltcHJvdmUgYnkKKyAgICAgICAgY29u
dGludWluZyB0byBtZXJnZSB0aGUgZ2VuZXJhbCBTY3JpcHRXcmFwcGFibGUgY29kZSBwYXRoIHdp
dGggdGhlIE5vZGUKKyAgICAgICAgY29kZSBwYXRoLgorCisgICAgICAgICogYmluZGluZ3Mvdjgv
RE9NRGF0YVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTURhdGFTdG9yZTo6Y3VycmVu
dCk6CisKIDIwMTItMTEtMjAgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBJbmRleGVkREI6IE1vdmUgY29udHJvbCBvZiB0cmFuc2FjdGlvbiBjb21wbGV0aW9u
IHRvIGZyb250IGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9N
RGF0YVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5j
cHAKaW5kZXggNDU2OTg3NTEzYTkzZGNkMmZjNjhjMWYzMTE0NTEwM2M2ZDc2MzZlZi4uNTg4OTdj
NzczY2VhMDdjNGQ5YWI5OWQzN2I4N2NlYjIyYjM2MTgwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9ET01EYXRhU3RvcmUuY3BwCkBAIC01NCwxMiArNTQsMTcgQEAgRE9NRGF0YVN0
b3JlOjp+RE9NRGF0YVN0b3JlKCkKIERPTURhdGFTdG9yZSogRE9NRGF0YVN0b3JlOjpjdXJyZW50
KHY4OjpJc29sYXRlKiBpc29sYXRlKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoRE9NRGF0
YVN0b3JlLCBtYWluV29ybGRET01EYXRhU3RvcmUsIChNYWluV29ybGQpKTsKKwogICAgIFY4UGVy
SXNvbGF0ZURhdGEqIGRhdGEgPSBpc29sYXRlID8gVjhQZXJJc29sYXRlRGF0YTo6ZnJvbShpc29s
YXRlKSA6IFY4UGVySXNvbGF0ZURhdGE6OmN1cnJlbnQoKTsKICAgICBpZiAoVU5MSUtFTFkoISFk
YXRhLT5kb21EYXRhU3RvcmUoKSkpCiAgICAgICAgIHJldHVybiBkYXRhLT5kb21EYXRhU3RvcmUo
KTsKLSAgICBWOERPTVdpbmRvd1NoZWxsKiBzaGVsbCA9IFY4RE9NV2luZG93U2hlbGw6Omlzb2xh
dGVkKHY4OjpDb250ZXh0OjpHZXRFbnRlcmVkKCkpOwotICAgIGlmIChVTkxJS0VMWSghIXNoZWxs
KSkKLSAgICAgICAgcmV0dXJuIHNoZWxsLT53b3JsZCgpLT5pc29sYXRlZFdvcmxkRE9NRGF0YVN0
b3JlKCk7CisKKyAgICBpZiAoRE9NV3JhcHBlcldvcmxkOjppc29sYXRlZFdvcmxkc0V4aXN0KCkp
IHsKKyAgICAgICAgVjhET01XaW5kb3dTaGVsbCogc2hlbGwgPSBWOERPTVdpbmRvd1NoZWxsOjpp
c29sYXRlZCh2ODo6Q29udGV4dDo6R2V0RW50ZXJlZCgpKTsKKyAgICAgICAgaWYgKFVOTElLRUxZ
KCEhc2hlbGwpKQorICAgICAgICAgICAgcmV0dXJuIHNoZWxsLT53b3JsZCgpLT5pc29sYXRlZFdv
cmxkRE9NRGF0YVN0b3JlKCk7CisgICAgfQorCiAgICAgcmV0dXJuICZtYWluV29ybGRET01EYXRh
U3RvcmU7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>