<?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>162006</bug_id>
          
          <creation_ts>2016-09-14 19:45:51 -0700</creation_ts>
          <short_desc>There is no good reason for WeakBlock to care about newly allocated objects</short_desc>
          <delta_ts>2016-09-15 10:19:32 -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>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>
          
          <blocked>149432</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1229879</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-09-14 19:45:51 -0700</bug_when>
    <thetext>WeakBlock scans itself in two modes:

visit: if a Weak in the block belongs to an unmarked object, ask the Weak to consider whether it should do things.
reap: if a Weak in a block belongs to an unmarked object, delete the Weak.

Except that &quot;unmarked&quot; has a peculiar meaning: WeakBlock defines it as !markedOrNewlyAllocated.  So, a newly allocated object will never be consulted about anything.  That sounds scary until you realize that newlyAllocated must have been cleared before we even got here.

So, we were paying the price of checking newlyAllocated for no reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229884</commentid>
    <comment_count>1</comment_count>
      <attachid>288919</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-09-14 19:48:35 -0700</bug_when>
    <thetext>Created attachment 288919
possibly the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1230063</commentid>
    <comment_count>2</comment_count>
      <attachid>288919</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-09-15 10:17:45 -0700</bug_when>
    <thetext>Comment on attachment 288919
possibly the patch

r=ggaren in person</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1230065</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-09-15 10:19:32 -0700</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/205979</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288919</attachid>
            <date>2016-09-14 19:48:35 -0700</date>
            <delta_ts>2016-09-15 10:17:45 -0700</delta_ts>
            <desc>possibly the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>5020</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA1OTQ0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBA
