<?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>21014</bug_id>
          
          <creation_ts>2008-09-22 19:12:07 -0700</creation_ts>
          <short_desc>Speed up for..in by using StructureID to avoid call hasProperty</short_desc>
          <delta_ts>2008-09-22 19:44:37 -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>Mac</rep_platform>
          <op_sys>All</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="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>92257</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-09-22 19:12:07 -0700</bug_when>
    <thetext>Patch forthcoming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92258</commentid>
    <comment_count>1</comment_count>
      <attachid>23689</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-09-22 19:14:37 -0700</bug_when>
    <thetext>Created attachment 23689
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92259</commentid>
    <comment_count>2</comment_count>
      <attachid>23689</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-09-22 19:19:15 -0700</bug_when>
    <thetext>Comment on attachment 23689
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92265</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-09-22 19:44:37 -0700</bug_when>
    <thetext>Fixed in r36789.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23689</attachid>
            <date>2008-09-22 19:14:37 -0700</date>
            <delta_ts>2008-09-22 19:19:15 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>6052</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM2Nzg4
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDgtMDkt
MjIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMDE0CisgICAgICAgIFNwZWVkIHVwIGZvci4uaW4gYnkgdXNp
bmcgU3RydWN0dXJlSUQgdG8gYXZvaWQgY2FsbCBoYXNQcm9wZXJ0eQorCisgICAgICAgIFNwZWVk
cyB1cCBmYXN0YSBieSA4JS4KKworICAgICAgICAqIFZNL0pTUHJvcGVydHlOYW1lSXRlcmF0b3Iu
Y3BwOgorICAgICAgICAoSlNDOjpKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yOjppbnZhbGlkYXRlKToK
KyAgICAgICAgKiBWTS9KU1Byb3BlcnR5TmFtZUl0ZXJhdG9yLmg6CisgICAgICAgIChKU0M6OkpT
UHJvcGVydHlOYW1lSXRlcmF0b3I6Om5leHQpOgorICAgICAgICAqIGtqcy9Qcm9wZXJ0eU5hbWVB
cnJheS5oOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eU5hbWVBcnJheURhdGE6OmJlZ2luKToKKyAg
ICAgICAgKEpTQzo6UHJvcGVydHlOYW1lQXJyYXlEYXRhOjplbmQpOgorICAgICAgICAoSlNDOjpQ
cm9wZXJ0eU5hbWVBcnJheURhdGE6OnNldENhY2hlZFN0cnVjdHVyZUlEKToKKyAgICAgICAgKEpT
Qzo6UHJvcGVydHlOYW1lQXJyYXlEYXRhOjpjYWNoZWRTdHJ1Y3R1cmVJRCk6CisgICAgICAgICog
a2pzL1N0cnVjdHVyZUlELmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlSUQ6OmdldEVudW1l
cmFibGVQcm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKEpTQzo6c3RydWN0dXJlSURDaGFpbnNBcmVF
cXVhbCk6CisgICAgICAgICoga2pzL1N0cnVjdHVyZUlELmg6CisKIDIwMDgtMDktMjIgIEtlbHZp
biBTaGVybG9jayAgPGtzaGVybG9ja0BnbWFpbC5jb20+CiAKICAgICAgICAgVXBkYXRlZCBhbmQg
dHdlYWtlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogVk0vSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVk0vSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5jcHAJKHJldmlzaW9u
IDM2NzgzKQorKysgVk0vSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTgyLDYgKzgyLDcgQEAgdm9pZCBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yOjptYXJrKCkKIAog
dm9pZCBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yOjppbnZhbGlkYXRlKCkKIHsKKyAgICBBU1NFUlQo
bV9wb3NpdGlvbiA9PSBtX2VuZCk7CiAgICAgbV9vYmplY3QgPSAwOwogICAgIG1fZGF0YS5jbGVh
cigpOwogfQpJbmRleDogVk0vSlNQcm9wZXJ0eU5hbWVJdGVyYXRvci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFZNL0pTUHJvcGVydHlOYW1lSXRlcmF0b3IuaAkocmV2aXNpb24gMzY3ODMpCisrKyBWTS9KU1By
b3BlcnR5TmFtZUl0ZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTk2LDEyICs5NiwxOCBAQCBp
bmxpbmUgSlNQcm9wZXJ0eU5hbWVJdGVyYXRvciogSlNQcm9wZXJ0CiAKIGlubGluZSBKU1ZhbHVl
KiBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yOjpuZXh0KEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICB3
aGlsZSAobV9wb3NpdGlvbiAhPSBtX2VuZCkgeworICAgIGlmIChtX3Bvc2l0aW9uID09IG1fZW5k
KQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChtX2RhdGEtPmNhY2hlZFN0cnVjdHVyZUlE
KCkgPT0gbV9vYmplY3QtPnN0cnVjdHVyZUlEKCkgJiYgc3RydWN0dXJlSURDaGFpbnNBcmVFcXVh
bChtX2RhdGEtPmNhY2hlZFByb3RvdHlwZUNoYWluKCksIG1fb2JqZWN0LT5zdHJ1Y3R1cmVJRCgp
LT5jYWNoZWRQcm90b3R5cGVDaGFpbigpKSkKKyAgICAgICAgcmV0dXJuIGpzT3duZWRTdHJpbmco
ZXhlYywgKCptX3Bvc2l0aW9uKyspLnVzdHJpbmcoKSk7CisKKyAgICBkbyB7CiAgICAgICAgIGlm
IChtX29iamVjdC0+aGFzUHJvcGVydHkoZXhlYywgKm1fcG9zaXRpb24pKQogICAgICAgICAgICAg
cmV0dXJuIGpzT3duZWRTdHJpbmcoZXhlYywgKCptX3Bvc2l0aW9uKyspLnVzdHJpbmcoKSk7CiAg
ICAgICAgIG1fcG9zaXRpb24rKzsKLSAgICB9Ci0gICAgaW52YWxpZGF0ZSgpOworICAgIH0gd2hp
bGUgKG1fcG9zaXRpb24gIT0gbV9lbmQpOworCiAgICAgcmV0dXJuIDA7CiB9CiAKSW5kZXg6IGtq
cy9Qcm9wZXJ0eU5hbWVBcnJheS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtqcy9Qcm9wZXJ0eU5hbWVBcnJh
eS5oCShyZXZpc2lvbiAzNjc4MykKKysrIGtqcy9Qcm9wZXJ0eU5hbWVBcnJheS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNiwyNiArMzYsMjkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8UHJvcGVydHlOYW1lQXJyYXlEYXRhPiBjcmVhdGUoKSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgUHJvcGVydHlOYW1lQXJyYXlEYXRhKTsgfQogCisgICAgICAgIGNvbnN0X2l0
ZXJhdG9yIGJlZ2luKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0eU5hbWVWZWN0b3IuYmVnaW4o
KTsgfQorICAgICAgICBjb25zdF9pdGVyYXRvciBlbmQoKSBjb25zdCB7IHJldHVybiBtX3Byb3Bl
cnR5TmFtZVZlY3Rvci5lbmQoKTsgfQorCiAgICAgICAgIFByb3BlcnR5TmFtZVZlY3RvciYgcHJv
cGVydHlOYW1lVmVjdG9yKCkgeyByZXR1cm4gbV9wcm9wZXJ0eU5hbWVWZWN0b3I7IH0KIAorICAg
ICAgICB2b2lkIHNldENhY2hlZFN0cnVjdHVyZUlEKFBhc3NSZWZQdHI8U3RydWN0dXJlSUQ+IHN0
cnVjdHVyZUlEKSB7IG1fY2FjaGVkU3RydWN0dXJlSUQgPSBzdHJ1Y3R1cmVJRDsgfQorICAgICAg
ICBTdHJ1Y3R1cmVJRCogY2FjaGVkU3RydWN0dXJlSUQoKSBjb25zdCB7IHJldHVybiBtX2NhY2hl
ZFN0cnVjdHVyZUlELmdldCgpOyB9CisKICAgICAgICAgdm9pZCBzZXRDYWNoZWRQcm90b3R5cGVD
aGFpbihQYXNzUmVmUHRyPFN0cnVjdHVyZUlEQ2hhaW4+IGNhY2hlZFByb3RvdHlwZUNoYWluKSB7
IG1fY2FjaGVkUHJvdG90eXBlQ2hhaW4gPSBjYWNoZWRQcm90b3R5cGVDaGFpbjsgfQogICAgICAg
ICBTdHJ1Y3R1cmVJRENoYWluKiBjYWNoZWRQcm90b3R5cGVDaGFpbigpIHsgcmV0dXJuIG1fY2Fj
aGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCk7IH0KIAotICAgICAgICBjb25zdF9pdGVyYXRvciBiZWdp
bigpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydHlOYW1lVmVjdG9yLmJlZ2luKCk7IH0KLSAgICAg
ICAgY29uc3RfaXRlcmF0b3IgZW5kKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0eU5hbWVWZWN0
b3IuZW5kKCk7IH0KLQogICAgIHByaXZhdGU6CiAgICAgICAgIFByb3BlcnR5TmFtZUFycmF5RGF0
YSgpCiAgICAgICAgIHsKICAgICAgICAgfQogCiAgICAgICAgIFByb3BlcnR5TmFtZVZlY3RvciBt
X3Byb3BlcnR5TmFtZVZlY3RvcjsKKyAgICAgICAgUmVmUHRyPFN0cnVjdHVyZUlEPiBtX2NhY2hl
ZFN0cnVjdHVyZUlEOwogICAgICAgICBSZWZQdHI8U3RydWN0dXJlSURDaGFpbj4gbV9jYWNoZWRQ
cm90b3R5cGVDaGFpbjsKICAgICB9OwogCiAgICAgY2xhc3MgUHJvcGVydHlOYW1lQXJyYXkgewog
ICAgIHB1YmxpYzoKLSAgICAgICAgdHlwZWRlZiBJZGVudGlmaWVyIFZhbHVlVHlwZTsKICAgICAg
ICAgdHlwZWRlZiBQcm9wZXJ0eU5hbWVBcnJheURhdGE6OmNvbnN0X2l0ZXJhdG9yIGNvbnN0X2l0
ZXJhdG9yOwogCiAgICAgICAgIFByb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xvYmFs
RGF0YSkKSW5kZXg6IGtqcy9TdHJ1Y3R1cmVJRC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2pzL1N0cnVj
dHVyZUlELmNwcAkocmV2aXNpb24gMzY3ODMpCisrKyBranMvU3RydWN0dXJlSUQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OSwyMyArNDksNiBAQCBTdHJ1Y3R1cmVJRDo6U3RydWN0dXJlSUQoSlNW
YWx1ZSogcHJvdG90CiAgICAgQVNTRVJUKG1fcHJvdG90eXBlLT5pc09iamVjdCgpIHx8IG1fcHJv
dG90eXBlLT5pc051bGwoKSk7CiB9CiAKLXN0YXRpYyBib29sIHN0cnVjdHVyZUlEQ2hhaW5zQXJl
RXF1YWwoU3RydWN0dXJlSURDaGFpbiogY2hhaW5BLCBTdHJ1Y3R1cmVJRENoYWluKiBjaGFpbkIp
Ci17Ci0gICAgaWYgKCFjaGFpbkEgfHwgIWNoYWluQikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgUmVmUHRyPFN0cnVjdHVyZUlEPiogYSA9IGNoYWluQS0+aGVhZCgpOwotICAgIFJlZlB0
cjxTdHJ1Y3R1cmVJRD4qIGIgPSBjaGFpbkItPmhlYWQoKTsKLSAgICB3aGlsZSAoMSkgewotICAg
ICAgICBpZiAoKmEgIT0gKmIpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIGlm
ICghKmEpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgYSsrOwotICAgICAgICBi
Kys7Ci0gICAgfQotfQotCiB2b2lkIFN0cnVjdHVyZUlEOjpnZXRFbnVtZXJhYmxlUHJvcGVydHlO
YW1lcyhFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZUFycmF5JiBwcm9wZXJ0eU5hbWVzLCBK
U09iamVjdCogYmFzZU9iamVjdCkKIHsKICAgICBib29sIHNob3VsZENhY2hlID0gIShwcm9wZXJ0
eU5hbWVzLnNpemUoKSB8fCBtX2lzRGljdGlvbmFyeSk7CkBAIC0xMDQsNiArODcsNyBAQCB2b2lk
IFN0cnVjdHVyZUlEOjpnZXRFbnVtZXJhYmxlUHJvcGVydHlOCiAgICAgICAgIGlmICghY2hhaW4p
CiAgICAgICAgICAgICBjaGFpbiA9IGNyZWF0ZUNhY2hlZFByb3RvdHlwZUNoYWluKCk7CiAgICAg
ICAgIG1fY2FjaGVkUHJvcGVydHlOYW1lQXJyYXlEYXRhLT5zZXRDYWNoZWRQcm90b3R5cGVDaGFp
bihjaGFpbik7CisgICAgICAgIG1fY2FjaGVkUHJvcGVydHlOYW1lQXJyYXlEYXRhLT5zZXRDYWNo
ZWRTdHJ1Y3R1cmVJRCh0aGlzKTsKICAgICB9CiB9CiAKQEAgLTIzNSw0ICsyMTksMjEgQEAgU3Ry
dWN0dXJlSURDaGFpbjo6U3RydWN0dXJlSURDaGFpbihTdHJ1YwogICAgIG1fdmVjdG9yW2kgKyAx
XSA9IDA7CiB9CiAKK2Jvb2wgc3RydWN0dXJlSURDaGFpbnNBcmVFcXVhbChTdHJ1Y3R1cmVJRENo
YWluKiBjaGFpbkEsIFN0cnVjdHVyZUlEQ2hhaW4qIGNoYWluQikKK3sKKyAgICBpZiAoIWNoYWlu
QSB8fCAhY2hhaW5CKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBSZWZQdHI8U3RydWN0
dXJlSUQ+KiBhID0gY2hhaW5BLT5oZWFkKCk7CisgICAgUmVmUHRyPFN0cnVjdHVyZUlEPiogYiA9
IGNoYWluQi0+aGVhZCgpOworICAgIHdoaWxlICgxKSB7CisgICAgICAgIGlmICgqYSAhPSAqYikK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCEqYSkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICBhKys7CisgICAgICAgIGIrKzsKKyAgICB9Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIEpTQwpJbmRleDoga2pzL1N0cnVjdHVyZUlELmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
a2pzL1N0cnVjdHVyZUlELmgJKHJldmlzaW9uIDM2NzgzKQorKysga2pzL1N0cnVjdHVyZUlELmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE1OSw2ICsxNTksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgT3duQXJyYXlQdHI8UmVmUHRyPFN0cnVjdHVyZUlEPiA+IG1fdmVjdG9yOwogICAgIH07CiAK
KyAgICBib29sIHN0cnVjdHVyZUlEQ2hhaW5zQXJlRXF1YWwoU3RydWN0dXJlSURDaGFpbiosIFN0
cnVjdHVyZUlEQ2hhaW4qKTsKKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBTdHJ1
Y3R1cmVJRF9oCg==
</data>
<flag name="review"
          id="10629"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>