<?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>33584</bug_id>
          
          <creation_ts>2010-01-13 02:34:38 -0800</creation_ts>
          <short_desc>[V8] Slow named property lookup on DOMWindow because of missing fast case</short_desc>
          <delta_ts>2010-01-13 23:35:13 -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>WebCore JavaScript</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mads Ager">ager</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>180136</commentid>
    <comment_count>0</comment_count>
    <who name="Mads Ager">ager</who>
    <bug_when>2010-01-13 02:34:38 -0800</bug_when>
    <thetext>In the V8 named getter on DOMWindow objects, we always search the DOM using namedItems(propertyName) on the document.  We should check that the document is an HTMLDocument and use fast checks to determine if elements with that name exists before searching the DOM for all occurrences.

See http://crbug.com/32040 for an example where this hits us.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180138</commentid>
    <comment_count>1</comment_count>
      <attachid>46442</attachid>
    <who name="Mads Ager">ager</who>
    <bug_when>2010-01-13 02:42:53 -0800</bug_when>
    <thetext>Created attachment 46442
Add fast case checks to V8 named getter on DOMWindow objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180237</commentid>
    <comment_count>2</comment_count>
      <attachid>46442</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-01-13 08:27:38 -0800</bug_when>
    <thetext>Comment on attachment 46442
Add fast case checks to V8 named getter on DOMWindow objects.

looks great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180568</commentid>
    <comment_count>3</comment_count>
      <attachid>46442</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-13 23:35:08 -0800</bug_when>
    <thetext>Comment on attachment 46442
Add fast case checks to V8 named getter on DOMWindow objects.

Clearing flags on attachment: 46442

Committed r53241: &lt;http://trac.webkit.org/changeset/53241&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180569</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-13 23:35:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46442</attachid>
            <date>2010-01-13 02:42:53 -0800</date>
            <delta_ts>2010-01-13 23:35:07 -0800</delta_ts>
            <desc>Add fast case checks to V8 named getter on DOMWindow objects.</desc>
            <filename>named-getter.txt</filename>
            <type>text/plain</type>
            <size>2272</size>
            <attacher name="Mads Ager">ager</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzE4MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTAtMDEtMTMgIE1hZHMgQWdlciAgPGFnZXJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtWOF0g
U2xvdyBuYW1lZCBwcm9wZXJ0eSBsb29rdXAgb24gRE9NV2luZG93IGJlY2F1c2Ugb2YgbWlzc2lu
ZyBmYXN0IGNhc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTMzNTg0CisKKyAgICAgICAgQWRkIGZhc3QgY2FzZSBjaGVja3MgdG8gVjggbmFtZWQgcHJv
cGVydHkgZ2V0dGVyIG9uIERPTVdpbmRvdworICAgICAgICBvYmplY3RzLiAgSWYgdGhlIHByb3Bl
cnR5IGlzIG5vdCBpbiB0aGUgRE9NIHRoZXJlIGlzIG5vIHJlYXNvbiB0bworICAgICAgICBzZWFy
Y2ggdGhlIERPTSBmb3IgYWxsIG9jY3VycmVuY2VzLgorCisgICAgICAgIENvdmVyZWQgYnkgbGF5
b3V0IHRlc3RzLgorCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3Vz
dG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV2luZG93OjpuYW1lZFByb3BlcnR5R2V0
dGVyKToKKwogMjAxMC0wMS0xMyAgTWlpa2thIEhlaWtraW5lbiA8bWlpa2thLmhlaWtraW5lbkBk
aWdpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCkluZGV4OiBX
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCShy
ZXZpc2lvbiA1MzE4MikKKysrIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93
Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkZy
YW1lTG9hZFJlcXVlc3QuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1M
Q29sbGVjdGlvbi5oIgorI2luY2x1ZGUgIkhUTUxEb2N1bWVudC5oIgogI2luY2x1ZGUgIk1lZGlh
UGxheWVyLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU2NyZWVuLmgi
CkBAIC04MTIsMTMgKzgxMywxNCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01XaW5kb3c6
Om5hbWVkCiAgICAgLy8gU2VhcmNoIG5hbWVkIGl0ZW1zIGluIHRoZSBkb2N1bWVudC4KICAgICBE
b2N1bWVudCogZG9jID0gZnJhbWUtPmRvY3VtZW50KCk7CiAKLSAgICBpZiAoZG9jKSB7Ci0gICAg
ICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gaXRlbXMgPSBkb2MtPndpbmRvd05hbWVkSXRlbXMo
cHJvcE5hbWUpOwotICAgICAgICBpZiAoaXRlbXMtPmxlbmd0aCgpID49IDEpIHsKLSAgICAgICAg
ICAgIGlmIChpdGVtcy0+bGVuZ3RoKCkgPT0gMSkKLSAgICAgICAgICAgICAgICByZXR1cm4gVjhE
T01XcmFwcGVyOjpjb252ZXJ0Tm9kZVRvVjhPYmplY3QoaXRlbXMtPmZpcnN0SXRlbSgpKTsKLSAg
ICAgICAgICAgIGVsc2UKKyAgICBpZiAoZG9jICYmIGRvYy0+aXNIVE1MRG9jdW1lbnQoKSkgewor
ICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8SFRNTERvY3VtZW50Kj4oZG9jKS0+aGFzTmFtZWRJdGVt
KHByb3BOYW1lLmltcGwoKSkgfHwgZG9jLT5oYXNFbGVtZW50V2l0aElkKHByb3BOYW1lLmltcGwo
KSkpIHsKKyAgICAgICAgICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gaXRlbXMgPSBkb2MtPndp
bmRvd05hbWVkSXRlbXMocHJvcE5hbWUpOworICAgICAgICAgICAgaWYgKGl0ZW1zLT5sZW5ndGgo
KSA+PSAxKSB7CisgICAgICAgICAgICAgICAgaWYgKGl0ZW1zLT5sZW5ndGgoKSA9PSAxKQorICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gVjhET01XcmFwcGVyOjpjb252ZXJ0Tm9kZVRvVjhPYmpl
Y3QoaXRlbXMtPmZpcnN0SXRlbSgpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gVjhET01XcmFw
cGVyOjpjb252ZXJ0VG9WOE9iamVjdChWOENsYXNzSW5kZXg6OkhUTUxDT0xMRUNUSU9OLCBpdGVt
cy5yZWxlYXNlKCkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>