<?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>21862</bug_id>
          
          <creation_ts>2008-10-24 13:32:24 -0700</creation_ts>
          <short_desc>Create JSFunction prototype property lazily</short_desc>
          <delta_ts>2008-10-24 13:47:38 -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>All</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="Cameron Zwarich (cpst)">zwarich</reporter>
          <assigned_to name="Cameron Zwarich (cpst)">zwarich</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96560</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-10-24 13:32:24 -0700</bug_when>
    <thetext>We currently create an prototype object for every JSFunction and put it in the prototype property. I have a patch to do this lazily instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96564</commentid>
    <comment_count>1</comment_count>
      <attachid>24647</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-10-24 13:34:54 -0700</bug_when>
    <thetext>Created attachment 24647
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96565</commentid>
    <comment_count>2</comment_count>
      <attachid>24647</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-10-24 13:37:29 -0700</bug_when>
    <thetext>Comment on attachment 24647
Proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96569</commentid>
    <comment_count>3</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-10-24 13:47:38 -0700</bug_when>
    <thetext>Landed in r37859.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24647</attachid>
            <date>2008-10-24 13:34:54 -0700</date>
            <delta_ts>2008-10-24 13:37:29 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>prototype.diff</filename>
            <type>text/plain</type>
            <size>3185</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM3ODQ1
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDgtMTAt
MjQgIENhbWVyb24gWndhcmljaCAgPHp3YXJpY2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAyMTg2MjogQ3JlYXRlIEpTRnVu
Y3Rpb24gcHJvdG90eXBlIHByb3BlcnR5IGxhemlseQorICAgICAgICA8aHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODYyPgorCisgICAgICAgIFRoaXMgaXMgYSAxLjUl
IHNwZWVkdXAgb24gU3VuU3BpZGVyIGFuZCBhIDEuNCUgc3BlZWR1cCBvbiB0aGUgVjgKKyAgICAg
ICAgYmVuY2htYXJrIHN1aXRlLCBpbmNsdWRpbmcgYSAzLjglIHNwZWVkdXAgb24gRWFybGV5LUJv
eWVyLgorCisgICAgICAgICoga2pzL0pTRnVuY3Rpb24uY3BwOgorICAgICAgICAoSlNDOjpKU0Z1
bmN0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgorICAgICAgICAqIGtqcy9ub2Rlcy5jcHA6Cisg
ICAgICAgIChKU0M6OkZ1bmNEZWNsTm9kZTo6bWFrZUZ1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6
RnVuY0V4cHJOb2RlOjptYWtlRnVuY3Rpb24pOgorCiAyMDA4LTEwLTI0ICBEYXJpbiBBZGxlciAg
PGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAtIGZpbmlzaCByb2xsaW5nIG91dCBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MzIKSW5kZXg6IGtqcy9KU0Z1bmN0
aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBranMvSlNGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDM3ODQ1
KQorKysga2pzL0pTRnVuY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsNiArMTAyLDE5
IEBAIEpTVmFsdWUqIEpTRnVuY3Rpb246Omxlbmd0aEdldHRlcihFeGVjU3QKIAogYm9vbCBKU0Z1
bmN0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKIHsKKyAgICBpZiAocHJvcGVy
dHlOYW1lID09IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUpIHsKKyAgICAgICAgSlNW
YWx1ZSoqIGxvY2F0aW9uID0gZ2V0RGlyZWN0TG9jYXRpb24ocHJvcGVydHlOYW1lKTsKKworICAg
ICAgICBpZiAoIWxvY2F0aW9uKSB7CisgICAgICAgICAgICBKU09iamVjdCogcHJvdG90eXBlID0g
bmV3IChleGVjKSBKU09iamVjdChtX3Njb3BlQ2hhaW4uZ2xvYmFsT2JqZWN0KCktPmVtcHR5T2Jq
ZWN0U3RydWN0dXJlKCkpOworICAgICAgICAgICAgcHJvdG90eXBlLT5wdXREaXJlY3QoZXhlYy0+
cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCB0aGlzLCBEb250RW51bSk7CisgICAgICAgICAg
ICBwdXREaXJlY3QoZXhlYy0+cHJvcGVydHlOYW1lcygpLnByb3RvdHlwZSwgcHJvdG90eXBlLCBE
b250RGVsZXRlKTsKKyAgICAgICAgICAgIGxvY2F0aW9uID0gZ2V0RGlyZWN0TG9jYXRpb24ocHJv
cGVydHlOYW1lKTsKKyAgICAgICAgfQorCisgICAgICAgIHNsb3Quc2V0VmFsdWVTbG90KHRoaXMs
IGxvY2F0aW9uLCBvZmZzZXRGb3JMb2NhdGlvbihsb2NhdGlvbikpOworICAgIH0KKwogICAgIGlm
IChwcm9wZXJ0eU5hbWUgPT0gZXhlYy0+cHJvcGVydHlOYW1lcygpLmFyZ3VtZW50cykgewogICAg
ICAgICBzbG90LnNldEN1c3RvbSh0aGlzLCBhcmd1bWVudHNHZXR0ZXIpOwogICAgICAgICByZXR1
cm4gdHJ1ZTsKSW5kZXg6IGtqcy9ub2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2pzL25vZGVzLmNw
cAkocmV2aXNpb24gMzc4NDUpCisrKyBranMvbm9kZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODcxLDEyICsxODcxLDcgQEAgSWRlbnRpZmllciogRnVuY3Rpb25Cb2R5Tm9kZTo6Y29weVBhcmFt
ZQogCiBKU0Z1bmN0aW9uKiBGdW5jRGVjbE5vZGU6Om1ha2VGdW5jdGlvbihFeGVjU3RhdGUqIGV4
ZWMsIFNjb3BlQ2hhaW5Ob2RlKiBzY29wZUNoYWluKQogewotICAgIEpTRnVuY3Rpb24qIGZ1bmMg
PSBuZXcgKGV4ZWMpIEpTRnVuY3Rpb24oZXhlYywgbV9pZGVudCwgbV9ib2R5LmdldCgpLCBzY29w
ZUNoYWluKTsKLQotICAgIEpTT2JqZWN0KiBwcm90byA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4
ZWMpOwotICAgIHByb3RvLT5wdXREaXJlY3QoZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVj
dG9yLCBmdW5jLCBEb250RW51bSk7Ci0gICAgZnVuYy0+cHV0RGlyZWN0KGV4ZWMtPnByb3BlcnR5
TmFtZXMoKS5wcm90b3R5cGUsIHByb3RvLCBEb250RGVsZXRlKTsKLSAgICByZXR1cm4gZnVuYzsK
KyAgICByZXR1cm4gbmV3IChleGVjKSBKU0Z1bmN0aW9uKGV4ZWMsIG1faWRlbnQsIG1fYm9keS5n
ZXQoKSwgc2NvcGVDaGFpbik7CiB9CiAKIFJlZ2lzdGVySUQqIEZ1bmNEZWNsTm9kZTo6ZW1pdENv
ZGUoQ29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqIGRzdCkKQEAgLTE4OTQsOSArMTg4OSw2IEBA
IFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdENvZGUoQ29kZUcKIEpTRnVuY3Rpb24qIEZ1
bmNFeHByTm9kZTo6bWFrZUZ1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgU2NvcGVDaGFpbk5vZGUq
IHNjb3BlQ2hhaW4pCiB7CiAgICAgSlNGdW5jdGlvbiogZnVuYyA9IG5ldyAoZXhlYykgSlNGdW5j
dGlvbihleGVjLCBtX2lkZW50LCBtX2JvZHkuZ2V0KCksIHNjb3BlQ2hhaW4pOwotICAgIEpTT2Jq
ZWN0KiBwcm90byA9IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMpOwotICAgIHByb3RvLT5wdXRE
aXJlY3QoZXhlYy0+cHJvcGVydHlOYW1lcygpLmNvbnN0cnVjdG9yLCBmdW5jLCBEb250RW51bSk7
Ci0gICAgZnVuYy0+cHV0RGlyZWN0KGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5wcm90b3R5cGUsIHBy
b3RvLCBEb250RGVsZXRlKTsKIAogICAgIC8qIAogICAgICAgICBUaGUgSWRlbnRpZmllciBpbiBh
IEZ1bmN0aW9uRXhwcmVzc2lvbiBjYW4gYmUgcmVmZXJlbmNlZCBmcm9tIGluc2lkZQo=
</data>
<flag name="review"
          id="11264"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>