<?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>36650</bug_id>
          
          <creation_ts>2010-03-26 03:24:56 -0700</creation_ts>
          <short_desc>[Qt] Add API for reporting additional memory cost of JavaScript objects</short_desc>
          <delta_ts>2010-03-28 03:43:19 -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>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>31863</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Hansen">kent.hansen</reporter>
          <assigned_to name="Kent Hansen">kent.hansen</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jedrzej.nowacki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>204483</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Hansen">kent.hansen</who>
    <bug_when>2010-03-26 03:24:56 -0700</bug_when>
    <thetext>Currently there&apos;s no way to indicate the actual amount of memory consumed by native script objects (i.e. objects that wrap arbitrary data, such as Qt/C++ objects).
This can make the garbage collector unresponsive (not freeing objects as often as it should), because it doesn&apos;t know the real cost of all objects (since it doesn&apos;t know about the native data).
It would be nice if QtScript had an API for registering this cost, so that the GC can take it into account.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204485</commentid>
    <comment_count>1</comment_count>
      <attachid>51723</attachid>
    <who name="Kent Hansen">kent.hansen</who>
    <bug_when>2010-03-26 03:30:54 -0700</bug_when>
    <thetext>Created attachment 51723
Proposed patch

This uses JSC API from JSBasePrivate.h, but see the discussion at https://lists.webkit.org/pipermail/squirrelfish-dev/2010-March/000097.html why this is OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204489</commentid>
    <comment_count>2</comment_count>
    <who name="Jędrzej Nowacki">jedrzej.nowacki</who>
    <bug_when>2010-03-26 03:43:26 -0700</bug_when>
    <thetext>Look good to me :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205138</commentid>
    <comment_count>3</comment_count>
      <attachid>51723</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-28 03:43:15 -0700</bug_when>
    <thetext>Comment on attachment 51723
Proposed patch

Clearing flags on attachment: 51723

Committed r56689: &lt;http://trac.webkit.org/changeset/56689&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205139</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-28 03:43:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51723</attachid>
            <date>2010-03-26 03:30:54 -0700</date>
            <delta_ts>2010-03-28 03:43:15 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>reportAdditionalMemoryCost.diff</filename>
            <type>text/plain</type>
            <size>5958</size>
            <attacher name="Kent Hansen">kent.hansen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCAwYmYyNDI5Li43OGNhOGE4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTAtMDMtMjYgIEtlbnQgSGFuc2VuICA8a2VudC5oYW5zZW5Abm9raWEuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gQWRkIEFQ
