[Webkit-unassigned] [Bug 86281] 59% of Vector buffer capacity is unused

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 14 21:22:42 PDT 2012


https://bugs.webkit.org/show_bug.cgi?id=86281





--- Comment #11 from Simon Fraser (smfr) <simon.fraser at apple.com>  2012-05-14 21:21:46 PST ---
Logging from a CFRunLoopObserver (so only logging non-temporaries), I get:


42191 extant vectors wasting 8.64MB 75.17% (used 2992158 bytes, capacity 12051495 bytes):

Most wasteful 5 stacks
3579 vectors, 164.22KB used of 2237.70KB, 2073.48KB wasted at:
1   0x107e4e855 WTF::Vector<WebCore::RuleData, 0ul>::Vector()
2   0x107e3c115 WTF::Vector<WebCore::RuleData, 0ul>::Vector()
3   0x107e2fba1 WebCore::RuleSet::addToRuleSet(WTF::AtomicStringImpl*, WTF::HashMap<WTF::AtomicStringImpl*, WTF::OwnPtr<WTF::Vector<WebCore::RuleData, 0ul> >, WTF::PtrHash<WTF::AtomicStringImpl*>, WTF::HashTraits<WTF::AtomicStringImpl*>, WTF::HashTraits<WTF::OwnPtr<WTF::Vector<WebCore::RuleData, 0ul> > > >&, WebCore::RuleData const&)
4   0x107e2fd63 WebCore::RuleSet::addRule(WebCore::StyleRule*, WebCore::CSSSelector*, bool, bool, bool)
5   0x107e30400 WebCore::RuleSet::addStyleRule(WebCore::StyleRule*, bool, bool, bool)
6   0x107e1e47b WebCore::RuleSet::addRulesFromSheet(WebCore::StyleSheetInternal*, WebCore::MediaQueryEvaluator const&, WebCore::StyleResolver*, WebCore::ContainerNode const*)
7   0x107e1ec05 WebCore::StyleResolver::appendAuthorStylesheets(unsigned int, WTF::Vector<WTF::RefPtr<WebCore::StyleSheet>, 0ul> const&)
8   0x107e1d449 WebCore::StyleResolver::StyleResolver(WebCore::Document*, bool)
9   0x107e1ca5c WebCore::StyleResolver::StyleResolver(WebCore::Document*, bool)
10  0x106b3dd0c WebCore::Document::createStyleResolver()
11  0x1068cde2b WebCore::Document::styleResolver()
12  0x106d4363a WebCore::Element::styleForRenderer()
13  0x106d438af WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
14  0x106b3be32 WebCore::Document::recalcStyle(WebCore::Node::StyleChange)
15  0x106b3c963 WebCore::Document::updateStyleIfNeeded()
16  0x106e61751 WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive()
17  0x104e2e55b WebKit::WebPage::layoutIfNeeded()
18  0x104c51d85 WebKit::DrawingAreaImpl::display(WebKit::UpdateInfo&)
19  0x104c50ef8 WebKit::DrawingAreaImpl::display()
20  0x104c4f8b5 WebKit::DrawingAreaImpl::displayTimerFired()
21  0x104c540cb WebCore::RunLoop::Timer<WebKit::DrawingAreaImpl>::fired()
22  0x107c92f3d WebCore::RunLoop::TimerBase::timerFired(__CFRunLoopTimer*, void*)
23  0x7fff99ad3934 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
24  0x7fff99ad3486 __CFRunLoopDoTimer
25  0x7fff99ab3e11 __CFRunLoopRun
26  0x7fff99ab3486 CFRunLoopRunSpecific
27  0x7fff966804d3 RunCurrentEventLoopInMode
28  0x7fff96687781 ReceiveNextEventCommon
29  0x7fff9668760e BlockUntilNextEventMatchingListInMode
30  0x7fff94a79e31 _DPSNextEvent
31  0x7fff94a79735 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]

