Temporary AtomicStrings are causing churn in the AtomicString hash mike belshe mentioned seeing some problems related to atomicstring hashtable thrashing in Chromium tonight in #webkit. I wanted to file this bug (and attach a possible patch) before I forgot. Mike may already be working on a solution.
Created attachment 28883 [details] Attempt at catching AtomicString table thrash (untested) WebCore/platform/text/AtomicString.cpp | 54 ++++++++++++++++++++++---------- 1 files changed, 37 insertions(+), 17 deletions(-)
Two places I saw this in common code: 1) CSSFontSelector.cpp 2) ResourceRequestBase.cpp I filed bug 24485 for the CSSFontSelector issue. I'm still working on the second. The patch you have proposed won't catch this code (I think) from ResourceRequestBase.cpp: return (m_httpHeaderFields.contains("If-Match") || m_httpHeaderFields.contains("If-Modified-Since") || m_httpHeaderFields.contains("If-None-Match") || m_httpHeaderFields.contains("If-Range") || m_httpHeaderFields.contains("If-Unmodified-Since"));
(In reply to comment #2) > I filed bug 24485 for the CSSFontSelector issue. Whoops - I meant bug 24785