What will happen today is each individual IC will figure out if the prototype watchpoint should have fired on its own. And they may or may not clear their pre-poly-prototype contents. It's probably more efficient for all of them to clear their data. This is a good follow up to the poly prototype patch.
Starting this now.
Created attachment 322740 [details] patch
Comment on attachment 322740 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=322740&action=review > Source/JavaScriptCore/jit/Repatch.cpp:169 > +static InlineCacheAction tryCacheGetByID(ExecState* exec, JSValue baseValue, const Identifier& propertyName, const PropertySlot& slot, StructureStubInfo& stubInfo, GetByIDKind kind) The diff for this file was not generated well. The only thing I'm doing here is moving where we acquire the lock in more so we don't call fireWatchpointsAndClearStubIfNeeded with the lock held.
Comment on attachment 322740 [details] patch r=me.
Comment on attachment 322740 [details] patch Clearing flags on attachment: 322740 Committed r222891: <http://trac.webkit.org/changeset/222891>
All reviewed patches have been landed. Closing bug.
<rdar://problem/34826781>