<?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>204384</bug_id>
          
          <creation_ts>2019-11-19 15:56:46 -0800</creation_ts>
          <short_desc>[JSC] Work-around Leaks&apos; false-positive report about memory leaking</short_desc>
          <delta_ts>2019-11-19 16:56:55 -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>New Bugs</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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>mark.lam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1591732</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-19 15:56:46 -0800</bug_when>
    <thetext>[JSC] Work-around Leaks&apos; false-positive report about memory leaking</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591735</commentid>
    <comment_count>1</comment_count>
      <attachid>383915</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-19 16:00:19 -0800</bug_when>
    <thetext>Created attachment 383915
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591736</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-19 16:00:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/56950932&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591738</commentid>
    <comment_count>3</comment_count>
      <attachid>383915</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-11-19 16:04:01 -0800</bug_when>
    <thetext>Comment on attachment 383915
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591740</commentid>
    <comment_count>4</comment_count>
      <attachid>383915</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-11-19 16:05:41 -0800</bug_when>
    <thetext>Comment on attachment 383915
Patch

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

&gt; Source/JavaScriptCore/jit/ExecutableAllocator.cpp:425
&gt; -    g_jscConfig.fixedVMPoolExecutableAllocator = new FixedVMPoolExecutableAllocator();
&gt; +    auto* allocator = new FixedVMPoolExecutableAllocator();
&gt; +    g_jscConfig.fixedVMPoolExecutableAllocator = allocator;
&gt; +    globalFixedVMPoolExecutableAllocatorToWorkAroundLeaks = allocator;

You could just implement this as:
    g_jscConfig.fixedVMPoolExecutableAllocator = new FixedVMPoolExecutableAllocator();
    globalFixedVMPoolExecutableAllocatorToWorkAroundLeaks = g_jscConfig.fixedVMPoolExecutableAllocator;

That way, there&apos;s only a 1 line change that is easier to undo later.

&gt; Source/JavaScriptCore/jit/ExecutableAllocator.cpp:657
&gt; -    g_jscConfig.executableAllocator = new ExecutableAllocator;
&gt; +    auto* allocator = new ExecutableAllocator;
&gt; +    g_jscConfig.executableAllocator = allocator;
&gt; +    globalExecutableAllocatorToWorkAroundLeaks = allocator;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591779</commentid>
    <comment_count>5</comment_count>
      <attachid>383915</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-19 16:55:57 -0800</bug_when>
    <thetext>Comment on attachment 383915
Patch

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

&gt;&gt; Source/JavaScriptCore/jit/ExecutableAllocator.cpp:425
&gt;&gt; +    globalFixedVMPoolExecutableAllocatorToWorkAroundLeaks = allocator;
&gt; 
&gt; You could just implement this as:
&gt;     g_jscConfig.fixedVMPoolExecutableAllocator = new FixedVMPoolExecutableAllocator();
&gt;     globalFixedVMPoolExecutableAllocatorToWorkAroundLeaks = g_jscConfig.fixedVMPoolExecutableAllocator;
&gt; 
&gt; That way, there&apos;s only a 1 line change that is easier to undo later.

Nice, fixed.

&gt;&gt; Source/JavaScriptCore/jit/ExecutableAllocator.cpp:657
&gt;&gt; +    globalExecutableAllocatorToWorkAroundLeaks = allocator;
&gt; 
&gt; Ditto.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591780</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-11-19 16:56:55 -0800</bug_when>
    <thetext>Committed r252661: &lt;https://trac.webkit.org/changeset/252661&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383915</attachid>
            <date>2019-11-19 16:00:19 -0800</date>
            <delta_ts>2019-11-19 16:04:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204384-20191119160018.patch</filename>
            <type>text/plain</type>
            <size>3157</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyNjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
