<?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>148478</bug_id>
          
          <creation_ts>2015-08-26 08:28:52 -0700</creation_ts>
          <short_desc>[JSC] StructureTransitionTable should eagerly deallocate single-transition WeakImpls.</short_desc>
          <delta_ts>2015-08-26 12:21:38 -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>Performance</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1120936</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-08-26 08:28:52 -0700</bug_when>
    <thetext>When using the single-transition optimization, StructureTransitionTable sometimes holds on to a WeakImpl after its pointee has been collected.
This causes us to unnecessarily extend the lifetime of WeakBlocks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120938</commentid>
    <comment_count>1</comment_count>
      <attachid>259953</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-08-26 08:42:53 -0700</bug_when>
    <thetext>Created attachment 259953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120981</commentid>
    <comment_count>2</comment_count>
      <attachid>259953</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-08-26 11:01:55 -0700</bug_when>
    <thetext>Comment on attachment 259953
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121018</commentid>
    <comment_count>3</comment_count>
      <attachid>259953</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-26 12:21:35 -0700</bug_when>
    <thetext>Comment on attachment 259953
Patch

Clearing flags on attachment: 259953

Committed r188978: &lt;http://trac.webkit.org/changeset/188978&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121019</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-26 12:21:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259953</attachid>
            <date>2015-08-26 08:42:53 -0700</date>
            <delta_ts>2015-08-26 12:21:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148478.diff</filename>
            <type>text/plain</type>
            <size>5055</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDcyOTk5MmUuLjg0M2I2MjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA4LTI2ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBbSlNDXSBTdHJ1Y3R1cmVUcmFuc2l0aW9u