2696 vectors, 164.22KB used of 2237.70KB, 2073.48KB wasted at:
1   0x107e4e855 WTF::Vector<WebCore::RuleData, 0ul>::Vector()
2   0x107e3c115 WTF::Vector<WebCore::RuleData, 0ul>::Vector()
3   0x107e2fba1 WebCore::RuleSet::addToRuleSet(WTF::AtomicStringImpl*, WTF::HashMap<WTF::AtomicStringImpl*, WTF::OwnPtr<WTF::Vector<WebCore::RuleData, 0ul> >, WTF::PtrHash<WTF::AtomicStringImpl*>, WTF::HashTraits<WTF::AtomicStringImpl*>, WTF::HashTraits<WTF::OwnPtr<WTF::Vector<WebCore::RuleData, 0ul> > > >&, WebCore::RuleData const&)
4   0x107e2fd06 WebCore::RuleSet::addRule(WebCore::StyleRule*, WebCore::CSSSelector*, bool, bool, bool)
5   0x107e30400 WebCore::RuleSet::addStyleRule(WebCore::StyleRule*, bool, bool, bool)
6   0x107e1e47b WebCore::RuleSet::addRulesFromSheet(WebCore::StyleSheetInternal*, WebCore::MediaQueryEvaluator const&, WebCore::StyleResolver*, WebCore::ContainerNode const*)
7   0x107e1ec05 WebCore::StyleResolver::appendAuthorStylesheets(unsigned int, WTF::Vector<WTF::RefPtr<WebCore::StyleSheet>, 0ul> const&)
8   0x107e1d449 WebCore::StyleResolver::StyleResolver(WebCore::Document*, bool)
9   0x107e1ca5c WebCore::StyleResolver::StyleResolver(WebCore::Document*, bool)
10  0x106b3dd0c WebCore::Document::createStyleResolver()
11  0x1068cde2b WebCore::Document::styleResolver()
12  0x106d4363a WebCore::Element::styleForRenderer()
13  0x106d438af WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
14  0x106b3be32 WebCore::Document::recalcStyle(WebCore::Node::StyleChange)
15  0x106b3c963 WebCore::Document::updateStyleIfNeeded()
16  0x106e61751 WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive()
17  0x104e2e55b WebKit::WebPage::layoutIfNeeded()
18  0x104c51d85 WebKit::DrawingAreaImpl::display(WebKit::UpdateInfo&)
19  0x104c50ef8 WebKit::DrawingAreaImpl::display()
20  0x104c4f8b5 WebKit::DrawingAreaImpl::displayTimerFired()
21  0x104c540cb WebCore::RunLoop::Timer<WebKit::DrawingAreaImpl>::fired()
22  0x107c92f3d WebCore::RunLoop::TimerBase::timerFired(__CFRunLoopTimer*, void*)
23  0x7fff99ad3934 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
24  0x7fff99ad3486 __CFRunLoopDoTimer
25  0x7fff99ab3e11 __CFRunLoopRun
26  0x7fff99ab3486 CFRunLoopRunSpecific
27  0x7fff966804d3 RunCurrentEventLoopInMode
28  0x7fff96687781 ReceiveNextEventCommon
29  0x7fff9668760e BlockUntilNextEventMatchingListInMode
30  0x7fff94a79e31 _DPSNextEvent
31  0x7fff94a79735 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]

2572 vectors, 164.22KB used of 2237.70KB, 2073.48KB wasted at:
1   0x107e4e855 WTF::Vector<WebCore::RuleData, 0ul>::Vector()
2   0x107e3c115 WTF::Vector<WebCore::RuleData, 0ul>::Vector()
3   0x107e2fba1 WebCore::RuleSet::addToRuleSet(WTF::AtomicStringImpl*, WTF::HashMap<WTF::AtomicStringImpl*, WTF::OwnPtr<WTF::Vector<WebCore::RuleData, 0ul> >, WTF::PtrHash<WTF::AtomicStringImpl*>, WTF::HashTraits<WTF::AtomicStringImpl*>, WTF::HashTraits<WTF::OwnPtr<WTF::Vector<WebCore::RuleData, 0ul> > > >&, WebCore::RuleData const&)
4   0x107e2fd63 WebCore::RuleSet::addRule(WebCore::StyleRule*, WebCore::CSSSelector*, bool, bool, bool)
5   0x107e30400 WebCore::RuleSet::addStyleRule(WebCore::StyleRule*, bool, bool, bool)
6   0x107e1e47b WebCore::RuleSet::addRulesFromSheet(WebCore::StyleSheetInternal*, WebCore::MediaQueryEvaluator const&, WebCore::StyleResolver*, WebCore::ContainerNode const*)
7   0x107e1ec05 WebCore::StyleResolver::appendAuthorStylesheets(unsigned int, WTF::Vector<WTF::RefPtr<WebCore::StyleSheet>, 0ul> const&)
8   0x107e1d449 WebCore::StyleResolver::StyleResolver(WebCore::Document*, bool)
9   0x107e1ca5c WebCore::StyleResolver::StyleResolver(WebCore::Document*, bool)
10  0x106b3dd0c WebCore::Document::createStyleResolver()
11  0x1068cde2b WebCore::Document::styleResolver()
12  0x106d4363a WebCore::Element::styleForRenderer()
13  0x106d438af WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
14  0x106b3be32 WebCore::Document::recalcStyle(WebCore::Node::StyleChange)
15  0x106b3c963 WebCore::Document::updateStyleIfNeeded()
16  0x106b3cb33 WebCore::Document::updateLayout()
17  0x106b3ccd5 WebCore::Document::updateLayoutIgnorePendingStylesheets()
18  0x1069bde50 WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue(WebCore::CSSPropertyID, WebCore::EUpdateLayout) const
19  0x1069bdda7 WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue(WebCore::CSSPropertyID) const
20  0x1069d6092 WebCore::CSSComputedStyleDeclaration::getPropertyCSSValueInternal(WebCore::CSSPropertyID)
21  0x1072995d2 _ZN7WebCoreL17cssPropertyGetterEPN3JSC9ExecStateEPNS_21JSCSSStyleDeclarationEj
22  0x107299356 _ZN7WebCoreL25cssPropertyGetterCallbackEPN3JSC9ExecStateENS0_7JSValueEj
23  0x105b2500a JSC::PropertySlot::getValue(JSC::ExecState*, JSC::Identifier const&) const
24  0x105b359ad JSC::JSValue::get(JSC::ExecState*, JSC::Identifier const&, JSC::PropertySlot&) const
25  0x105b358c5 JSC::JSValue::get(JSC::ExecState*, JSC::Identifier const&) const
26  0x105ecfe26 JSC::LLInt::getByVal(JSC::ExecState*, JSC::JSValue, JSC::JSValue)
27  0x105ecaab0 llint_slow_path_get_by_val
28  0x105ed2dce llint_op_get_by_val
29  0x105cc4ba9 JSC::JITCode::execute(JSC::RegisterFile*, JSC::ExecState*, JSC::JSGlobalData*)
30  0x105cc0b2e JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
31  0x105b8931b JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)

