Bug 146895

Summary: Watchpoints should be removed from their owning WatchpointSet before they are fired
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, basile_clement, benjamin, commit-queue, ggaren, mark.lam, mhahnenb, mmirman, msaboff, nrotem, oliver, saam, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
the patch sam: review+

Filip Pizlo
Reported 2015-07-12 14:34:44 PDT
This addresses two issues: - We have had some weirdo bugs where the watchpoint being fired doesn't kill the watchpoint, and therefore doesn't remove it. That causes an infinite loop inside WatchpointSet. We don't have such bugs right now, but it's something that you can hit whenever adding new uses of the watchpoint API. Having the removal happen before means that we just don't have to worry about this, ever. OTOH, I can'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.
Attachments
the patch (5.12 KB, patch)
2015-07-12 14:38 PDT, Filip Pizlo
sam: review+
Filip Pizlo
Comment 1 2015-07-12 14:38:55 PDT
Created attachment 256682 [details] the patch
WebKit Commit Bot
Comment 2 2015-07-12 14:42:06 PDT
Attachment 256682 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/bytecode/Watchpoint.h:83: The parameter name "detail" 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.
Filip Pizlo
Comment 3 2015-07-12 14:53:08 PDT
(In reply to comment #2) > Attachment 256682 [details] did not pass style-queue: > > > ERROR: Source/JavaScriptCore/bytecode/Watchpoint.h:83: The parameter name > "detail" 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. Fixed locally.
Filip Pizlo
Comment 4 2015-07-12 19:17:45 PDT
Note You need to log in before you can comment on or make changes to this bug.