NGExNmVlYzMxNDQ4ODc5OTYwNDMxYWM4YTQ4NGUxZWQzMDBkNTFjLi5jNGE3YTFkNDU3MTVhMzA0
MmJhZGQwZWRiMGE0NjU5MDBjNTM5OTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxOS0xMS0xOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFdvcmstYXJvdW5kIExlYWtzJyBmYWxzZS1wb3NpdGl2ZSByZXBv
cnQgYWJvdXQgbWVtb3J5IGxlYWtpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNDM4NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTY5NTA5MzI+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWNjb3Jk
aW5nIHRvIHRoZSByYWRhciwgTGVha3Mgc3RhcnQgcmVwb3J0aW5nIGZhbHNlLXBvc2l0aXZlIG1l
bW9yeSBsZWFrcyBhYm91dCBFeGVjdXRhYmxlQWxsb2NhdG9yIGFuZCBGaXhlZFZNUG9vbEV4ZWN1
dGFibGVBbGxvY2F0b3IsCisgICAgICAgIHdoaWxlIHRoZXkgYXJlIHBlci1wcm9jZXNzIHNpbmds
ZXRvbiBhbmQgcmVhY2hhYmxlIHRocm91Z2ggZ19qc2NDb25maWcuIEknbSBndWVzc2luZyB0aGlz
IGlzIGJlY2F1c2UgTGVha3Mgc3RhcnQgc2tpcHBpbmcgc2NhbiBmb3IKKyAgICAgICAgcmVhZG9u
bHkgbWVtb3J5IHJlZ2lvbi4gKGdfanNjQ29uZmlnIGlzIG5vdyBtcHJvdGVjdGVkIHRvIHJlYWRv
bmx5KS4KKworICAgICAgICBUbyB3b3JrLWFyb3VuZCB0aGlzLCB3ZSBhbmNob3IgdGhlc2UgaGVh
cCBhbGxvY2F0ZWQgdGhpbmdzIHRvIGdsb2JhbCB2YXJpYWJsZXMgdG8gaGVscCBMZWFrcyBzY2Fu
LiBPbmNlIGl0IGlzIGZpeGVkLCB3ZSBzaG91bGQgcmVtb3ZlIGl0LgorCisgICAgICAgICogaml0
L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwOgorICAgICAgICAoSlNDOjpFeGVjdXRhYmxlQWxsb2Nh
dG9yOjppbml0aWFsaXplVW5kZXJseWluZ0FsbG9jYXRvcik6CisgICAgICAgIChKU0M6OkV4ZWN1
dGFibGVBbGxvY2F0b3I6OmluaXRpYWxpemUpOgorCiAyMDE5LTExLTE4ICBNYXJrIExhbSAgPG1h
cmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBBbHdheXMgZW5hYmxlIE9wdGlvbmFsPE9wdGlv
bnNTdG9yYWdlOjpTaXplPiBwYXJzZShjb25zdCBjaGFyKiBzdHJpbmcpIGZvciBPUyhEQVJXSU4p
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2Nh
dG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5j
cHAKaW5kZXggYTBkMjc3YTkyMmVhYzUxOTYzZWQzMTFkODRiODRjZjc0MzNmOGIwMC4uN2IwZDBm
NDE1ZWJlYmU4ZmJmMTdiNzE4NDU5ZTBlMmUyZjQzYTkwOSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuY3BwCkBAIC00MTQsMTAgKzQxNCwx
NSBAQCBGaXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0b3I6On5GaXhlZFZNUG9vbEV4ZWN1dGFi
bGVBbGxvY2F0b3IoKQogICAgIG1fcmVzZXJ2YXRpb24uZGVhbGxvY2F0ZSgpOwogfQogCisvLyBL
ZWVwIHRoaXMgcG9pbnRlciBpbiBhIG11dGFibGUgZ2xvYmFsIHZhcmlhYmxlIHRvIGhlbHAgTGVh
a3MgZmluZCBpdC4KKy8vIEJ1dCB3ZSBkbyBub3QgdXNlIHRoaXMgcG9pbnRlci4KK3N0YXRpYyBG
aXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0b3IqIGdsb2JhbEZpeGVkVk1Qb29sRXhlY3V0YWJs
ZUFsbG9jYXRvclRvV29ya0Fyb3VuZExlYWtzID0gbnVsbHB0cjsKIHZvaWQgRXhlY3V0YWJsZUFs
bG9jYXRvcjo6aW5pdGlhbGl6ZVVuZGVybHlpbmdBbGxvY2F0b3IoKQogewogICAgIFJFTEVBU0Vf
QVNTRVJUKCFnX2pzY0NvbmZpZy5maXhlZFZNUG9vbEV4ZWN1dGFibGVBbGxvY2F0b3IpOwotICAg
IGdfanNjQ29uZmlnLmZpeGVkVk1Qb29sRXhlY3V0YWJsZUFsbG9jYXRvciA9IG5ldyBGaXhlZFZN
UG9vbEV4ZWN1dGFibGVBbGxvY2F0b3IoKTsKKyAgICBhdXRvKiBhbGxvY2F0b3IgPSBuZXcgRml4
ZWRWTVBvb2xFeGVjdXRhYmxlQWxsb2NhdG9yKCk7CisgICAgZ19qc2NDb25maWcuZml4ZWRWTVBv
b2xFeGVjdXRhYmxlQWxsb2NhdG9yID0gYWxsb2NhdG9yOworICAgIGdsb2JhbEZpeGVkVk1Qb29s
RXhlY3V0YWJsZUFsbG9jYXRvclRvV29ya0Fyb3VuZExlYWtzID0gYWxsb2NhdG9yOwogICAgIENv
ZGVQcm9maWxpbmc6Om5vdGlmeUFsbG9jYXRvcihnX2pzY0NvbmZpZy5maXhlZFZNUG9vbEV4ZWN1
dGFibGVBbGxvY2F0b3IpOwogfQogCkBAIC02NDIsOSArNjQ3LDE0IEBAIHZvaWQgZHVtcEpJVE1l
bW9yeShjb25zdCB2b2lkKiBkc3QsIGNvbnN0IHZvaWQqIHNyYywgc2l6ZV90IHNpemUpCiAKIG5h
bWVzcGFjZSBKU0MgewogCisvLyBLZWVwIHRoaXMgcG9pbnRlciBpbiBhIG11dGFibGUgZ2xvYmFs
IHZhcmlhYmxlIHRvIGhlbHAgTGVha3MgZmluZCBpdC4KKy8vIEJ1dCB3ZSBkbyBub3QgdXNlIHRo
aXMgcG9pbnRlci4KK3N0YXRpYyBFeGVjdXRhYmxlQWxsb2NhdG9yKiBnbG9iYWxFeGVjdXRhYmxl
QWxsb2NhdG9yVG9Xb3JrQXJvdW5kTGVha3MgPSBudWxscHRyOwogdm9pZCBFeGVjdXRhYmxlQWxs
b2NhdG9yOjppbml0aWFsaXplKCkKIHsKLSAgICBnX2pzY0NvbmZpZy5leGVjdXRhYmxlQWxsb2Nh
dG9yID0gbmV3IEV4ZWN1dGFibGVBbGxvY2F0b3I7CisgICAgYXV0byogYWxsb2NhdG9yID0gbmV3
IEV4ZWN1dGFibGVBbGxvY2F0b3I7CisgICAgZ19qc2NDb25maWcuZXhlY3V0YWJsZUFsbG9jYXRv
ciA9IGFsbG9jYXRvcjsKKyAgICBnbG9iYWxFeGVjdXRhYmxlQWxsb2NhdG9yVG9Xb3JrQXJvdW5k
TGVha3MgPSBhbGxvY2F0b3I7CiB9CiAKIEV4ZWN1dGFibGVBbGxvY2F0b3ImIEV4ZWN1dGFibGVB
bGxvY2F0b3I6OnNpbmdsZXRvbigpCg==
</data>
<flag name="review"
          id="399690"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>