Bug 115299

Summary: fourthTier: WatchpointSet should make racy uses easier to reason about
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, ggaren, mark.lam, mhahnenberg, msaboff, oliver, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 112839    
Attachments:
Description Flags
the ptach andersca: review+

Filip Pizlo
Reported 2013-04-26 23:19:07 PDT
The compiler often does things like: 1c) Observe something that would imply that a WatchpointSet ought to be invalid 2c) Check that it is invalid The main thread often does things like: 1m) Fire the watchpoint set 2m) Do some other thing that would cause the compiler to assume that the WatchpointSet ought to be invalid An example is structure transitions. This is totally fine, except that (1c) and (2c), and (1m) and (2m) could be reordered. We already have some idioms to put load-load and store-store fences in the right places. But we should just make WatchpointSet take care of this for us, to reduce the chances of us getting this wrong.
Attachments
the ptach (5.86 KB, patch)
2013-04-26 23:23 PDT, Filip Pizlo
andersca: review+
Filip Pizlo
Comment 1 2013-04-26 23:23:54 PDT
Created attachment 199893 [details] the ptach
Filip Pizlo
Comment 2 2013-04-27 11:22:56 PDT
Geoffrey Garen
Comment 3 2013-04-27 12:21:10 PDT
I like this.
Note You need to log in before you can comment on or make changes to this bug.