SSBmb3IgcmVwb3J0aW5nIGFkZGl0aW9uYWwgbWVtb3J5IGNvc3Qgb2YgSmF2YVNjcmlwdCBvYmpl
Y3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjY1
MAorCisgICAgICAgICogcXQvYXBpL3FzY3JpcHRlbmdpbmUuY3BwOgorICAgICAgICAoUVNjcmlw
dEVuZ2luZTo6cmVwb3J0QWRkaXRpb25hbE1lbW9yeUNvc3QpOgorICAgICAgICAqIHF0L2FwaS9x
c2NyaXB0ZW5naW5lLmg6CisgICAgICAgICogcXQvYXBpL3FzY3JpcHRlbmdpbmVfcC5oOgorICAg
ICAgICAoUVNjcmlwdEVuZ2luZVByaXZhdGU6OnJlcG9ydEFkZGl0aW9uYWxNZW1vcnlDb3N0KToK
KyAgICAgICAgKiBxdC90ZXN0cy9xc2NyaXB0ZW5naW5lL3RzdF9xc2NyaXB0ZW5naW5lLmNwcDoK
KyAgICAgICAgKHRzdF9RU2NyaXB0RW5naW5lOjpyZXBvcnRBZGRpdGlvbmFsTWVtb3J5Q29zdCk6
CisKIDIwMTAtMDMtMjUgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoYnVpbGQgZml4KS4KZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0ZW5naW5lLmNwcCBiL0phdmFTY3JpcHRDb3Jl
L3F0L2FwaS9xc2NyaXB0ZW5naW5lLmNwcAppbmRleCA2YTNlZGMxLi4xNTYyMmQ3IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGVuZ2luZS5jcHAKKysrIGIvSmF2YVNj
cmlwdENvcmUvcXQvYXBpL3FzY3JpcHRlbmdpbmUuY3BwCkBAIC0xMDUsNiArMTA1LDggQEAgUVNj
cmlwdFZhbHVlIFFTY3JpcHRFbmdpbmU6OmV2YWx1YXRlKGNvbnN0IFFTY3JpcHRQcm9ncmFtJiBw
cm9ncmFtKQogICAgIHdoZW4gdGhlIFFTY3JpcHRFbmdpbmUgZGVjaWRlcyB0aGF0IGl0J3Mgd2lz
ZSB0byBkbyBzbyAoaS5lLiB3aGVuIGEgY2VydGFpbiBudW1iZXIgb2YgbmV3IG9iamVjdHMKICAg
ICBoYXZlIGJlZW4gY3JlYXRlZCkuIEhvd2V2ZXIsIHlvdSBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9u
IHRvIGV4cGxpY2l0bHkgcmVxdWVzdCB0aGF0IGdhcmJhZ2UKICAgICBjb2xsZWN0aW9uIHNob3Vs
ZCBiZSBwZXJmb3JtZWQgYXMgc29vbiBhcyBwb3NzaWJsZS4KKworICAgIFxzYSByZXBvcnRBZGRp
dGlvbmFsTWVtb3J5Q29zdCgpCiAqLwogdm9pZCBRU2NyaXB0RW5naW5lOjpjb2xsZWN0R2FyYmFn
ZSgpCiB7CkBAIC0xMTIsNiArMTE0LDMwIEBAIHZvaWQgUVNjcmlwdEVuZ2luZTo6Y29sbGVjdEdh
cmJhZ2UoKQogfQogCiAvKiEKKyAgUmVwb3J0cyBhbiBhZGRpdGlvbmFsIG1lbW9yeSBjb3N0IG9m
IHRoZSBnaXZlbiBcYSBzaXplLCBtZWFzdXJlZCBpbgorICBieXRlcywgdG8gdGhlIGdhcmJhZ2Ug
Y29sbGVjdG9yLgorCisgIFRoaXMgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCB0byBpbmRpY2F0ZSB0
aGF0IGEgSmF2YVNjcmlwdCBvYmplY3QgaGFzCisgIG1lbW9yeSBhc3NvY2lhdGVkIHdpdGggaXQg
dGhhdCBpc24ndCBtYW5hZ2VkIGJ5IFF0IFNjcmlwdCBpdHNlbGYuCisgIFJlcG9ydGluZyB0aGUg
YWRkaXRpb25hbCBjb3N0IG1ha2VzIGl0IG1vcmUgbGlrZWx5IHRoYXQgdGhlIGdhcmJhZ2UKKyAg
Y29sbGVjdG9yIHdpbGwgYmUgdHJpZ2dlcmVkLgorCisgIE5vdGUgdGhhdCBpZiB0aGUgYWRkaXRp
b25hbCBtZW1vcnkgaXMgc2hhcmVkIHdpdGggb2JqZWN0cyBvdXRzaWRlCisgIHRoZSBzY3JpcHRp
bmcgZW52aXJvbm1lbnQsIHRoZSBjb3N0IHNob3VsZCBub3QgYmUgcmVwb3J0ZWQsIHNpbmNlCisg
IGNvbGxlY3RpbmcgdGhlIEphdmFTY3JpcHQgb2JqZWN0IHdvdWxkIG5vdCBjYXVzZSB0aGUgbWVt
b3J5IHRvIGJlCisgIGZyZWVkIGFueXdheS4KKworICBOZWdhdGl2ZSBcYSBzaXplIHZhbHVlcyBh
cmUgaWdub3JlZCwgaS5lLiB0aGlzIGZ1bmN0aW9uIGNhbid0IGJlCisgIHVzZWQgdG8gcmVwb3J0
IHRoYXQgdGhlIGFkZGl0aW9uYWwgbWVtb3J5IGhhcyBiZWVuIGRlYWxsb2NhdGVkLgorCisgIFxz
YSBjb2xsZWN0R2FyYmFnZSgpCisqLwordm9pZCBRU2NyaXB0RW5naW5lOjpyZXBvcnRBZGRpdGlv
bmFsTWVtb3J5Q29zdChpbnQgY29zdCkKK3sKKyAgICBkX3B0ci0+cmVwb3J0QWRkaXRpb25hbE1l
bW9yeUNvc3QoY29zdCk7Cit9CisKKy8qIQogICBSZXR1cm5zIGEgaGFuZGxlIHRoYXQgcmVwcmVz
ZW50cyB0aGUgZ2l2ZW4gc3RyaW5nLCBcYSBzdHIuCiAKICAgUVNjcmlwdFN0cmluZyBjYW4gYmUg
dXNlZCB0byBxdWlja2x5IGxvb2sgdXAgcHJvcGVydGllcywgYW5kCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGVuZ2luZS5oIGIvSmF2YVNjcmlwdENvcmUvcXQvYXBp
L3FzY3JpcHRlbmdpbmUuaAppbmRleCBlZTA2NmM5Li42YmE5NDliIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9xdC9hcGkvcXNjcmlwdGVuZ2luZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3F0
L2FwaS9xc2NyaXB0ZW5naW5lLmgKQEAgLTQxLDcgKzQxLDkgQEAgcHVibGljOgogICAgIHN0YXRp
YyBRU2NyaXB0U3ludGF4Q2hlY2tSZXN1bHQgY2hlY2tTeW50YXgoY29uc3QgUVN0cmluZyYgcHJv
Z3JhbSk7CiAgICAgUVNjcmlwdFZhbHVlIGV2YWx1YXRlKGNvbnN0IFFTdHJpbmcmIHByb2dyYW0s
IGNvbnN0IFFTdHJpbmcmIGZpbGVOYW1lID0gUVN0cmluZygpLCBpbnQgbGluZU51bWJlciA9IDEp
OwogICAgIFFTY3JpcHRWYWx1ZSBldmFsdWF0ZShjb25zdCBRU2NyaXB0UHJvZ3JhbSYgcHJvZ3Jh
bSk7CisKICAgICB2b2lkIGNvbGxlY3RHYXJiYWdlKCk7CisgICAgdm9pZCByZXBvcnRBZGRpdGlv
bmFsTWVtb3J5Q29zdChpbnQgY29zdCk7CiAKICAgICBRU2NyaXB0U3RyaW5nIHRvU3RyaW5nSGFu
ZGxlKGNvbnN0IFFTdHJpbmcmIHN0cik7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3F0
L2FwaS9xc2NyaXB0ZW5naW5lX3AuaCBiL0phdmFTY3JpcHRDb3JlL3F0L2FwaS9xc2NyaXB0ZW5n
aW5lX3AuaAppbmRleCBiZjk1OGJhLi5iYTAyNTc0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9xdC9hcGkvcXNjcmlwdGVuZ2luZV9wLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcXQvYXBpL3Fz
Y3JpcHRlbmdpbmVfcC5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAicXNjcmlwdHN5bnRh
eGNoZWNrcmVzdWx0X3AuaCIKICNpbmNsdWRlICJxc2NyaXB0dmFsdWUuaCIKICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+CisjaW5jbHVkZSA8SlNCYXNlUHJpdmF0ZS5oPgog
I2luY2x1ZGUgPFF0Q29yZS9xc2hhcmVkZGF0YS5oPgogI2luY2x1ZGUgPFF0Q29yZS9xc3RyaW5n
Lmg+CiAKQEAgLTQ0LDcgKzQ1LDkgQEAgcHVibGljOgogICAgIFFTY3JpcHRWYWx1ZVByaXZhdGUq
IGV2YWx1YXRlKGNvbnN0IFFTdHJpbmcmIHByb2dyYW0sIGNvbnN0IFFTdHJpbmcmIGZpbGVOYW1l
LCBpbnQgbGluZU51bWJlcik7CiAgICAgUVNjcmlwdFZhbHVlUHJpdmF0ZSogZXZhbHVhdGUoY29u
c3QgUVNjcmlwdFByb2dyYW1Qcml2YXRlKiBwcm9ncmFtKTsKICAgICBpbmxpbmUgSlNWYWx1ZVJl
ZiBldmFsdWF0ZShKU1N0cmluZ1JlZiBwcm9ncmFtLCBKU1N0cmluZ1JlZiBmaWxlTmFtZSwgaW50
IGxpbmVOdW1iZXIpOworCiAgICAgaW5saW5lIHZvaWQgY29sbGVjdEdhcmJhZ2UoKTsKKyAgICBp
bmxpbmUgdm9pZCByZXBvcnRBZGRpdGlvbmFsTWVtb3J5Q29zdChpbnQgY29zdCk7CiAKICAgICBp
bmxpbmUgSlNWYWx1ZVJlZiBtYWtlSlNWYWx1ZShkb3VibGUgbnVtYmVyKSBjb25zdDsKICAgICBp
bmxpbmUgSlNWYWx1ZVJlZiBtYWtlSlNWYWx1ZShpbnQgbnVtYmVyKSBjb25zdDsKQEAgLTc2LDYg
Kzc5LDEyIEBAIHZvaWQgUVNjcmlwdEVuZ2luZVByaXZhdGU6OmNvbGxlY3RHYXJiYWdlKCkKICAg
ICBKU0dhcmJhZ2VDb2xsZWN0KG1fY29udGV4dCk7CiB9CiAKK3ZvaWQgUVNjcmlwdEVuZ2luZVBy
aXZhdGU6OnJlcG9ydEFkZGl0aW9uYWxNZW1vcnlDb3N0KGludCBjb3N0KQoreworICAgIGlmIChj
b3N0ID4gMCkKKyAgICAgICAgSlNSZXBvcnRFeHRyYU1lbW9yeUNvc3QobV9jb250ZXh0LCBjb3N0
KTsKK30KKwogSlNWYWx1ZVJlZiBRU2NyaXB0RW5naW5lUHJpdmF0ZTo6bWFrZUpTVmFsdWUoZG91
YmxlIG51bWJlcikgY29uc3QKIHsKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VOdW1iZXIobV9jb250
ZXh0LCBudW1iZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcXQvdGVzdHMvcXNjcmlw
dGVuZ2luZS90c3RfcXNjcmlwdGVuZ2luZS5jcHAgYi9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9x
c2NyaXB0ZW5naW5lL3RzdF9xc2NyaXB0ZW5naW5lLmNwcAppbmRleCAyNjMyNzk2Li43YjU4YWM0
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0ZW5naW5lL3RzdF9x
c2NyaXB0ZW5naW5lLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9xdC90ZXN0cy9xc2NyaXB0ZW5n
aW5lL3RzdF9xc2NyaXB0ZW5naW5lLmNwcApAQCAtMzcsNiArMzcsNyBAQCBwdWJsaWMgc2xvdHM6
CiBwcml2YXRlIHNsb3RzOgogICAgIHZvaWQgZXZhbHVhdGUoKTsKICAgICB2b2lkIGNvbGxlY3RH
YXJiYWdlKCk7CisgICAgdm9pZCByZXBvcnRBZGRpdGlvbmFsTWVtb3J5Q29zdCgpOwogICAgIHZv
aWQgbnVsbFZhbHVlKCk7CiAgICAgdm9pZCB1bmRlZmluZWRWYWx1ZSgpOwogICAgIHZvaWQgZXZh
bHVhdGVQcm9ncmFtKCk7CkBAIC02Miw2ICs2MywyNiBAQCB2b2lkIHRzdF9RU2NyaXB0RW5naW5l
Ojpjb2xsZWN0R2FyYmFnZSgpCiAgICAgUUNPTVBBUkUoZm9vLmNhbGwoKS50b1N0cmluZygpLCBR
U3RyaW5nOjpmcm9tQXNjaWkoInBvbmciKSk7CiB9CiAKK3ZvaWQgdHN0X1FTY3JpcHRFbmdpbmU6
OnJlcG9ydEFkZGl0aW9uYWxNZW1vcnlDb3N0KCkKK3sKKyAgICAvLyBUaGVyZSBpc24ndCBhbnkg
ZWFzeSB3YXkgdG8gdGVzdCB0aGUgcmVzcG9uc2l2ZW5lc3Mgb2YgdGhlIEdDOworICAgIC8vIGp1
c3QgdHJ5IHRvIGNhbGwgdGhlIGZ1bmN0aW9uIGEgZmV3IHRpbWVzIHdpdGggdmFyaW91cyBzaXpl
cy4KKyAgICBRU2NyaXB0RW5naW5lIGVuZzsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IDEwMDsg
KytpKSB7CisgICAgICAgIGVuZy5yZXBvcnRBZGRpdGlvbmFsTWVtb3J5Q29zdCgwKTsKKyAgICAg
ICAgZW5nLnJlcG9ydEFkZGl0aW9uYWxNZW1vcnlDb3N0KDEwKTsKKyAgICAgICAgZW5nLnJlcG9y
dEFkZGl0aW9uYWxNZW1vcnlDb3N0KDEwMDApOworICAgICAgICBlbmcucmVwb3J0QWRkaXRpb25h
bE1lbW9yeUNvc3QoMTAwMDApOworICAgICAgICBlbmcucmVwb3J0QWRkaXRpb25hbE1lbW9yeUNv
c3QoMTAwMDAwKTsKKyAgICAgICAgZW5nLnJlcG9ydEFkZGl0aW9uYWxNZW1vcnlDb3N0KDEwMDAw
MDApOworICAgICAgICBlbmcucmVwb3J0QWRkaXRpb25hbE1lbW9yeUNvc3QoMTAwMDAwMDApOwor
ICAgICAgICBlbmcucmVwb3J0QWRkaXRpb25hbE1lbW9yeUNvc3QoLTEpOworICAgICAgICBlbmcu
cmVwb3J0QWRkaXRpb25hbE1lbW9yeUNvc3QoLTEwMDApOworICAgICAgICBRU2NyaXB0VmFsdWUg
b2JqID0gZW5nLmV2YWx1YXRlKCJuZXcgT2JqZWN0Iik7CisgICAgICAgIGVuZy5jb2xsZWN0R2Fy
YmFnZSgpOworICAgIH0KK30KKwogdm9pZCB0c3RfUVNjcmlwdEVuZ2luZTo6bnVsbFZhbHVlKCkK
IHsKICAgICBRU2NyaXB0RW5naW5lIGVuZ2luZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>