WeakBlock's reap() and visit() could be a lot faster if they stopped doing so many paranoid address checks. Have patch, will post.
Created attachment 252319 [details] Patch idea
Comment on attachment 252319 [details] Patch idea View in context: https://bugs.webkit.org/attachment.cgi?id=252319&action=review r=me > Source/JavaScriptCore/heap/MarkedBlock.h:415 > + inline bool MarkedBlock::isLiveForWeakBlockScan(const JSCell* cell) Let's call this isMarkedOrNewlyAllocated, and have isLive call it. That way, the MarkedBlock class is not responsible for promising that it's right to call this during weak block scan. It's only responsible for providing the answer that it knows. > Source/JavaScriptCore/heap/WeakBlock.h:74 > + void didDetachFromMarkedBlock() { m_markedBlock = nullptr; } I think we usually call this "disconnectMarkedBlock".
Committed r183769: <http://trac.webkit.org/changeset/183769>
mac-mavericks perf bot says this was a 3.2% progression on Dromaeo/dom-modify :)