2398 vectors, 164.22KB used of 2237.70KB, 2073.48KB wasted at:
1   0x107e4e855 WTF::Vector<WebCore::RuleData, 0ul>::Vector()
2   0x107e3c115 WTF::Vector<WebCore::RuleData, 0ul>::Vector()
3   0x107e2fba1 WebCore::RuleSet::addToRuleSet(WTF::AtomicStringImpl*, WTF::HashMap<WTF::AtomicStringImpl*, WTF::OwnPtr<WTF::Vector<WebCore::RuleData, 0ul> >, WTF::PtrHash<WTF::AtomicStringImpl*>, WTF::HashTraits<WTF::AtomicStringImpl*>, WTF::HashTraits<WTF::OwnPtr<WTF::Vector<WebCore::RuleData, 0ul> > > >&, WebCore::RuleData const&)
4   0x107e2fd06 WebCore::RuleSet::addRule(WebCore::StyleRule*, WebCore::CSSSelector*, bool, bool, bool)
5   0x107e30400 WebCore::RuleSet::addStyleRule(WebCore::StyleRule*, bool, bool, bool)
6   0x107e1e47b WebCore::RuleSet::addRulesFromSheet(WebCore::StyleSheetInternal*, WebCore::MediaQueryEvaluator const&, WebCore::StyleResolver*, WebCore::ContainerNode const*)
7   0x107e1ec05 WebCore::StyleResolver::appendAuthorStylesheets(unsigned int, WTF::Vector<WTF::RefPtr<WebCore::StyleSheet>, 0ul> const&)
8   0x107e1d449 WebCore::StyleResolver::StyleResolver(WebCore::Document*, bool)
9   0x107e1ca5c WebCore::StyleResolver::StyleResolver(WebCore::Document*, bool)
10  0x106b3dd0c WebCore::Document::createStyleResolver()
11  0x1068cde2b WebCore::Document::styleResolver()
12  0x106d4363a WebCore::Element::styleForRenderer()
13  0x106d438af WebCore::Element::recalcStyle(WebCore::Node::StyleChange)
14  0x106b3be32 WebCore::Document::recalcStyle(WebCore::Node::StyleChange)
15  0x106b3c963 WebCore::Document::updateStyleIfNeeded()
16  0x106b3cb33 WebCore::Document::updateLayout()
17  0x106b3ccd5 WebCore::Document::updateLayoutIgnorePendingStylesheets()
18  0x1069bde50 WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue(WebCore::CSSPropertyID, WebCore::EUpdateLayout) const
19  0x1069bdda7 WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue(WebCore::CSSPropertyID) const
20  0x1069d6092 WebCore::CSSComputedStyleDeclaration::getPropertyCSSValueInternal(WebCore::CSSPropertyID)
21  0x1072995d2 _ZN7WebCoreL17cssPropertyGetterEPN3JSC9ExecStateEPNS_21JSCSSStyleDeclarationEj
22  0x107299356 _ZN7WebCoreL25cssPropertyGetterCallbackEPN3JSC9ExecStateENS0_7JSValueEj
23  0x105b2500a JSC::PropertySlot::getValue(JSC::ExecState*, JSC::Identifier const&) const
24  0x105b359ad JSC::JSValue::get(JSC::ExecState*, JSC::Identifier const&, JSC::PropertySlot&) const
25  0x105b358c5 JSC::JSValue::get(JSC::ExecState*, JSC::Identifier const&) const
26  0x105ecfe26 JSC::LLInt::getByVal(JSC::ExecState*, JSC::JSValue, JSC::JSValue)
27  0x105ecaab0 llint_slow_path_get_by_val
28  0x105ed2dce llint_op_get_by_val
29  0x105cc4ba9 JSC::JITCode::execute(JSC::RegisterFile*, JSC::ExecState*, JSC::JSGlobalData*)
30  0x105cc0b2e JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)
31  0x105b8931b JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)

