<?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>148047</bug_id>
          
          <creation_ts>2015-08-14 16:57:29 -0700</creation_ts>
          <short_desc>Allow the garbage collector to clear code while compilation is in flight</short_desc>
          <delta_ts>2015-08-19 18:12:16 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1117833</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-08-14 16:57:29 -0700</bug_when>
    <thetext>Allow the garbage collector to clear code while compilation is in flight</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117834</commentid>
    <comment_count>1</comment_count>
      <attachid>259058</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-08-14 17:00:16 -0700</bug_when>
    <thetext>Created attachment 259058
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117835</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-08-14 17:03:46 -0700</bug_when>
    <thetext>Updated ChangeLog:

2015-08-14  Geoffrey Garen  &lt;ggaren@apple.com&gt;

        Allow the garbage collector to clear code while compilation is in flight
        https://bugs.webkit.org/show_bug.cgi?id=148047

        Reviewed by NOBODY (OOPS!).

        Anecdotal evidence shows that a burst of activity can run the GC before
        all compilation completes. So, our rule that GC can&apos;t clear code
        during compilation means that GC almost never gets an opportunity to
        clear code.

        Refine this rule to be per-executable rather than global.

        * dfg/DFGWorklist.cpp:
        (JSC::DFG::Worklist::gatherActiveCompilations):
        * dfg/DFGWorklist.h: Added a helper for identifying active compilations.

        * heap/Heap.cpp:
        (JSC::Heap::deleteAllCompiledCode): We can honor the rule that we don&apos;t
        clear while compiling by checking each executable individually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118623</commentid>
    <comment_count>3</comment_count>
      <attachid>259058</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-08-18 13:53:51 -0700</bug_when>
    <thetext>Comment on attachment 259058
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119141</commentid>
    <comment_count>4</comment_count>
      <attachid>259058</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-08-19 18:12:16 -0700</bug_when>
    <thetext>Comment on attachment 259058
Patch

This patch is wrong because it is not safe in our current design to throw away one CodeBlock if you do not throw away all CodeBlocks. Residual links through OSR exit will become stale.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259058</attachid>
            <date>2015-08-14 17:00:16 -0700</date>
            <delta_ts>2015-08-19 18:12:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148047-20150814165957.patch</filename>
            <type>text/plain</type>
            <size>4129</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg4NDk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDE1LTA4LTE0ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWxsb3cgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIHRvIGNsZWFyIGNvZGUgd2hpbGUgY29tcGls
