<?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>189768</bug_id>
          
          <creation_ts>2018-09-19 16:24:02 -0700</creation_ts>
          <short_desc>Add functions to measure memory footprint to JSC</short_desc>
          <delta_ts>2018-09-21 14:48:54 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1461166</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-09-19 16:24:02 -0700</bug_when>
    <thetext>This is to provide native JS access to JSC command memory usage data via system call.

&lt;rdar://problem/44612188&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461174</commentid>
    <comment_count>1</comment_count>
      <attachid>350159</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-09-19 16:47:40 -0700</bug_when>
    <thetext>Created attachment 350159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461190</commentid>
    <comment_count>2</comment_count>
      <attachid>350159</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-09-19 17:10:58 -0700</bug_when>
    <thetext>Comment on attachment 350159
Patch

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

r=me

&gt; Source/JavaScriptCore/jsc.cpp:1204
&gt; +class JSCMemoryFootprint : public JSDestructibleObject {

nit: I think this could inherit from JSNonFinalObject</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461202</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-09-19 17:36:54 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #2)
&gt; Comment on attachment 350159 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=350159&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/jsc.cpp:1204
&gt; &gt; +class JSCMemoryFootprint : public JSDestructibleObject {
&gt; 
&gt; nit: I think this could inherit from JSNonFinalObject

Change this locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461204</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-09-19 17:42:31 -0700</bug_when>
    <thetext>Committed r236235: &lt;https://trac.webkit.org/changeset/236235&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461366</commentid>
    <comment_count>5</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-09-20 09:10:40 -0700</bug_when>
    <thetext>Reverted r236235 for reason:

Breaks internal builds.

Committed r236260: &lt;https://trac.webkit.org/changeset/236260&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461368</commentid>
    <comment_count>6</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-09-20 09:11:27 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #5)
&gt; Reverted r236235 for reason:
&gt; 
&gt; Breaks internal builds.
Details are in radar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461599</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-09-20 16:48:57 -0700</bug_when>
    <thetext>Relanded in r236293: &lt;https://trac.webkit.org/changeset/236293&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1461727</commentid>
    <comment_count>8</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2018-09-20 21:37:09 -0700</bug_when>
    <thetext>Rolled out in https://trac.webkit.org/r236305</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1462104</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2018-09-21 14:48:40 -0700</bug_when>
    <thetext>Relanded in r2362362: &lt;https://trac.webkit.org/changeset/236362&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350159</attachid>
            <date>2018-09-19 16:47:40 -0700</date>
            <delta_ts>2018-09-19 17:10:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>189768.patch</filename>
            <type>text/plain</type>
            <size>5393</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjM2MjMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDE4LTA5LTE5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBmdW5jdGlvbnMgdG8gbWVhc3VyZSBtZW1vcnkgZm9vdHByaW50IHRvIEpTQworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5NzY4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJvdmlkZSBzeXN0
ZW0gbWVtb3J5IG1ldHJpY3MgZm9yIHRoZSBjdXJyZW50IHByb2Nlc3MgdG8gYWlkIGluIG1lbW9y
eSByZWR1Y3Rpb24gbWVhc3VyZW1lbnQgYW5kCisgICAgICAgIHR1bmluZyB1c2luZyBuYXRpdmUg
SlMgdGVzdHMuCisKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAoTWVtb3J5Rm9vdHByaW50
Ojpub3cpOgorICAgICAgICAoTWVtb3J5Rm9vdHByaW50OjpyZXNldFBlYWspOgorICAgICAgICAo
R2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0NNZW1vcnlGb290cHJp
bnQ6OkpTQ01lbW9yeUZvb3RwcmludCk6CisgICAgICAgIChKU0NNZW1vcnlGb290cHJpbnQ6OmNy
ZWF0ZVN0cnVjdHVyZSk6CisgICAgICAgIChKU0NNZW1vcnlGb290cHJpbnQ6OmNyZWF0ZSk6Cisg
ICAgICAgIChKU0NNZW1vcnlGb290cHJpbnQ6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpT
Q01lbW9yeUZvb3RwcmludDo6YWRkUHJvcGVydHkpOgorICAgICAgICAoZnVuY3Rpb25SZXNldE1l
bW9yeVBlYWspOgorCiAyMDE4LTA5LTE5ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29t
PgogCiAgICAgICAgIENoZWNrU3RydWN0dXJlT3JFbXB0eSBzaG91bGQgcGFzcyBpbiBhIHRlbXBH
UFIgdG8gZW1pdFN0cnVjdHVyZUNoZWNrIHNpbmNlIGl0IG1heSBqdW1wIG92ZXIgdGhhdCBjb2Rl
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2aXNpb24gMjM2MjMwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNyw2ICsxMjcsMjQgQEAK
ICNpbmNsdWRlIDxhcm0vYXJjaC5oPgogI2VuZGlmCiAKKyNpZiBfX2hhc19pbmNsdWRlKDxXZWJL
aXRBZGRpdGlvbnMvTWVtb3J5Rm9vdHByaW50Lmg+KQorI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9u
cy9NZW1vcnlGb290cHJpbnQuaD4KKyNlbHNlCitzdHJ1Y3QgTWVtb3J5Rm9vdHByaW50IHsKKyAg
ICB1aW50NjRfdCBjdXJyZW50OworICAgIHVpbnQ2NF90IHBlYWs7CisgICAgCisgICAgc3RhdGlj
IE1lbW9yeUZvb3RwcmludCBub3coKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHsgMEwsIDBMIH07
CisgICAgfQorICAgIAorICAgIHN0YXRpYyB2b2lkIHJlc2V0UGVhaygpCisgICAgeworICAgIH0K
K307CisjZW5kaWYKKwogI2lmICFkZWZpbmVkKFBBVEhfTUFYKQogI2RlZmluZSBQQVRIX01BWCA0
MDk2CiAjZW5kaWYKQEAgLTI2Nyw2ICsyODUsOCBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBmdW5jCiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5j
dGlvbkVkZW5HQyhFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGZ1bmN0aW9uRm9yY2VHQ1Nsb3dQYXRocyhFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uSGVhcFNpemUoRXhlY1N0YXRlKik7CitzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkNyZWF0ZU1lbW9yeUZvb3Rw
cmludChFeGVjU3RhdGUqKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uUmVzZXRNZW1vcnlQZWFrKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25BZGRyZXNzT2YoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblZlcnNpb24oRXhlY1N0YXRlKik7CiBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvblJ1bihFeGVjU3RhdGUq
KTsKQEAgLTQ4NCw2ICs1MDQsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZt
LCAiZWRlbkdDIiwgZnVuY3Rpb25FZGVuR0MsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwg
ImZvcmNlR0NTbG93UGF0aHMiLCBmdW5jdGlvbkZvcmNlR0NTbG93UGF0aHMsIDApOwogICAgICAg
ICBhZGRGdW5jdGlvbih2bSwgImdjSGVhcFNpemUiLCBmdW5jdGlvbkhlYXBTaXplLCAwKTsKKyAg
ICAgICAgYWRkRnVuY3Rpb24odm0sICJNZW1vcnlGb290cHJpbnQiLCBmdW5jdGlvbkNyZWF0ZU1l
bW9yeUZvb3RwcmludCwgMCk7CisgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAicmVzZXRNZW1vcnlQ
ZWFrIiwgZnVuY3Rpb25SZXNldE1lbW9yeVBlYWssIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2
bSwgImFkZHJlc3NPZiIsIGZ1bmN0aW9uQWRkcmVzc09mLCAxKTsKICAgICAgICAgYWRkRnVuY3Rp
b24odm0sICJ2ZXJzaW9uIiwgZnVuY3Rpb25WZXJzaW9uLCAxKTsKICAgICAgICAgYWRkRnVuY3Rp
b24odm0sICJydW4iLCBmdW5jdGlvblJ1biwgMSk7CkBAIC0xMTc5LDYgKzEyMDEsNjYgQEAgRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkhlYQogICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNOdW1iZXIodm0uaGVhcC5zaXplKCkpKTsKIH0KIAorY2xhc3MgSlNDTWVtb3J5
Rm9vdHByaW50IDogcHVibGljIEpTRGVzdHJ1Y3RpYmxlT2JqZWN0IHsKKyAgICB1c2luZyBCYXNl
ID0gSlNEZXN0cnVjdGlibGVPYmplY3Q7CitwdWJsaWM6CisgICAgSlNDTWVtb3J5Rm9vdHByaW50
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgICAgIDogQmFzZSh2bSwgc3RydWN0
dXJlKQorICAgIHsgfQorCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisg
ICAgeworICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7
CisgICAgfQorCisgICAgc3RhdGljIEpTQ01lbW9yeUZvb3RwcmludCogY3JlYXRlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKKyAgICB7CisgICAgICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gY3JlYXRlU3RydWN0dXJlKHZtLCBnbG9iYWxPYmplY3QsIGpzTnVsbCgpKTsK
KyAgICAgICAgSlNDTWVtb3J5Rm9vdHByaW50KiBmb290cHJpbnQgPSBuZXcgKE5vdE51bGwsIGFs
bG9jYXRlQ2VsbDxKU0NNZW1vcnlGb290cHJpbnQ+KHZtLmhlYXAsIHNpemVvZihKU0NNZW1vcnlG
b290cHJpbnQpKSkgSlNDTWVtb3J5Rm9vdHByaW50KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBm
b290cHJpbnQtPmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICAgICAgcmV0dXJuIGZvb3RwcmludDsK
KyAgICB9CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSkKKyAgICB7CisgICAgICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKworICAgICAgICBhdXRvIGFkZFByb3BlcnR5ID0g
WyZdIChWTSYgdm0sIGNvbnN0IGNoYXIqIG5hbWUsIEpTVmFsdWUgdmFsdWUpIHsKKyAgICAgICAg
ICAgIEpTQ01lbW9yeUZvb3RwcmludDo6YWRkUHJvcGVydHkodm0sIG5hbWUsIHZhbHVlKTsKKyAg
ICAgICAgfTsKKworICAgICAgICBNZW1vcnlGb290cHJpbnQgZm9vdHByaW50ID0gTWVtb3J5Rm9v
dHByaW50Ojpub3coKTsKKworICAgICAgICAvLyBSZXBvcnQgc2l6ZXMgaW4gS0J5dGVzIHNvIHRo
YXQgdmFsdWVzIHVwIHRvIEdCIGFyZSBzdGlsbCBpbnRlZ2Vycy4KKyAgICAgICAgYWRkUHJvcGVy
dHkodm0sICJjdXJyZW50IiwganNOdW1iZXIoZm9vdHByaW50LmN1cnJlbnQgLyAxMDI0KSk7Cisg
ICAgICAgIGFkZFByb3BlcnR5KHZtLCAicGVhayIsIGpzTnVtYmVyKGZvb3RwcmludC5wZWFrIC8g
MTAyNCkpOworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKKworcHJpdmF0ZToKKyAgICB2b2lk
IGFkZFByb3BlcnR5KFZNJiB2bSwgY29uc3QgY2hhciogbmFtZSwgSlNWYWx1ZSB2YWx1ZSkKKyAg
ICB7CisgICAgICAgIElkZW50aWZpZXIgaWRlbnRpZmllciA9IElkZW50aWZpZXI6OmZyb21TdHJp
bmcoJnZtLCBuYW1lKTsKKyAgICAgICAgcHV0RGlyZWN0KHZtLCBpZGVudGlmaWVyLCB2YWx1ZSk7
CisgICAgfQorfTsKKworY29uc3QgQ2xhc3NJbmZvIEpTQ01lbW9yeUZvb3RwcmludDo6c19pbmZv
ID0geyAiTWVtb3J5Rm9vdHByaW50IiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwg
Q1JFQVRFX01FVEhPRF9UQUJMRShKU0NNZW1vcnlGb290cHJpbnQpIH07CisKK0VuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25DcmVhdGVNZW1vcnlGb290cHJpbnQoRXhlY1N0YXRl
KiBleGVjKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgSlNMb2NrSG9sZGVyIGxv
Y2sodm0pOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNDTWVtb3J5Rm9vdHByaW50Ojpj
cmVhdGUodm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSkpOworfQorCitFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uUmVzZXRNZW1vcnlQZWFrKEV4ZWNTdGF0ZSopCit7
CisgICAgTWVtb3J5Rm9vdHByaW50OjpyZXNldFBlYWsoKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworfQorCiAvLyBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBnZW5l
cmFsbHkgdmVyeSBoZWxwZnVsIGluIDY0LWJpdCBjb2RlIGFzIHRoZSB0YWcgYW5kIHBheWxvYWQK
IC8vIHNoYXJlIGEgcmVnaXN0ZXIuIEJ1dCBpbiAzMi1iaXQgSklUZWQgY29kZSB0aGUgdGFnIG1h
eSBub3QgYmUgY2hlY2tlZCBpZiBhbgogLy8gb3B0aW1pemF0aW9uIHJlbW92ZXMgdHlwZSBjaGVj
a2luZyByZXF1aXJlbWVudHMsIHN1Y2ggYXMgaW4gPT09Lgo=
</data>
<flag name="review"
          id="367646"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>