Bug 115297

Summary: fourthTier: ASSERT that commonly used not-thread-safe methods in the runtime are not being called during compilation
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 patch ggaren: review+

Description Filip Pizlo 2013-04-26 20:47:45 PDT
We have a bunch of methods that we traditionally did call during compilation, like WatchpointSet::isStillValid() and Structure::get().  At least for those methods, we should add asserts that check that they are not being called during compilation.  In a serial compilation mode, we should set a thread-local to denote start/end of compilation; in a concurrent compilation mode, we should check that we aren't in the compiler thread.
Comment 1 Filip Pizlo 2013-04-28 18:47:54 PDT
Created attachment 199979 [details]
the patch
Comment 2 Geoffrey Garen 2013-04-28 21:12:00 PDT
Comment on attachment 199979 [details]
the patch

r=me
Comment 3 Filip Pizlo 2013-04-29 11:31:05 PDT
Landed in http://trac.webkit.org/changeset/149301