126 vectors, 164.22KB used of 2237.70KB, 2073.48KB wasted at:
1   0x107e4e855 WTF::Vector<WebCore::RuleData, 0ul>::Vector()
2   0x107e3c115 WTF::Vector<WebCore::RuleData, 0ul>::Vector()
3   0x107e2fba1 WebCore::RuleSet::addToRuleSet(WTF::AtomicStringImpl*, WTF::HashMap<WTF::AtomicStringImpl*, WTF::OwnPtr<WTF::Vector<WebCore::RuleData, 0ul> >, WTF::PtrHash<WTF::AtomicStringImpl*>, WTF::HashTraits<WTF::AtomicStringImpl*>, WTF::HashTraits<WTF::OwnPtr<WTF::Vector<WebCore::RuleData, 0ul> > > >&, WebCore::RuleData const&)
4   0x107e2fdbb WebCore::RuleSet::addRule(WebCore::StyleRule*, WebCore::CSSSelector*, bool, bool, bool)
5   0x107e1f331 _ZN7WebCoreL11makeRuleSetERKN3WTF6VectorINS_13StyleResolver11RuleFeatureELm0EEE
6   0x107e1ee48 WebCore::StyleResolver::collectFeatures()
7   0x107e1ec5f WebCore::StyleResolver::appendAuthorStylesheets(unsigned int, WTF::Vector<WTF::RefPtr<WebCore::StyleSheet>, 0ul> const&)
8   0x107e1d449 WebCore::StyleResolver::StyleResolver(WebCore::Document*, bool)
9   0x107e1ca5c WebCore::StyleResolver::StyleResolver(WebCore::Document*, bool)
10  0x106b3dd0c WebCore::Document::createStyleResolver()
11  0x1068cde2b WebCore::Document::styleResolver()
12  0x106d4363a WebCore::Element::styleForRenderer()
13  0x1078c32de WebCore::NodeRendererFactory::createRendererIfNeeded()
14  0x10789eec9 WebCore::Node::createRendererIfNeeded()
15  0x106d42e78 WebCore::Element::attach()
16  0x106f2ba1c _ZN7WebCoreL11executeTaskERNS_24HTMLConstructionSiteTaskE
17  0x106f2b89d WebCore::HTMLConstructionSite::executeQueuedTasks()
18  0x106f2bfa6 WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML(WebCore::AtomicHTMLToken&)
19  0x107023062 WebCore::HTMLTreeBuilder::defaultForBeforeHTML()
20  0x10701d1c2 WebCore::HTMLTreeBuilder::processEndOfFile(WebCore::AtomicHTMLToken&)
21  0x107018a18 WebCore::HTMLTreeBuilder::processToken(WebCore::AtomicHTMLToken&)
22  0x107017adb WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken(WebCore::AtomicHTMLToken&)
23  0x1070179ec WebCore::HTMLTreeBuilder::constructTreeFromToken(WebCore::HTMLToken&)
24  0x106f4e1db WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode)
25  0x106f4dc0d WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode)
26  0x106f4da95 WebCore::HTMLDocumentParser::prepareToStopParsing()
27  0x106f4ee63 WebCore::HTMLDocumentParser::attemptToEnd()
28  0x106f4eeb8 WebCore::HTMLDocumentParser::finish()
29  0x106bac097 WebCore::DocumentWriter::end()
30  0x106e272cd WebCore::FrameLoader::init()
31  0x104ddf0fc WebCore::Frame::init()

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list