VGFibGUgc2hvdWxkIGVhZ2VybHkgZGVhbGxvY2F0ZSBzaW5nbGUtdHJhbnNpdGlvbiBXZWFrSW1w
bHMuCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xNDg0Nzg+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGEgV2Vha0hhbmRsZU93bmVy
IHRvIGVhZ2VybHkgZGVhbGxvY2F0ZSBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUncyBXZWFrIHBv
aW50ZXJzCisgICAgICAgIHdoZW4gaXQncyB1c2luZyB0aGUgc2luZ2xlLXRyYW5zaXRpb24gb3B0
aW1pemF0aW9uIGFuZCB0aGUgU3RydWN0dXJlIGl0IHRyYW5zaXRpb25lZAorICAgICAgICB0byBo
YXMgYmVlbiBHQydkLgorCisgICAgICAgIFRoaXMgcHJldmVudHMgU3RydWN0dXJlcyBmcm9tIGtl
ZXBpbmcgV2Vha0Jsb2NrcyBhbGl2ZSBsb25nZXIgdGhhbiBuZWNlc3Nhcnkgd2hlbgorICAgICAg
ICB0aGV5J3ZlIGJlZW4gdHJhbnNpdGlvbmVkIGF3YXkgZnJvbSBidXQgYXJlIHN0aWxsIGluIHVz
ZSB0aGVtc2VsdmVzLgorCisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuY3BwOgorICAgICAg
ICAoSlNDOjpzaW5nbGVTbG90VHJhbnNpdGlvbldlYWtPd25lcik6CisgICAgICAgIChKU0M6OlN0
cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6c2luZ2xlVHJhbnNpdGlvbik6CisgICAgICAgIChKU0M6
OlN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6c2V0U2luZ2xlVHJhbnNpdGlvbik6CisgICAgICAg
IChKU0M6OlN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTo6YWRkKToKKyAgICAgICAgKiBydW50aW1l
L1N0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVUcmFu
c2l0aW9uVGFibGU6OnNpbmdsZVRyYW5zaXRpb24pOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpT
dHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OnNldFNpbmdsZVRyYW5zaXRpb24pOiBEZWxldGVkLgor
CiAyMDE1LTA4LTI1ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAg
IExldHMgcmVuYW1lIGNvZGVPcmlnaW5JbmRleCB0byBjYWxsU2l0ZUluZGV4IGFuZCBnZXQgcmlk
IG9mIENhbGxGcmFtZTo6TG9jYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlLmNwcAppbmRleCAzNjk4NzU5Li4yOGY4ZDQ4MCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVk
ZSAiU3RydWN0dXJlUmFyZURhdGFJbmxpbmVzLmgiCiAjaW5jbHVkZSAiV2Vha0dDTWFwSW5saW5l
cy5oIgogI2luY2x1ZGUgPHd0Zi9Db21tYVByaW50ZXIuaD4KKyNpbmNsdWRlIDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUHJvY2Vzc0lELmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWRMZWFrQ291bnRlci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTYwLDYg
KzYxLDQxIEBAIG5hbWVzcGFjZSBKU0Mgewogc3RhdGljIEhhc2hTZXQ8U3RydWN0dXJlKj4mIGxp
dmVTdHJ1Y3R1cmVTZXQgPSAqKG5ldyBIYXNoU2V0PFN0cnVjdHVyZSo+KTsKICNlbmRpZgogCitj
bGFzcyBTaW5nbGVTbG90VHJhbnNpdGlvbldlYWtPd25lciBmaW5hbCA6IHB1YmxpYyBXZWFrSGFu
ZGxlT3duZXIgeworICAgIHZvaWQgZmluYWxpemUoSGFuZGxlPFVua25vd24+LCB2b2lkKiBjb250
ZXh0KSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlKiB0
YWJsZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8U3RydWN0dXJlVHJhbnNpdGlvblRhYmxlKj4oY29udGV4
dCk7CisgICAgICAgIEFTU0VSVCh0YWJsZS0+aXNVc2luZ1NpbmdsZVNsb3QoKSk7CisgICAgICAg
IFdlYWtTZXQ6OmRlYWxsb2NhdGUodGFibGUtPndlYWtJbXBsKCkpOworICAgICAgICB0YWJsZS0+
bV9kYXRhID0gU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpVc2luZ1NpbmdsZVNsb3RGbGFnOwor
ICAgIH0KK307CisKK3N0YXRpYyBTaW5nbGVTbG90VHJhbnNpdGlvbldlYWtPd25lciYgc2luZ2xl
U2xvdFRyYW5zaXRpb25XZWFrT3duZXIoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxT
aW5nbGVTbG90VHJhbnNpdGlvbldlYWtPd25lcj4gb3duZXI7CisgICAgcmV0dXJuIG93bmVyOwor
fQorCitpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OnNpbmdsZVRy
YW5zaXRpb24oKSBjb25zdAoreworICAgIEFTU0VSVChpc1VzaW5nU2luZ2xlU2xvdCgpKTsKKyAg
ICBpZiAoV2Vha0ltcGwqIGltcGwgPSB0aGlzLT53ZWFrSW1wbCgpKSB7CisgICAgICAgIGlmIChp
bXBsLT5zdGF0ZSgpID09IFdlYWtJbXBsOjpMaXZlKQorICAgICAgICAgICAgcmV0dXJuIGpzQ2Fz
dDxTdHJ1Y3R1cmUqPihpbXBsLT5qc1ZhbHVlKCkuYXNDZWxsKCkpOworICAgIH0KKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworaW5saW5lIHZvaWQgU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlOjpz
ZXRTaW5nbGVUcmFuc2l0aW9uKFN0cnVjdHVyZSogc3RydWN0dXJlKQoreworICAgIEFTU0VSVChp
c1VzaW5nU2luZ2xlU2xvdCgpKTsKKyAgICBpZiAoV2Vha0ltcGwqIGltcGwgPSB0aGlzLT53ZWFr
SW1wbCgpKQorICAgICAgICBXZWFrU2V0OjpkZWFsbG9jYXRlKGltcGwpOworICAgIFdlYWtJbXBs
KiBpbXBsID0gV2Vha1NldDo6YWxsb2NhdGUoc3RydWN0dXJlLCAmc2luZ2xlU2xvdFRyYW5zaXRp
b25XZWFrT3duZXIoKSwgdGhpcyk7CisgICAgbV9kYXRhID0gcmVpbnRlcnByZXRfY2FzdDxpbnRw
dHJfdD4oaW1wbCkgfCBVc2luZ1NpbmdsZVNsb3RGbGFnOworfQorCiBib29sIFN0cnVjdHVyZVRy
YW5zaXRpb25UYWJsZTo6Y29udGFpbnMoVW5pcXVlZFN0cmluZ0ltcGwqIHJlcCwgdW5zaWduZWQg
YXR0cmlidXRlcykgY29uc3QKIHsKICAgICBpZiAoaXNVc2luZ1NpbmdsZVNsb3QoKSkgewpAQCAt
ODUsNyArMTIxLDcgQEAgdm9pZCBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU6OmFkZChWTSYgdm0s
IFN0cnVjdHVyZSogc3RydWN0dXJlKQogCiAgICAgICAgIC8vIFRoaXMgaGFuZGxlcyB0aGUgZmly
c3QgdHJhbnNpdGlvbiBiZWluZyBhZGRlZC4KICAgICAgICAgaWYgKCFleGlzdGluZ1RyYW5zaXRp
b24pIHsKLSAgICAgICAgICAgIHNldFNpbmdsZVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSk7Cisg
ICAgICAgICAgICBzZXRTaW5nbGVUcmFuc2l0aW9uKHN0cnVjdHVyZSk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAppbmRleCA3ZmQzYzc3Li4xNzY5MGEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFu
c2l0aW9uVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmVUcmFuc2l0aW9uVGFibGUuaApAQCAtMTM0LDYgKzEzNCw4IEBAIHB1YmxpYzoKICAgICBTdHJ1
Y3R1cmUqIGdldChVbmlxdWVkU3RyaW5nSW1wbCosIHVuc2lnbmVkIGF0dHJpYnV0ZXMpIGNvbnN0
OwogCiBwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBTaW5nbGVTbG90VHJhbnNpdGlvbldlYWtP
d25lcjsKKwogICAgIGJvb2wgaXNVc2luZ1NpbmdsZVNsb3QoKSBjb25zdAogICAgIHsKICAgICAg
ICAgcmV0dXJuIG1fZGF0YSAmIFVzaW5nU2luZ2xlU2xvdEZsYWc7CkBAIC0xNjQsMjQgKzE2Niw4
IEBAIHByaXZhdGU6CiAgICAgICAgIEFTU0VSVCghaXNVc2luZ1NpbmdsZVNsb3QoKSk7CiAgICAg
fQogCi0gICAgU3RydWN0dXJlKiBzaW5nbGVUcmFuc2l0aW9uKCkgY29uc3QKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVChpc1VzaW5nU2luZ2xlU2xvdCgpKTsKLSAgICAgICAgaWYgKFdlYWtJbXBsKiBp
bXBsID0gdGhpcy0+d2Vha0ltcGwoKSkgewotICAgICAgICAgICAgaWYgKGltcGwtPnN0YXRlKCkg
PT0gV2Vha0ltcGw6OkxpdmUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8U3RydWN0dXJlKj4oaW1wbC0+anNWYWx1ZSgpLmFzQ2VsbCgpKTsKLSAgICAgICAgfQotICAg
ICAgICByZXR1cm4gMDsKLSAgICB9Ci0gICAgCi0gICAgdm9pZCBzZXRTaW5nbGVUcmFuc2l0aW9u
KFZNJiwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgewotICAgICAgICBBU1NFUlQoaXNVc2lu
Z1NpbmdsZVNsb3QoKSk7Ci0gICAgICAgIGlmIChXZWFrSW1wbCogaW1wbCA9IHRoaXMtPndlYWtJ
bXBsKCkpCi0gICAgICAgICAgICBXZWFrU2V0OjpkZWFsbG9jYXRlKGltcGwpOwotICAgICAgICBX
ZWFrSW1wbCogaW1wbCA9IFdlYWtTZXQ6OmFsbG9jYXRlKHJlaW50ZXJwcmV0X2Nhc3Q8SlNDZWxs
Kj4oc3RydWN0dXJlKSk7Ci0gICAgICAgIG1fZGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRy
X3Q+KGltcGwpIHwgVXNpbmdTaW5nbGVTbG90RmxhZzsKLSAgICB9CisgICAgU3RydWN0dXJlKiBz
aW5nbGVUcmFuc2l0aW9uKCkgY29uc3Q7CisgICAgdm9pZCBzZXRTaW5nbGVUcmFuc2l0aW9uKFN0
cnVjdHVyZSopOwogCiAgICAgaW50cHRyX3QgbV9kYXRhOwogfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>