CisyMDE2LTA5LTE0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
VGhlcmUgaXMgbm8gZ29vZCByZWFzb24gZm9yIFdlYWtCbG9jayB0byBjYXJlIGFib3V0IG5ld2x5
IGFsbG9jYXRlZCBvYmplY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjIwMDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZWFrQmxvY2sgc2NhbnMgaXRzZWxmIGluIHR3byBtb2RlczoKKworICAgICAg
ICB2aXNpdDogaWYgYSBXZWFrIGluIHRoZSBibG9jayBiZWxvbmdzIHRvIGFuIHVubWFya2VkIG9i
amVjdCwgYXNrIHRoZSBXZWFrIHRvIGNvbnNpZGVyIHdoZXRoZXIKKyAgICAgICAgICAgIGl0IHNo
b3VsZCBkbyB0aGluZ3MuCisgICAgICAgIAorICAgICAgICByZWFwOiBpZiBhIFdlYWsgaW4gYSBi
bG9jayBiZWxvbmdzIHRvIGFuIHVubWFya2VkIG9iamVjdCwgZGVsZXRlIHRoZSBXZWFrLgorCisg
ICAgICAgIEV4Y2VwdCB0aGF0ICJ1bm1hcmtlZCIgaGFzIGEgcGVjdWxpYXIgbWVhbmluZzogV2Vh
a0Jsb2NrIGRlZmluZXMgaXQgYXMKKyAgICAgICAgIW1hcmtlZE9yTmV3bHlBbGxvY2F0ZWQuIFNv
LCBhIG5ld2x5IGFsbG9jYXRlZCBvYmplY3Qgd2lsbCBuZXZlciBiZSBjb25zdWx0ZWQgYWJvdXQg
YW55dGhpbmcuIAorICAgICAgICBUaGF0IHNvdW5kcyBzY2FyeSB1bnRpbCB5b3UgcmVhbGl6ZSB0
aGF0IG5ld2x5QWxsb2NhdGVkIG11c3QgaGF2ZSBiZWVuIGNsZWFyZWQgYmVmb3JlIHdlIGV2ZW4K
KyAgICAgICAgZ290IGhlcmUuCisKKyAgICAgICAgU28sIHdlIHdlcmUgcGF5aW5nIHRoZSBwcmlj
ZSBvZiBjaGVja2luZyBuZXdseUFsbG9jYXRlZCBmb3Igbm8gcmVhc29uLiBUaGlzIHN3aXRjaGVz
IHRoZSBjb2RlCisgICAgICAgIHRvIHVzaW5nIGlzTWFya2VkKCkuIEkgZG9uJ3Qga25vdyB3aHkg
dGhlIGNvZGUgcHJldmlvdXNseSBjaGVja2VkIG5ld2x5QWxsb2NhdGVkLCBidXQgSSBkbworICAg
ICAgICB0cnVzdCBteSByZWFzb25pbmcuCisKKyAgICAgICAgKiBoZWFwL0xhcmdlQWxsb2NhdGlv
bi5oOgorICAgICAgICAoSlNDOjpMYXJnZUFsbG9jYXRpb246OmlzTWFya2VkRHVyaW5nV2Vha1Zp
c2l0aW5nKToKKyAgICAgICAgKEpTQzo6TGFyZ2VBbGxvY2F0aW9uOjppc01hcmtlZE9yTmV3bHlB
bGxvY2F0ZWREdXJpbmdXZWFrVmlzaXRpbmcpOiBEZWxldGVkLgorICAgICAgICAqIGhlYXAvTWFy
a2VkQmxvY2suaDoKKyAgICAgICAgKEpTQzo6TWFya2VkQmxvY2s6OmlzTWFya2VkRHVyaW5nV2Vh
a1Zpc2l0aW5nKToKKyAgICAgICAgKEpTQzo6TWFya2VkQmxvY2s6OmlzTWFya2VkT3JOZXdseUFs
bG9jYXRlZER1cmluZ1dlYWtWaXNpdGluZyk6IERlbGV0ZWQuCisgICAgICAgICogaGVhcC9XZWFr
QmxvY2suY3BwOgorICAgICAgICAoSlNDOjpXZWFrQmxvY2s6OnNwZWNpYWxpemVkVmlzaXQpOgor
ICAgICAgICAoSlNDOjpXZWFrQmxvY2s6OnJlYXApOgorCiAyMDE2LTA5LTE0ICBKb3NlcGggUGVj
b3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
IHdoZW4gdXNpbmcgc3ByZWFkIGluc2lkZSBhbiBhcnJheSBsaXRlcmFsIHdpdGggRnVuY3Rpb24u
cHJvdG90eXBlLmFwcGx5CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9MYXJnZUFs
bG9jYXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9MYXJn
ZUFsbG9jYXRpb24uaAkocmV2aXNpb24gMjA1OTQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2hlYXAvTGFyZ2VBbGxvY2F0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTcyLDcgKzcyLDcgQEAg
cHVibGljOgogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc01hcmtlZCgpIHsgcmV0dXJuIG1faXNN
YXJrZWQubG9hZChzdGQ6Om1lbW9yeV9vcmRlcl9yZWxheGVkKTsgfQogICAgIGJvb2wgaXNNYXJr
ZWRPck5ld2x5QWxsb2NhdGVkKCkgeyByZXR1cm4gaXNNYXJrZWQoKSB8fCBpc05ld2x5QWxsb2Nh
dGVkKCk7IH0KICAgICBib29sIGlzTWFya2VkT3JOZXdseUFsbG9jYXRlZChIZWFwQ2VsbCopIHsg
cmV0dXJuIGlzTWFya2VkT3JOZXdseUFsbG9jYXRlZCgpOyB9Ci0gICAgYm9vbCBpc01hcmtlZE9y
TmV3bHlBbGxvY2F0ZWREdXJpbmdXZWFrVmlzaXRpbmcoSGVhcFZlcnNpb24sIEhlYXBDZWxsKikg
eyByZXR1cm4gaXNNYXJrZWRPck5ld2x5QWxsb2NhdGVkKCk7IH0KKyAgICBib29sIGlzTWFya2Vk
RHVyaW5nV2Vha1Zpc2l0aW5nKEhlYXBWZXJzaW9uLCBIZWFwQ2VsbCopIHsgcmV0dXJuIGlzTWFy
a2VkKCk7IH0KICAgICBib29sIGlzTGl2ZSgpIHsgcmV0dXJuIGlzTWFya2VkT3JOZXdseUFsbG9j
YXRlZCgpOyB9CiAgICAgCiAgICAgYm9vbCBoYXNWYWxpZENlbGwoKSBjb25zdCB7IHJldHVybiBt
X2hhc1ZhbGlkQ2VsbDsgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2Vk
QmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRC
bG9jay5oCShyZXZpc2lvbiAyMDU5NDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9N
YXJrZWRCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNTEsNyArMjUxLDggQEAgcHVibGljOgog
ICAgIGJvb2wgdGVzdEFuZFNldE1hcmtlZChjb25zdCB2b2lkKik7CiAgICAgICAgIAogICAgIGJv
b2wgaXNNYXJrZWRPck5ld2x5QWxsb2NhdGVkKGNvbnN0IEhlYXBDZWxsKik7Ci0gICAgYm9vbCBp
c01hcmtlZE9yTmV3bHlBbGxvY2F0ZWREdXJpbmdXZWFrVmlzaXRpbmcoSGVhcFZlcnNpb24sIGNv
bnN0IEhlYXBDZWxsKik7CisgICAgCisgICAgYm9vbCBpc01hcmtlZER1cmluZ1dlYWtWaXNpdGlu
ZyhIZWFwVmVyc2lvbiwgY29uc3QgSGVhcENlbGwqKTsKIAogICAgIGJvb2wgaXNBdG9tKGNvbnN0
IHZvaWQqKTsKICAgICB2b2lkIGNsZWFyTWFya2VkKGNvbnN0IHZvaWQqKTsKQEAgLTU2MSwxMSAr
NTYyLDExIEBAIGlubGluZSBib29sIE1hcmtlZEJsb2NrOjppc01hcmtlZE9yTmV3bHkKICAgICBy
ZXR1cm4gaXNNYXJrZWQoY2VsbCkgfHwgKG1faGFuZGxlLm1fbmV3bHlBbGxvY2F0ZWQgJiYgbV9o
YW5kbGUuaXNOZXdseUFsbG9jYXRlZChjZWxsKSk7CiB9CiAKLWlubGluZSBib29sIE1hcmtlZEJs
b2NrOjppc01hcmtlZE9yTmV3bHlBbGxvY2F0ZWREdXJpbmdXZWFrVmlzaXRpbmcoSGVhcFZlcnNp
b24gaGVhcFZlcnNpb24sIGNvbnN0IEhlYXBDZWxsKiBjZWxsKQoraW5saW5lIGJvb2wgTWFya2Vk
QmxvY2s6OmlzTWFya2VkRHVyaW5nV2Vha1Zpc2l0aW5nKEhlYXBWZXJzaW9uIGhlYXBWZXJzaW9u
LCBjb25zdCBIZWFwQ2VsbCogY2VsbCkKIHsKICAgICBpZiAobmVlZHNGbGlwKGhlYXBWZXJzaW9u
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBpc01hcmtlZE9yTmV3bHlBbGxv
Y2F0ZWQoY2VsbCk7CisgICAgcmV0dXJuIGlzTWFya2VkKGNlbGwpOwogfQogCiBpbmxpbmUgYm9v
bCBNYXJrZWRCbG9jazo6SGFuZGxlOjppc0xpdmUoY29uc3QgSGVhcENlbGwqIGNlbGwpCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9XZWFrQmxvY2suY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1dlYWtCbG9jay5jcHAJKHJldmlzaW9uIDIwNTk0
NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1dlYWtCbG9jay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTExMyw3ICsxMTMsNyBAQCB2b2lkIFdlYWtCbG9jazo6c3BlY2lhbGl6ZWRWaXNp
dChDb250YWluCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBjb25zdCBKU1ZhbHVl
JiBqc1ZhbHVlID0gd2Vha0ltcGwtPmpzVmFsdWUoKTsKLSAgICAgICAgaWYgKGNvbnRhaW5lci5p
c01hcmtlZE9yTmV3bHlBbGxvY2F0ZWREdXJpbmdXZWFrVmlzaXRpbmcodmVyc2lvbiwganNWYWx1
ZS5hc0NlbGwoKSkpCisgICAgICAgIGlmIChjb250YWluZXIuaXNNYXJrZWREdXJpbmdXZWFrVmlz
aXRpbmcodmVyc2lvbiwganNWYWx1ZS5hc0NlbGwoKSkpCiAgICAgICAgICAgICBjb250aW51ZTsK
ICAgICAgICAgCiAgICAgICAgIGlmICghd2Vha0hhbmRsZU93bmVyLT5pc1JlYWNoYWJsZUZyb21P
cGFxdWVSb290cyhIYW5kbGU8VW5rbm93bj46OndyYXBTbG90KCZjb25zdF9jYXN0PEpTVmFsdWUm
Pihqc1ZhbHVlKSksIHdlYWtJbXBsLT5jb250ZXh0KCksIHZpc2l0b3IpKQpAQCAtMTU3LDcgKzE1
Nyw3IEBAIHZvaWQgV2Vha0Jsb2NrOjpyZWFwKCkKICAgICAgICAgaWYgKHdlYWtJbXBsLT5zdGF0
ZSgpID4gV2Vha0ltcGw6OkRlYWQpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBp
ZiAobV9jb250YWluZXIuaXNNYXJrZWRPck5ld2x5QWxsb2NhdGVkKHdlYWtJbXBsLT5qc1ZhbHVl
KCkuYXNDZWxsKCkpKSB7CisgICAgICAgIGlmIChtX2NvbnRhaW5lci5pc01hcmtlZCh3ZWFrSW1w
bC0+anNWYWx1ZSgpLmFzQ2VsbCgpKSkgewogICAgICAgICAgICAgQVNTRVJUKHdlYWtJbXBsLT5z
dGF0ZSgpID09IFdlYWtJbXBsOjpMaXZlKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICB9Cg==
</data>
<flag name="review"
          id="312191"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>