<?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>146895</bug_id>
          
          <creation_ts>2015-07-12 14:34:44 -0700</creation_ts>
          <short_desc>Watchpoints should be removed from their owning WatchpointSet before they are fired</short_desc>
          <delta_ts>2015-07-12 19:17:45 -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>528+ (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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>basile_clement</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1109045</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-07-12 14:34:44 -0700</bug_when>
    <thetext>This addresses two issues:

- We have had some weirdo bugs where the watchpoint being fired doesn&apos;t kill the watchpoint, and therefore doesn&apos;t remove it.  That causes an infinite loop inside WatchpointSet.  We don&apos;t have such bugs right now, but it&apos;s something that you can hit whenever adding new uses of the watchpoint API.  Having the removal happen before means that we just don&apos;t have to worry about this, ever.  OTOH, I can&apos;t think of any use of Watchpoint that wants to keep the Watchpoint in the set after it is fired.

- It would be great to write adaptive watchpoints that readd themselves to a different set when they are fired.  But to do this, we need to first remove them from the set that they are currently on.  The easiest API for this is to have the removal happen before fire() is called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109046</commentid>
    <comment_count>1</comment_count>
      <attachid>256682</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-07-12 14:38:55 -0700</bug_when>
    <thetext>Created attachment 256682
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109047</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-12 14:42:06 -0700</bug_when>
    <thetext>Attachment 256682 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/Watchpoint.h:83:  The parameter name &quot;detail&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109048</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-07-12 14:53:08 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 256682 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/JavaScriptCore/bytecode/Watchpoint.h:83:  The parameter name
&gt; &quot;detail&quot; adds no information, so it should be removed. 
&gt; [readability/parameter_name] [5]
&gt; Total errors found: 1 in 3 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

Fixed locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109052</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-07-12 19:17:45 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/186745</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256682</attachid>
            <date>2015-07-12 14:38:55 -0700</date>
            <delta_ts>2015-07-12 18:42:08 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>5246</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg2NzQxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDE1LTA3LTEyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
V2F0Y2hwb2ludHMgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0aGVpciBvd25pbmcgV2F0Y2hwb2lu
dFNldCBiZWZvcmUgdGhleSBhcmUgZmlyZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0Njg5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorICAgICAgICAKKyAgICAgICAgVGhpcyBzaW1wbGlmaWVzIHRoZSBXYXRjaHBvaW50
U2V0IEFQSSBieSBtYWtpbmcgaXQgc28gdGhhdCB3aGVuIFdhdGNocG9pbnQ6OmZpcmUoKSBpcwor
ICAgICAgICBjYWxsZWQsIHRoZSBXYXRjaHBvaW50IGlzIG5vIGxvbmdlciBpbiB0aGUgc2V0LiBU
aGlzIG1lYW5zIHRoYXQgeW91IGRvbid0IGhhdmUgdG8gcmVtZW1iZXIKKyAgICAgICAgdG8gcmVt
b3ZlIGl0IGZyb20gdGhlIHNldCdzIGxpc3QgKGN1cnJlbnRseSB3ZSBkbyB0aGF0IGltcGxpY2l0
bHkgYXMgcGFydCBvZiB3aGF0ZXZlcgorICAgICAgICBhbnkgcGFydGljdWxhciBXYXRjaHBvaW50
OjpmaXJlSW50ZXJuYWwoKSBkb2VzKSwgYW5kIHlvdSBjYW4gbm93IHdyaXRlIGFkYXB0aXZlCisg
ICAgICAgIHdhdGNocG9pbnRzIHRoYXQgcmUtYWRkIHRoZW1zZWx2ZXMgdG8gYSBkaWZmZXJlbnQg
c2V0IGlmIHRoZXkgZGV0ZXJtaW5lIHRoYXQgdGhlIHRoaW5nCisgICAgICAgIHRoZXkgYXJlIGFj
dHVhbGx5IHdhdGNoaW5nIGlzIHN0aWxsIGludGFjdCBidXQgbm93IG5lZWRzIHRvIGJlIHdhdGNo
ZWQgaW4gYSBkaWZmZXJlbnQgd2F5CisgICAgICAgIChsaWtlIHdhdGNoaW5nIGZvciB3aGV0aGVy
IHNvbWUgc2luZ2xldG9uIG9iamVjdCBoYXMgYSBwcm9wZXJ0eSBvZiBzb21lIG5hbWUpLgorCisg
ICAgICAgICogYnl0ZWNvZGUvV2F0Y2hwb2ludC5jcHA6CisgICAgICAgIChKU0M6OldhdGNocG9p
bnQ6On5XYXRjaHBvaW50KTogQWRkIGEgY29tbWVudCBhYm91dCB3aHkgdGhpcyBpcyBuZWNlc3Nh
cnkuCisgICAgICAgIChKU0M6OldhdGNocG9pbnQ6OmZpcmUpOiBNYWtlIHRoaXMgb3V0LW9mLWxp
bmUsIHByaXZhdGUsIGFuZCBtYWtlIGl0IGFzc2VydCB0aGF0IHdlJ3JlIG5vIGxvbmdlciBvbiB0
aGUgbGlzdC4KKyAgICAgICAgKEpTQzo6V2F0Y2hwb2ludFNldDo6ZmlyZUFsbFdhdGNocG9pbnRz
KTogTWFrZSB0aGlzIHJlbW92ZSB0aGUgd2F0Y2hwb2ludCBmcm9tIHRoZSBsaXN0IGJlZm9yZSBm
aXJpbmcgaXQuCisgICAgICAgICogYnl0ZWNvZGUvV2F0Y2hwb2ludC5oOgorICAgICAgICAoSlND
OjpXYXRjaHBvaW50OjpmaXJlKTogRGVsZXRlZC4gSSBtb3ZlZCB0aGlzIHRvIFdhdGNocG9pbnQu
Y3BwLgorCiAyMDE1LTA3LTEwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgREZHOjpEZXNpcmVkV2F0Y2hwb2ludHMgc2hvdWxkIGFjY2VwdCBXYXRjaHBvaW50U2V0
VHlwZSdzIHRoYXQgYXJlbid0IG5lY2Vzc2FyaWx5IHBvaW50ZXJzCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvV2F0Y2hwb2ludC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1dhdGNocG9pbnQuY3BwCShyZXZpc2lvbiAxODY3NDEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvV2F0Y2hwb2ludC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEz
LCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMi0yMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMzgsOCArMzgsMjAgQEAgdm9pZCBTdHJpbmdGaXJlRGV0YWls
OjpkdW1wKFByaW50U3RyZWFtJgogCiBXYXRjaHBvaW50Ojp+V2F0Y2hwb2ludCgpCiB7Ci0gICAg
aWYgKGlzT25MaXN0KCkpCisgICAgaWYgKGlzT25MaXN0KCkpIHsKKyAgICAgICAgLy8gVGhpcyB3
aWxsIGhhcHBlbiBpZiB3ZSBnZXQgZGVzdHJveWVkIGJlZm9yZSB0aGUgc2V0IGZpcmVzLiBUaGF0
J3MgdG90YWxseSBhIHZhbGlkCisgICAgICAgIC8vIHBvc3NpYmlsaXR5LiBGb3IgZXhhbXBsZToK
KyAgICAgICAgLy8KKyAgICAgICAgLy8gQ29kZUJsb2NrIGhhcyBhIFdhdGNocG9pbnQgb24gdHJh
bnNpdGlvbiBmcm9tIHN0cnVjdHVyZSBTMS4gVGhlIHRyYW5zaXRpb24gbmV2ZXIKKyAgICAgICAg
Ly8gaGFwcGVucywgYnV0IHRoZSBDb2RlQmxvY2sgZ2V0cyBkZXN0cm95ZWQgYmVjYXVzZSBvZiBH
Qy4KICAgICAgICAgcmVtb3ZlKCk7CisgICAgfQorfQorCit2b2lkIFdhdGNocG9pbnQ6OmZpcmUo
Y29uc3QgRmlyZURldGFpbCYgZGV0YWlsKQoreworICAgIFJFTEVBU0VfQVNTRVJUKCFpc09uTGlz
dCgpKTsKKyAgICBmaXJlSW50ZXJuYWwoZGV0YWlsKTsKIH0KIAogV2F0Y2hwb2ludFNldDo6V2F0
Y2hwb2ludFNldChXYXRjaHBvaW50U3RhdGUgc3RhdGUpCkBAIC04Niw4ICs5OCwyNyBAQCB2b2lk
IFdhdGNocG9pbnRTZXQ6OmZpcmVBbGxTbG93KGNvbnN0IGNoCiAKIHZvaWQgV2F0Y2hwb2ludFNl
dDo6ZmlyZUFsbFdhdGNocG9pbnRzKGNvbnN0IEZpcmVEZXRhaWwmIGRldGFpbCkKIHsKLSAgICB3
aGlsZSAoIW1fc2V0LmlzRW1wdHkoKSkKLSAgICAgICAgbV9zZXQuYmVnaW4oKS0+ZmlyZShkZXRh
aWwpOworICAgIHdoaWxlICghbV9zZXQuaXNFbXB0eSgpKSB7CisgICAgICAgIFdhdGNocG9pbnQq
IHdhdGNocG9pbnQgPSBtX3NldC5iZWdpbigpOworICAgICAgICBBU1NFUlQod2F0Y2hwb2ludC0+
aXNPbkxpc3QoKSk7CisgICAgICAgIAorICAgICAgICAvLyBSZW1vdmluZyB0aGUgV2F0Y2hwb2lu
dCBiZWZvcmUgZmlyaW5nIGl0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIGltcGxlbWVudCB3YXRjaHBv
aW50cworICAgICAgICAvLyB0aGF0IGFkZCB0aGVtc2VsdmVzIHRvIGEgZGlmZmVyZW50IHNldCB3
aGVuIHRoZXkgZmlyZS4gVGhpcyBraW5kIG9mICJhZGFwdGl2ZSIKKyAgICAgICAgLy8gd2F0Y2hw
b2ludCBjYW4gYmUgdXNlZCB0byB0cmFjayBzb21lIHNlbWFudGljIHByb3BlcnR5IHRoYXQgaXMg
bW9yZSBmaW5lLWdyYWllbmQgdGhhbgorICAgICAgICAvLyB3aGF0IHRoZSBzZXQgY2FuIGNvbnZl
eS4gRm9yIGV4YW1wbGUsIHdlIG1pZ2h0IGNhcmUgaWYgYSBzaW5nbGV0b24gb2JqZWN0IGV2ZXIg
aGFzIGEKKyAgICAgICAgLy8gcHJvcGVydHkgY2FsbGVkICJmb28iLiBXZSBjYW4gd2F0Y2ggZm9y
IHRoaXMgYnkgY2hlY2tpbmcgaWYgaXRzIFN0cnVjdHVyZSBoYXMgImZvbyIgYW5kCisgICAgICAg
IC8vIHRoZW4gd2F0Y2hpbmcgaXRzIHRyYW5zaXRpb25zLiBCdXQgdGhlbiB0aGUgd2F0Y2hwb2lu
dCBmaXJlcyBpZiBhbnkgcHJvcGVydHkgaXMgYWRkZWQuCisgICAgICAgIC8vIFNvLCBiZWZvcmUg
dGhlIHdhdGNocG9pbnQgZGVjaWRlcyB0byBpbnZhbGlkYXRlIGFueSBjb2RlLCBpdCBjYW4gY2hl
Y2sgaWYgaXQgaXMKKyAgICAgICAgLy8gcG9zc2libGUgdG8gYWRkIGl0c2VsZiB0byB0aGUgdHJh
bnNpdGlvbiB3YXRjaHBvaW50IHNldCBvZiB0aGUgc2luZ2xldG9uIG9iamVjdCdzIG5ldworICAg
ICAgICAvLyBTdHJ1Y3R1cmUuCisgICAgICAgIHdhdGNocG9pbnQtPnJlbW92ZSgpOworICAgICAg
ICBBU1NFUlQobV9zZXQuYmVnaW4oKSAhPSB3YXRjaHBvaW50KTsKKyAgICAgICAgQVNTRVJUKCF3
YXRjaHBvaW50LT5pc09uTGlzdCgpKTsKKyAgICAgICAgCisgICAgICAgIHdhdGNocG9pbnQtPmZp
cmUoZGV0YWlsKTsKKyAgICAgICAgLy8gQWZ0ZXIgd2UgZmlyZSB0aGUgd2F0Y2hwb2ludCwgdGhl
IHdhdGNocG9pbnQgcG9pbnRlciBtYXkgYmUgYSBkYW5nbGluZyBwb2ludGVyLiBUaGF0J3MKKyAg
ICAgICAgLy8gZmluZSwgYmVjYXVzZSB3ZSBoYXZlIG5vIHVzZSBmb3IgdGhlIHBvaW50ZXIgYW55
bW9yZS4KKyAgICB9CiB9CiAKIHZvaWQgSW5saW5lV2F0Y2hwb2ludFNldDo6YWRkKFdhdGNocG9p
bnQqIHdhdGNocG9pbnQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvV2F0
Y2hwb2ludC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9X
YXRjaHBvaW50LmgJKHJldmlzaW9uIDE4Njc0MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9XYXRjaHBvaW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTYzLDYgKzYzLDggQEAgcHJp
dmF0ZToKICAgICBjb25zdCBjaGFyKiBtX3N0cmluZzsKIH07CiAKK2NsYXNzIFdhdGNocG9pbnRT
ZXQ7CisKIGNsYXNzIFdhdGNocG9pbnQgOiBwdWJsaWMgQmFzaWNSYXdTZW50aW5lbE5vZGU8V2F0
Y2hwb2ludD4gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdhdGNocG9pbnQpOwogICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtNzMsMTAgKzc1LDEyIEBAIHB1YmxpYzoKICAgICAK
ICAgICB2aXJ0dWFsIH5XYXRjaHBvaW50KCk7CiAKLSAgICB2b2lkIGZpcmUoY29uc3QgRmlyZURl
dGFpbCYgZGV0YWlsKSB7IGZpcmVJbnRlcm5hbChkZXRhaWwpOyB9Ci0gICAgCiBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCB2b2lkIGZpcmVJbnRlcm5hbChjb25zdCBGaXJlRGV0YWlsJikgPSAwOwor
Citwcml2YXRlOgorICAgIGZyaWVuZCBjbGFzcyBXYXRjaHBvaW50U2V0OworICAgIHZvaWQgZmly
ZShjb25zdCBGaXJlRGV0YWlsJiBkZXRhaWwpOwogfTsKIAogZW51bSBXYXRjaHBvaW50U3RhdGUg
ewo=
</data>
<flag name="review"
          id="281784"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>