YXRpb24gaXMgaW4gZmxpZ2h0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDgwNDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGRmZy9ERkdXb3JrbGlzdC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6V29y
a2xpc3Q6OmdhdGhlckFjdGl2ZUNvbXBpbGF0aW9ucyk6CisgICAgICAgICogZGZnL0RGR1dvcmts
aXN0Lmg6IEFkZGVkIGEgaGVscGVyIGZvciBpZGVudGlmeWluZyBhY3RpdmUgY29tcGlsYXRpb25z
LgorCisgICAgICAgICogaGVhcC9IZWFwLmNwcDoKKyAgICAgICAgKEpTQzo6SGVhcDo6ZGVsZXRl
QWxsQ29tcGlsZWRDb2RlKTogV2UgY2FuIGhvbm9yIHRoZSBydWxlIHRoYXQgd2UgZG9uJ3QKKyAg
ICAgICAgY2xlYXIgd2hpbGUgY29tcGlsaW5nIGJ5IGNoZWNraW5nIGVhY2ggZXhlY3V0YWJsZSBp
bmRpdmlkdWFsbHkuCisKIDIwMTUtMDgtMTQgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgRVM2IGNsYXNzIHN5bnRheCBzaG91bGQgYWxsb3cgY29tcHV0ZWQgbmFt
ZSBtZXRob2QKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV29ya2xpc3QuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV29ya2xpc3QuY3Bw
CShyZXZpc2lvbiAxODgzNTApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dvcmts
aXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNiArODYsMTQgQEAgYm9vbCBXb3JrbGlzdDo6
aXNBY3RpdmVGb3JWTShWTSYgdm0pIGNvbgogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9pZCBX
b3JrbGlzdDo6Z2F0aGVyQWN0aXZlQ29tcGlsYXRpb25zKEhhc2hTZXQ8RXhlY3V0YWJsZUJhc2Uq
PiYgYWN0aXZlQ29tcGlsYXRpb25zKQoreworICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX2xvY2sp
OworICAgIFBsYW5NYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fcGxhbnMuZW5kKCk7CisgICAg
Zm9yIChQbGFuTWFwOjpjb25zdF9pdGVyYXRvciBpdGVyID0gbV9wbGFucy5iZWdpbigpOyBpdGVy
ICE9IGVuZDsgKytpdGVyKQorICAgICAgICBhY3RpdmVDb21waWxhdGlvbnMuYWRkKGl0ZXItPnZh
bHVlLT5jb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpKTsKK30KKwogdm9pZCBXb3JrbGlzdDo6
ZW5xdWV1ZShQYXNzUmVmUHRyPFBsYW4+IHBhc3NlZFBsYW4pCiB7CiAgICAgUmVmUHRyPFBsYW4+
IHBsYW4gPSBwYXNzZWRQbGFuOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdX
b3JrbGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHV29y
a2xpc3QuaAkocmV2aXNpb24gMTg4MzUwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdXb3JrbGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHJlc3VtZUFsbFRocmVhZHMoKTsKICAgICAKICAgICBib29sIGlzQWN0aXZlRm9yVk0o
Vk0mKSBjb25zdDsKKworICAgIHZvaWQgZ2F0aGVyQWN0aXZlQ29tcGlsYXRpb25zKEhhc2hTZXQ8
RXhlY3V0YWJsZUJhc2UqPiYpOwogICAgIAogICAgIC8vIE9ubHkgY2FsbGVkIG9uIHRoZSBtYWlu
IHRocmVhZCBhZnRlciBzdXNwZW5kaW5nIGFsbCB0aHJlYWRzLgogICAgIHZvaWQgdmlzaXRXZWFr
UmVmZXJlbmNlcyhTbG90VmlzaXRvciYsIENvZGVCbG9ja1NldCYpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSGVhcC5jcHAJKHJldmlzaW9uIDE4ODQwMSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL0hlYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MDgsMjYgKzkwOCwyNiBA
QCB2b2lkIEhlYXA6OmRlbGV0ZUFsbENvbXBpbGVkQ29kZSgpCiAgICAgLy8gd2UnbGwgZW5kIHVw
IHJldHVybmluZyB0byBkZWxldGVkIGNvZGUuCiAgICAgaWYgKG1fdm0tPmVudHJ5U2NvcGUpCiAg
ICAgICAgIHJldHVybjsKLSAgICAKLSAgICAvLyBJZiB3ZSBoYXZlIHRoaW5ncyBvbiBhbnkgd29y
a2xpc3QsIHRoZW4gZG9uJ3QgZGVsZXRlIGNvZGUuIFRoaXMgaXMga2luZCBvZgotICAgIC8vIGEg
d2VpcmQgaGV1cmlzdGljLiBJdCdzIGRlZmluaXRlbHkgbm90IHNhZmUgdG8gdGhyb3cgYXdheSBj
b2RlIHRoYXQgaXMgb24KLSAgICAvLyB0aGUgd29ya2xpc3QuIEJ1dCB0aGlzIGNoYW5nZSB3YXMg
bWFkZSBpbiBhIGh1cnJ5IHNvIHdlIGp1c3QgYXZvaWQgdGhyb3dpbmcKLSAgICAvLyBhd2F5IGFu
eSBjb2RlIGlmIHRoZXJlIGlzIGFueSBjb2RlIG9uIGFueSB3b3JrbGlzdC4gSSBzdXNwZWN0IHRo
YXQgdGhpcwotICAgIC8vIG1pZ2h0IG5vdCBhY3R1YWxseSBiZSB0b28gZHVtYjogaWYgdGhlcmUg
aXMgY29kZSBvbiB3b3JrbGlzdHMgdGhlbiB0aGF0Ci0gICAgLy8gbWVhbnMgdGhhdCB3ZSBhcmUg
cnVubmluZyBzb21lIGhvdCBKUyBjb2RlIHJpZ2h0IG5vdy4gTWF5YmUgY2F1c2luZwotICAgIC8v
IHJlY29tcGlsYXRpb25zIGlzbid0IGEgZ29vZCBpZGVhLgorCisgICAgSGFzaFNldDxFeGVjdXRh
YmxlQmFzZSo+IGFjdGl2ZUNvbXBpbGF0aW9uczsKICNpZiBFTkFCTEUoREZHX0pJVCkKICAgICBm
b3IgKHVuc2lnbmVkIGkgPSBERkc6Om51bWJlck9mV29ya2xpc3RzKCk7IGktLTspIHsKLSAgICAg
ICAgaWYgKERGRzo6V29ya2xpc3QqIHdvcmtsaXN0ID0gREZHOjp3b3JrbGlzdEZvckluZGV4T3JO
dWxsKGkpKSB7Ci0gICAgICAgICAgICBpZiAod29ya2xpc3QtPmlzQWN0aXZlRm9yVk0oKnZtKCkp
KQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQorICAgICAgICBpZiAoREZHOjpX
b3JrbGlzdCogd29ya2xpc3QgPSBERkc6OndvcmtsaXN0Rm9ySW5kZXhPck51bGwoaSkpCisgICAg
ICAgICAgICB3b3JrbGlzdC0+Z2F0aGVyQWN0aXZlQ29tcGlsYXRpb25zKGFjdGl2ZUNvbXBpbGF0
aW9ucyk7CiAgICAgfQogI2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQogCiAgICAgZm9yIChFeGVj
dXRhYmxlQmFzZSogY3VycmVudCA6IG1fY29tcGlsZWRDb2RlKSB7CisgICAgICAgIC8vIE5vIG5l
ZWQgdG8gZGVsZXRlIHByb2dyYW0gYW5kIGV2YWwgY29kZSBiZWNhdXNlIHRoZXkgYXJlIG9uZS1z
aG90IGNvZGUKKyAgICAgICAgLy8gdGhhdCBpcyBlaXRoZXIgbGl2ZSBvciBnYXJiYWdlLgogICAg
ICAgICBpZiAoIWN1cnJlbnQtPmlzRnVuY3Rpb25FeGVjdXRhYmxlKCkpCiAgICAgICAgICAgICBj
b250aW51ZTsKKworICAgICAgICAvLyBJdCdzIG5vdCBzYWZlIHRvIGRlbGV0ZSBjb2RlIHdoaWxl
IGl0IGNvbXBpbGVzIGFuIG9wdGltaXplZCBhbHRlcm5hdGl2ZS4KKyAgICAgICAgLy8gU2VlIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjg0NDMuCisgICAgICAgIGlm
IChhY3RpdmVDb21waWxhdGlvbnMuY29udGFpbnMoY3VycmVudCkpCisgICAgICAgICAgICBjb250
aW51ZTsKKwogICAgICAgICBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihjdXJyZW50
KS0+Y2xlYXJDb2RlKCk7CiAgICAgfQogCg==
</data>
<flag name="review"
          id="284262"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>