Bug 18136 - Acid3 wastes time building NSEnumerators for Font Cache
Summary: Acid3 wastes time building NSEnumerators for Font Cache
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.5
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-03-27 01:12 PDT by Eric Seidel (no email)
Modified: 2011-06-14 16:26 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Seidel (no email) 2008-03-27 01:12:28 PDT
Acid3 wastes time building NSEnumerators for Font Cache

We spend 3% of our time building an NSEnumerator to walk the font cache.
We spend > 3% of total Acid3 rendering time diddling with Position objects.

There is a bunch of other low-hanging fruit it seems.

	23.7%	23.7%	WebCore	WebCore::Font::drawGlyphs(WebCore::GraphicsContext*, WebCore::SimpleFontData const*, WebCore::GlyphBuffer const&, int, int, WebCore::FloatPoint const&) const	
	16.0%	16.0%	WebCore	WebCore::GraphicsContext::fillRect(WebCore::IntRect const&, WebCore::Color const&)	
	3.0%	3.0%	WebCore	+[WebFontCache internalFontWithFamily:traits:size:]	
	2.8%	2.8%	WebCore	WebCore::Widget::paint(WebCore::GraphicsContext*, WebCore::IntRect const&)	
	1.8%	1.8%	WebCore	WebCore::GraphicsContext::drawRect(WebCore::IntRect const&)	
	1.7%	1.7%	WebCore	WebCore::setCGFillColor(CGContext*, WebCore::Color const&)	
	1.3%	1.3%	WebCore	WebCore::setSharedTimerFireTime(double)	
	1.2%	1.2%	WebCore	WebCore::previousVisuallyDistinctCandidate(WebCore::Position const&)	
	1.1%	1.1%	WebCore	WebCore::Position::previous(WebCore::EUsingComposedCharacters) const	
	1.0%	1.0%	JavaScriptCore	WTF::fastMalloc(unsigned long)	
	1.0%	1.0%	WebCore	WebCore::ScrollView::updateContents(WebCore::IntRect const&, bool)	
	0.9%	0.9%	WebCore	WebCore::stopSharedTimer()	
	0.8%	0.8%	WebCore	WebCore::CSSStyleSelector::applyProperty(int, WebCore::CSSValue*)	
	0.8%	0.8%	WebKit	-[WebHTMLView drawSingleRect:]	
	0.7%	0.7%	WebCore	WebCore::PositionIterator::increment()	
	0.7%	0.7%	WebCore	WebCore::PositionIterator::atEnd() const	
	0.7%	0.7%	WebCore	WebCore::HTMLTokenizer::parseSpecial(WebCore::SegmentedString&, WebCore::HTMLTokenizer::State)	
	0.6%	0.6%	JavaScriptCore	WTF::fastFree(void*)	
	0.6%	0.6%	JavaScriptCore	kjsyyparse()	
	0.6%	0.6%	JavaScriptCore	KJS::Lexer::lex()	
	0.6%	0.6%	WebKit	-[WebHTMLView(WebPrivate) _recursiveDisplayAllDirtyWithLockFocus:visRect:]	
	0.5%	0.5%	WebCore	WebCore::CSSStyleSelector::applyDeclarations(bool, bool, int, int)	
	0.5%	0.5%	WebKit	-[WebHTMLView(WebPrivate) _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]	
	0.5%	0.5%	WebCore	WebCore::maxDeepOffset(WebCore::Node const*)	
	0.4%	0.4%	WebCore	WebCore::Position::uncheckedNextOffset(WebCore::Node const*, int)	
	0.4%	0.4%	WebCore	WebCore::Position::isCandidate() const	
	0.4%	0.4%	WebCore	WebCore::ScrollView::resizeContents(int, int)	
	0.4%	0.4%	WebCore	WebCore::Position::atStart() const	
	0.4%	0.4%	WebKit	-[WebHTMLView(WebPrivate) viewWillDraw]	
	0.4%	0.4%	WebKit	-[WebHTMLView visibleRect]	
	0.4%	0.4%	WebKit	-[_WebSafeForwarder forwardInvocation:]	
	0.3%	0.3%	WebCore	WebCore::ResourceRequest::doUpdatePlatformRequest()	
	0.3%	0.3%	WebCore	WebCore::Position::uncheckedPreviousOffset(WebCore::Node const*, int)	
	0.3%	0.3%	WebCore	WebCore::KURL::createCFURL() const	
	0.3%	0.3%	WebCore	WebCore::Node::hasChildNodes() const	
	0.3%	0.3%	WebKit	-[WebDynamicScrollBarsView(WebInternal) updateScrollers]	
	0.3%	0.3%	WebCore	WebCore::CharacterData::maxCharacterOffset() const	
	0.2%	0.2%	WebCore	WTF::HashTable<int, std::pair<int, int>, WTF::PairFirstExtractor<std::pair<int, int> >, WTF::IntHash<int>, WTF::PairHashTraits<WTF::HashTraits<int>, WTF::HashTraits<int> >, WTF::HashTraits<int> >::rehash(int)	
	0.2%	0.2%	WebCore	WebCore::CSSStyleSelector::checkOneSelector(WebCore::CSSSelector*, WebCore::Element*, bool, bool)	
	0.2%	0.2%	JavaScriptCore	KJS::FunctionBodyNode::execute(KJS::ExecState*)	
	0.2%	0.2%	WebKit	-[NSView(WebHTMLViewFileInternal) _web_addDescendantWebHTMLViewsToArray:]	
	0.2%	0.2%	JavaScriptCore	WTF::TCMalloc_Central_FreeList::RemoveRange(void**, void**, int*)	
	0.2%	0.2%	WebCore	WebCore::WidthIterator::advance(int, WebCore::GlyphBuffer*)	
	0.2%	0.2%	WebCore	WebCore::RenderObject::paintBorder(WebCore::GraphicsContext*, int, int, int, int, WebCore::RenderStyle const*, bool, bool)	
	0.2%	0.2%	WebCore	WebCore::RenderBlock::paint(WebCore::RenderObject::PaintInfo&, int, int)	
	0.2%	0.2%	WebCore	WebCore::nextCandidate(WebCore::Position const&)	
	0.2%	0.2%	WebCore	WebCore::JSNode::getOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&)	
	0.2%	0.2%	WebKit	CallDelegate(objc_object* (*)(objc_object*, objc_selector*, ...), WebView*, objc_object*, objc_selector*, objc_object*)	
	0.2%	0.2%	JavaScriptCore	WTF::HashTableIterator<int, int, WTF::IdentityExtractor<int>, WTF::IntHash<int>, WTF::HashTraits<int>, WTF::HashTraits<int> > WTF::HashTable<int, int, WTF::IdentityExtractor<int>, WTF::IntHash<int>, WTF::HashTraits<int>, WTF::HashTraits<int> >::find<int, WTF::IdentityHashTranslator<int, int, WTF::IntHash<int> > >(int const&)	
	0.2%	0.2%	WebCore	WebCore::StringImpl::operator NSString*()	
	0.2%	0.2%	WebCore	WebCore::StringImpl::create(unsigned short const*, unsigned)	
	0.2%	0.2%	WebCore	WebCore::RenderObject::borderLeft() const	
	0.2%	0.2%	WebCore	WebCore::PositionIterator::isCandidate() const	
	0.2%	0.2%	WebCore	WebCore::Document::nodeChildrenChanged(WebCore::ContainerNode*, WebCore::Node*, WebCore::Node*, int)	
	0.2%	0.2%	WebCore	WebCore::CSSStyleSelector::matchRulesForList(WebCore::CSSRuleDataList*, int&, int&)	
	0.2%	0.2%	WebCore	WebCore::checkForSiblingStyleChanges(WebCore::Element*, WebCore::RenderStyle*, bool, WebCore::Node*, WebCore::Node*, int)	
	0.2%	0.2%	JavaScriptCore	void* KJS::Collector::heapAllocate<(KJS::Collector::HeapType)0>(unsigned long)	
	0.2%	0.2%	WebCore	std::pair<WTF::HashTableIteratorAdapter<WTF::HashTable<WebCore::StringImpl*, WebCore::StringImpl*, WTF::IdentityExtractor<WebCore::StringImpl*>, WebCore::StringHash, WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*> >, WebCore::StringImpl*>, bool> WTF::HashSet<WebCore::StringImpl*, WebCore::StringHash, WTF::HashTraits<WebCore::StringImpl*> >::add<WebCore::UCharBuffer, WebCore::UCharBufferTranslator>(WebCore::UCharBuffer const&)	
	0.2%	0.2%	JavaScriptCore	KJS::UString::UString[not-in-charge](KJS::UString const&, KJS::UString const&)	
	0.2%	0.2%	JavaScriptCore	KJS::DateObjectImp::construct(KJS::ExecState*, KJS::List const&)	
	0.2%	0.2%	WebCore	WTF::HashMap<WebCore::Node*, WebCore::JSNode*, WTF::PtrHash<WebCore::Node*>, WTF::HashTraits<WebCore::Node*>, WTF::HashTraits<WebCore::JSNode*> >::get(WebCore::Node* const&) const	
	0.2%	0.2%	WebCore	WebCore::TextCodecICU::decodeToBuffer(unsigned short*, unsigned short*, char const*&, char const*, int*, bool, UErrorCode&)	
	0.2%	0.2%	WebCore	WebCore::safeRemoveFromSuperview(NSView*)	
	0.2%	0.2%	WebCore	WebCore::RenderObject::setPrefWidthsDirty(bool, bool)	
	0.2%	0.2%	WebCore	WebCore::HTMLTokenizer::processListing(WebCore::SegmentedString, WebCore::HTMLTokenizer::State)	
	0.2%	0.2%	WebCore	WebCore::CSSParser::lex()	
	0.2%	0.2%	WebCore	WebCore::BitmapImage::draw(WebCore::GraphicsContext*, WebCore::FloatRect const&, WebCore::FloatRect const&, WebCore::CompositeOperator)	
	0.2%	0.2%	WebCore	void WTF::Vector<unsigned short, (unsigned long)0>::append<unsigned short>(unsigned short const*, unsigned long)	
	0.2%	0.2%	JavaScriptCore	unsigned long KJS::Collector::sweep<(KJS::Collector::HeapType)0>(bool)	
	0.2%	0.2%	JavaScriptCore	match(unsigned short const*, unsigned char const*, int, MatchData&)	
	0.2%	0.2%	JavaScriptCore	kjs_dtoa	
	0.2%	0.2%	JavaScriptCore	KJS::FunctionCallDotNode::evaluate(KJS::ExecState*)	
	0.2%	0.2%	WebKit	-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]	
	0.2%	0.2%	WebKit	-[WebHTMLView(WebPrivate) close]	
	0.1%	0.1%	WebCore	WebCore::ScrollView::contentsX() const	
	0.1%	0.1%	WebCore	WebCore::RenderObject::drawBorder(WebCore::GraphicsContext*, int, int, int, int, WebCore::RenderObject::BorderSide, WebCore::Color, WebCore::Color const&, WebCore::EBorderStyle, int, int)	
	0.1%	0.1%	WebCore	WebCore::RenderObject::container() const	
	0.1%	0.1%	WebCore	WebCore::RenderBlock::paintObject(WebCore::RenderObject::PaintInfo&, int, int)	
	0.1%	0.1%	WebCore	WebCore::RenderBlock::isInlineFlow() const	
	0.1%	0.1%	WebCore	WebCore::Position::downstream() const	
	0.1%	0.1%	WebCore	WebCore::KURL::parse(char const*, WebCore::String const*)	
	0.1%	0.1%	WebCore	WebCore::GraphicsContext::setPlatformStrokeColor(WebCore::Color const&)	
	0.1%	0.1%	WebCore	std::pair<WTF::HashTableIterator<WebCore::StringImpl*, std::pair<WebCore::StringImpl*, int>, WTF::PairFirstExtractor<std::pair<WebCore::StringImpl*, int> >, WebCore::CaseFoldingHash, WTF::PairHashTraits<WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<int> >, WTF::HashTraits<WebCore::StringImpl*> >, bool> WTF::HashTable<WebCore::StringImpl*, std::pair<WebCore::StringImpl*, int>, WTF::PairFirstExtractor<std::pair<WebCore::StringImpl*, int> >, WebCore::CaseFoldingHash, WTF::PairHashTraits<WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<int> >, WTF::HashTraits<WebCore::StringImpl*> >::add<WebCore::StringImpl*, std::pair<WebCore::StringImpl*, int>, WTF::IdentityHashTranslator<WebCore::StringImpl*, std::pair<WebCore::StringImpl*, int>, WebCore::CaseFoldingHash> >(WebCore::StringImpl* const&, std::pair<WebCore::StringImpl*, int> const&)	
	0.1%	0.1%	JavaScriptCore	std::pair<WTF::HashTableIterator<int, int, WTF::IdentityExtractor<int>, WTF::IntHash<int>, WTF::HashTraits<int>, WTF::HashTraits<int> >, bool> WTF::HashTable<int, int, WTF::IdentityExtractor<int>, WTF::IntHash<int>, WTF::HashTraits<int>, WTF::HashTraits<int> >::add<KJS::ParserRefCounted*, KJS::ParserRefCounted*, WTF::HashSetTranslator<(bool)1, KJS::ParserRefCounted*, WTF::HashTraits<KJS::ParserRefCounted*>, WTF::HashTraits<int>, WTF::PtrHash<KJS::ParserRefCounted*> > >(KJS::ParserRefCounted* const&, KJS::ParserRefCounted* const&)	
	0.1%	0.1%	JavaScriptCore	KJS::BlockNode::execute(KJS::ExecState*)	
	0.1%	0.1%	WebCore	cssyyparse(void*)	
	0.1%	0.1%	WebKit	-[WebHTMLView drawRect:]	
	0.1%	0.1%	JavaScriptCore	WTF::TCMalloc_Central_FreeList::ReleaseListToSpans(void*)	
	0.1%	0.1%	JavaScriptCore	WTF::HashTableIterator<int, std::pair<int, int>, WTF::PairFirstExtractor<std::pair<int, int> >, WTF::IntHash<int>, WTF::PairHashTraits<WTF::HashTraits<int>, WTF::HashTraits<int> >, WTF::HashTraits<int> > WTF::HashTable<int, std::pair<int, int>, WTF::PairFirstExtractor<std::pair<int, int> >, WTF::IntHash<int>, WTF::PairHashTraits<WTF::HashTraits<int>, WTF::HashTraits<int> >, WTF::HashTraits<int> >::find<int, WTF::IdentityHashTranslator<int, std::pair<int, int>, WTF::IntHash<int> > >(int const&)	
	0.1%	0.1%	WebCore	WebCore::Widget::frameGeometry() const	
	0.1%	0.1%	WebCore	WebCore::StringImpl::createStrippingNullCharacters(unsigned short const*, unsigned)	
	0.1%	0.1%	WebCore	WebCore::StringImpl::create(char const*)	
	0.1%	0.1%	WebCore	WebCore::String::format(char const*, ...)	
	0.1%	0.1%	WebCore	WebCore::SimpleFontData::platformInit()	
	0.1%	0.1%	WebCore	WebCore::ScrollView::visibleHeight() const	
	0.1%	0.1%	WebCore	WebCore::ScrollView::contentsY() const	
	0.1%	0.1%	WebCore	WebCore::ResourceResponse::platformLazyInit()	
	0.1%	0.1%	WebCore	WebCore::ResourceHandle::start(WebCore::Frame*)	
	0.1%	0.1%	WebCore	WebCore::RenderText::calcPrefWidths(int)	
	0.1%	0.1%	WebCore	WebCore::RenderStyle::~RenderStyle [not-in-charge]()	
	0.1%	0.1%	WebCore	WebCore::RenderObject::setStyle(WebCore::RenderStyle*)	
	0.1%	0.1%	WebCore	WebCore::RenderObject::setNeedsLayout(bool, bool)	
	0.1%	0.1%	WebCore	WebCore::RenderObject::containingBlock() const	
	0.1%	0.1%	WebCore	WebCore::RenderObject::borderTopExtra() const	
	0.1%	0.1%	WebCore	WebCore::RenderFlow::continuation() const	
	0.1%	0.1%	WebCore	WebCore::RenderBox::paintRootBoxDecorations(WebCore::RenderObject::PaintInfo&, int, int)	
	0.1%	0.1%	WebCore	WebCore::RenderBox::paintBoxDecorations(WebCore::RenderObject::PaintInfo&, int, int)	
	0.1%	0.1%	WebCore	WebCore::RenderBox::paintBackgroundExtended(WebCore::RenderObject::PaintInfo const&, WebCore::Color const&, WebCore::BackgroundLayer const*, int, int, int, int, int, int, WebCore::InlineFlowBox*)	
	0.1%	0.1%	WebCore	WebCore::RenderBlock::layoutInlineChildren(bool, int&, int&)	
	0.1%	0.1%	WebCore	WebCore::Node::childNode(unsigned) const	
	0.1%	0.1%	WebCore	WebCore::JSHTMLParagraphElement::getOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&)	
	0.1%	0.1%	WebCore	WebCore::JSDOMWindow::getOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&)	
	0.1%	0.1%	WebCore	WebCore::GraphicsContext::setPlatformShadow(WebCore::IntSize const&, int, WebCore::Color const&)	
	0.1%	0.1%	WebCore	WebCore::GraphicsContext::platformContext() const	
	0.1%	0.1%	WebCore	WebCore::GraphicsContext::drawLineForText(WebCore::IntPoint const&, int, bool)	
	0.1%	0.1%	WebCore	WebCore::Font::operator==(WebCore::Font const&) const	
	0.1%	0.1%	WebCore	WebCore::Element::removeAttribute(WebCore::String const&, int&)	
	0.1%	0.1%	WebCore	WebCore::Element::localName() const	
	0.1%	0.1%	WebCore	WebCore::DynamicNodeList::Caches::reset()	
	0.1%	0.1%	WebCore	WebCore::ContainerNode::childrenChanged(bool, WebCore::Node*, WebCore::Node*, int)	
	0.1%	0.1%	WebCore	WebCore::Color::getRGBA(float&, float&, float&, float&) const	
	0.1%	0.1%	WebCore	WebCore::CGColorFromNSColor(NSColor*)	
	0.1%	0.1%	WebCore	std::pair<WTF::HashTableIteratorAdapter<WTF::HashTable<WebCore::StringImpl*, WebCore::StringImpl*, WTF::IdentityExtractor<WebCore::StringImpl*>, WebCore::StringHash, WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*> >, WebCore::StringImpl*>, bool> WTF::HashSet<WebCore::StringImpl*, WebCore::StringHash, WTF::HashTraits<WebCore::StringImpl*> >::add<WebCore::HashAndCharacters, WebCore::HashAndCharactersTranslator>(WebCore::HashAndCharacters const&)	
	0.1%	0.1%	WebCore	std::pair<WTF::HashTableIterator<WebCore::StringImpl*, WebCore::StringImpl*, WTF::IdentityExtractor<WebCore::StringImpl*>, WebCore::StringHash, WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*> >, bool> WTF::HashTable<WebCore::StringImpl*, WebCore::StringImpl*, WTF::IdentityExtractor<WebCore::StringImpl*>, WebCore::StringHash, WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*> >::add<WebCore::StringImpl*, WebCore::StringImpl*, WTF::HashSetTranslator<(bool)1, WebCore::StringImpl*, WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*>, WebCore::StringHash> >(WebCore::StringImpl* const&, WebCore::StringImpl* const&)	
	0.1%	0.1%	WebKit	setCursor(NSWindow*, objc_selector*, _NSPoint)	
	0.1%	0.1%	JavaScriptCore	KJS::UString::toDouble(bool, bool) const	
	0.1%	0.1%	JavaScriptCore	KJS::ScopedVarFunctionCallNode::evaluate(KJS::ExecState*)	
	0.1%	0.1%	JavaScriptCore	KJS::PropertyMap::get(KJS::Identifier const&) const	
	0.1%	0.1%	JavaScriptCore	KJS::ParserRefCounted::ref()	
	0.1%	0.1%	JavaScriptCore	KJS::ParserRefCounted::deref()	
	0.1%	0.1%	JavaScriptCore	KJS::JSObject::type() const	
	0.1%	0.1%	JavaScriptCore	KJS::JSObject::defaultValue(KJS::ExecState*, KJS::JSType) const	
	0.1%	0.1%	JavaScriptCore	KJS::ArgumentListNode::evaluateList(KJS::ExecState*, KJS::List&)	
	0.1%	0.1%	WebKit	CallDelegate(objc_object* (*)(objc_object*, objc_selector*, ...), WebView*, objc_object*, objc_selector*, objc_object*, objc_object*)	
	0.1%	0.1%	WebKit	-[WebHTMLView(WebInternal) _web_layoutIfNeededRecursive]	
	0.1%	0.1%	WebKit	-[WebFrameView(WebInternal) _setDocumentView:]	
	0.1%	0.1%	WebKit	-[WebDynamicScrollBarsView(WebInternal) reflectScrolledClipView:]	
	0.1%	0.1%	WebKit	-[NSURL(WebNSURLExtras) _webkit_canonicalize]	
	0.1%	0.1%	WebKit	-[NSDictionary(WebNSDictionaryExtras) _webkit_objectForMIMEType:]	
	0.1%	0.1%	WebCore	WTF::Vector<unsigned short, (unsigned long)0>::reserveCapacity(unsigned long)	
	0.1%	0.1%	JavaScriptCore	WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe()	
	0.1%	0.1%	WebCore	WTF::HashTableIterator<WebCore::StringImpl*, WebCore::StringImpl*, WTF::IdentityExtractor<WebCore::StringImpl*>, WebCore::StringHash, WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*> > WTF::HashTable<WebCore::StringImpl*, WebCore::StringImpl*, WTF::IdentityExtractor<WebCore::StringImpl*>, WebCore::StringHash, WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*> >::find<WebCore::StringImpl*, WTF::IdentityHashTranslator<WebCore::StringImpl*, WebCore::StringImpl*, WebCore::StringHash> >(WebCore::StringImpl* const&)	
	0.1%	0.1%	WebCore	WTF::HashTableIterator<WebCore::StringImpl*, WebCore::StringImpl*, WTF::IdentityExtractor<WebCore::StringImpl*>, WebCore::StringHash, WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*> > WTF::HashTable<WebCore::StringImpl*, WebCore::StringImpl*, WTF::IdentityExtractor<WebCore::StringImpl*>, WebCore::StringHash, WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*> >::find<WebCore::HashAndCharacters, WTF::HashSetTranslatorAdapter<(bool)1, WebCore::StringImpl*, WTF::HashTraits<WebCore::StringImpl*>, WebCore::HashAndCharacters, WebCore::HashAndCharactersTranslator> >(WebCore::HashAndCharacters const&)	
	0.1%	0.1%	JavaScriptCore	WTF::HashTableIterator<KJS::UString::Rep*, KJS::UString::Rep*, WTF::IdentityExtractor<KJS::UString::Rep*>, WTF::StrHash<KJS::UString::Rep*>, WTF::HashTraits<KJS::UString::Rep*>, WTF::HashTraits<KJS::UString::Rep*> > WTF::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, WTF::IdentityExtractor<KJS::UString::Rep*>, WTF::StrHash<KJS::UString::Rep*>, WTF::HashTraits<KJS::UString::Rep*>, WTF::HashTraits<KJS::UString::Rep*> >::find<KJS::UString::Rep*, WTF::IdentityHashTranslator<KJS::UString::Rep*, KJS::UString::Rep*, WTF::StrHash<KJS::UString::Rep*> > >(KJS::UString::Rep* const&)	
	0.1%	0.1%	WebCore	WTF::HashTable<WebCore::StringImpl*, WebCore::StringImpl*, WTF::IdentityExtractor<WebCore::StringImpl*>, WebCore::StringHash, WTF::HashTraits<WebCore::StringImpl*>, WTF::HashTraits<WebCore::StringImpl*> >::rehash(int)	
	0.1%	0.1%	WebCore	WTF::HashTable<int, std::pair<int, int>, WTF::PairFirstExtractor<std::pair<int, int> >, WTF::IntHash<unsigned>, WTF::PairHashTraits<WTF::HashTraits<int>, WTF::HashTraits<int> >, WTF::HashTraits<int> >::HashTable[not-in-charge](WTF::HashTable<int, std::pair<int, int>, WTF::PairFirstExtractor<std::pair<int, int> >, WTF::IntHash<unsigned>, WTF::PairHashTraits<WTF::HashTraits<int>, WTF::HashTraits<int> >, WTF::HashTraits<int> > const&)	
	0.1%	0.1%	JavaScriptCore	WTF::HashTable<int, int, WTF::IdentityExtractor<int>, WTF::IntHash<int>, WTF::HashTraits<int>, WTF::HashTraits<int> >::rehash(int)	
	0.1%	0.1%	WebCore	WTF::HashMap<WebCore::Document*, WTF::HashMap<WebCore::Node*, WebCore::JSNode*, WTF::PtrHash<WebCore::Node*>, WTF::HashTraits<WebCore::Node*>, WTF::HashTraits<WebCore::JSNode*> >*, WTF::PtrHash<WebCore::Document*>, WTF::HashTraits<WebCore::Document*>, WTF::HashTraits<WTF::HashMap<WebCore::Node*, WebCore::JSNode*, WTF::PtrHash<WebCore::Node*>, WTF::HashTraits<WebCore::Node*>, WTF::HashTraits<WebCore::JSNode*> >*> >::get(WebCore::Document* const&) const	
	0.1%	0.1%	WebKit	WebLocalizedString	
	0.1%	0.1%	WebCore	WebCoreShouldUseFontSmoothing	
	0.1%	0.1%	WebCore	WebCore::toJS(KJS::ExecState*, WebCore::Node*)	
	0.1%	0.1%	WebCore	WebCore::StyleSurroundData::StyleSurroundData[not-in-charge](WebCore::StyleSurroundData const&)	
	0.1%	0.1%	WebCore	WebCore::setClip(WebCore::GraphicsContext*, WebCore::IntRect const&, WebCore::IntRect const&)	
	0.1%	0.1%	WebCore	WebCore::ScrollView::windowToContents(WebCore::IntPoint const&) const	
	0.1%	0.1%	WebCore	WebCore::ScrollView::hScrollbarMode() const	
	0.1%	0.1%	WebCore	WebCore::ScrollView::documentView() const	
	0.1%	0.1%	WebCore	WebCore::ScrollView::contentsWidth() const	
	0.1%	0.1%	WebCore	WebCore::RenderText::destroy()	
	0.1%	0.1%	WebCore	WebCore::RenderStyle::hasPseudoStyle(WebCore::RenderStyle::PseudoId) const	
	0.1%	0.1%	WebCore	WebCore::RenderStyle::diff(WebCore::RenderStyle const*) const	
	0.1%	0.1%	WebCore	WebCore::RenderObject::view() const	
	0.1%	0.1%	WebCore	WebCore::RenderObject::paddingTop() const	
	0.1%	0.1%	WebCore	WebCore::RenderObject::maximalOutlineSize(WebCore::PaintPhase) const	
	0.1%	0.1%	WebCore	WebCore::RenderObject::createObject(WebCore::Node*, WebCore::RenderStyle*)	
	0.1%	0.1%	WebCore	WebCore::RenderObject::borderRight() const	
	0.1%	0.1%	WebCore	WebCore::RenderObject::borderBottom() const	
	0.1%	0.1%	WebCore	WebCore::RenderObject::arenaDelete(WebCore::RenderArena*, void*)	
	0.1%	0.1%	WebCore	WebCore::RenderLayer::paintLayer(WebCore::RenderLayer*, WebCore::GraphicsContext*, WebCore::IntRect const&, bool, WebCore::PaintRestriction, WebCore::RenderObject*, bool)	
	0.1%	0.1%	WebCore	WebCore::RenderContainer::addChild(WebCore::RenderObject*, WebCore::RenderObject*)	
	0.1%	0.1%	WebCore	WebCore::RenderBox::layer() const	
	0.1%	0.1%	WebCore	WebCore::RenderBlock::overflowTop(bool) const	
	0.1%	0.1%	WebCore	WebCore::RenderBlock::overflowRect(bool) const	
	0.1%	0.1%	WebCore	WebCore::RenderBlock::overflowLeft(bool) const	
	0.1%	0.1%	WebCore	WebCore::RenderBlock::layout()	
	0.1%	0.1%	WebCore	WebCore::RenderBlock::findNextLineBreak(WebCore::BidiResolver<WebCore::BidiIterator, WebCore::BidiRun>&, WebCore::EClear*)	
	0.1%	0.1%	WebCore	WebCore::RenderBlock::collapseMargins(WebCore::RenderObject*, WebCore::RenderBlock::MarginInfo&, int)	
	0.1%	0.1%	WebCore	WebCore::RenderBlock::addChildToFlow(WebCore::RenderObject*, WebCore::RenderObject*)	
	0.1%	0.1%	WebCore	WebCore::RenderArena::allocate(unsigned long)	
	0.1%	0.1%	WebCore	WebCore::QualifiedName::QualifiedName[not-in-charge](WebCore::AtomicString const&, WebCore::AtomicString const&, WebCore::AtomicString const&)	
	0.1%	0.1%	WebCore	WebCore::Node::virtualHasTagName(WebCore::QualifiedName const&) const	
	0.1%	0.1%	WebCore	WebCore::Node::renderStyle() const	
	0.1%	0.1%	WebCore	WebCore::Node::ownerDocument() const	
	0.1%	0.1%	WebCore	WebCore::Node::notifyNodeListsAttributeChanged()	
	0.1%	0.1%	WebCore	WebCore::Node::notifyLocalNodeListsChildrenChanged()	
	0.1%	0.1%	WebCore	WebCore::Node::isSVGElement() const	
	0.1%	0.1%	WebCore	WebCore::Node::isReadOnlyNode()	
	0.1%	0.1%	WebCore	WebCore::NamedAttrMap::length() const	
	0.1%	0.1%	WebCore	WebCore::JSNode::getValueProperty(KJS::ExecState*, int) const	
	0.1%	0.1%	WebCore	WebCore::JSHTMLDocument::getOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&)	
	0.1%	0.1%	WebCore	WebCore::JSElementPrototype::getOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&)	
	0.1%	0.1%	WebCore	WebCore::JSElement::getOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&)	
	0.1%	0.1%	WebCore	WebCore::JSDOMWindow::customGetOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&)	
	0.1%	0.1%	WebCore	WebCore::JSDocument::getValueProperty(KJS::ExecState*, int) const	
	0.1%	0.1%	WebCore	WebCore::JSDocument::getOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&)	
	0.1%	0.1%	WebCore	WebCore::JSCharacterData::getValueProperty(KJS::ExecState*, int) const	
	0.1%	0.1%	WebCore	WebCore::InlineTextBox::paint(WebCore::RenderObject::PaintInfo&, int, int)	
	0.1%	0.1%	WebCore	WebCore::ImageSource::isSizeAvailable()	
	0.1%	0.1%	WebCore	WebCore::HTMLInputElement::mapToEntry(WebCore::QualifiedName const&, WebCore::MappedAttributeEntry&) const	
	0.1%	0.1%	WebCore	WebCore::GraphicsContext::roundToDevicePixels(WebCore::FloatRect const&)	
	0.1%	0.1%	WebCore	WebCore::GlyphWidthMap::widthForGlyph(unsigned short)	
	0.1%	0.1%	WebCore	WebCore::Frame::selectionController() const	
	0.1%	0.1%	WebCore	WebCore::Frame::loader() const	
	0.1%	0.1%	WebCore	WebCore::FontFamily::operator==(WebCore::FontFamily const&) const	
	0.1%	0.1%	WebCore	WebCore::Font::glyphDataForCharacter(int, bool, bool) const	
	0.1%	0.1%	WebCore	WebCore::endsOfNodeAreVisuallyDistinctPositions(WebCore::Node*)	
	0.1%	0.1%	WebCore	WebCore::Element::virtualHasTagName(WebCore::QualifiedName const&) const	
	0.1%	0.1%	WebCore	WebCore::Element::nodeType() const	
	0.1%	0.1%	WebCore	WebCore::Element::namespaceURI() const	
	0.1%	0.1%	WebCore	WebCore::Element::isElementNode() const	
	0.1%	0.1%	WebCore	WebCore::DynamicNodeList::length() const	
	0.1%	0.1%	WebCore	WebCore::Document::nodeWillBeRemoved(WebCore::Node*)	
	0.1%	0.1%	WebCore	WebCore::Document::getElementById(WebCore::AtomicString const&) const	
	0.1%	0.1%	WebCore	WebCore::DeprecatedPtrListImplIterator::current() const	
	0.1%	0.1%	WebCore	WebCore::CSSStyleSelector::styleForElement(WebCore::Element*, WebCore::RenderStyle*, bool, bool)	
	0.1%	0.1%	WebCore	WebCore::CSSStyleSelector::matchRules(WebCore::CSSRuleSet*, int&, int&)	
	0.1%	0.1%	WebCore	WebCore::CSSStyleSelector::checkPseudoState(WebCore::Element*, bool)	
	0.1%	0.1%	WebCore	WebCore::CSSStyleSelector::adjustRenderStyle(WebCore::RenderStyle*, WebCore::Element*)	
	0.1%	0.1%	WebCore	WebCore::CSSPrimitiveValue::cssText() const	
	0.1%	0.1%	WebCore	WebCore::CSSPrimitiveValue::computeLengthIntForLength(WebCore::RenderStyle*, double)	
	0.1%	0.1%	WebCore	WebCore::CSSPrimitiveValue::computeLengthDouble(WebCore::RenderStyle*, double, bool)	
	0.1%	0.1%	WebCore	WebCore::ContainerNode::removeChild(WebCore::Node*, int&)	
	0.1%	0.1%	WebCore	WebCore::ContainerNode::attach()	
	0.1%	0.1%	WebCore	WebCore::ContainerNode::appendChild(WTF::PassRefPtr<WebCore::Node>, int&)	
	0.1%	0.1%	WebCore	WebCore::ClassNames::parseClassAttribute(WebCore::String const&, bool)	
	0.1%	0.1%	WebCore	WebCore::CharacterData::rendererIsNeeded(WebCore::RenderStyle*)	
	0.1%	0.1%	WebCore	WebCore::CharacterData::offsetInCharacters() const	
	0.1%	0.1%	WebCore	WebCore::CachedResource::~CachedResource [not-in-charge]()	
	0.1%	0.1%	WebCore	WebCore::bidiNext(WebCore::RenderBlock*, WebCore::RenderObject*, WebCore::BidiResolver<WebCore::BidiIterator, WebCore::BidiRun>*, bool, bool*)	
	0.1%	0.1%	WebCore	WebCore::AtomicString::find(KJS::Identifier const&)	
	0.1%	0.1%	WebCore	WebCore::AtomicString::add(WebCore::StringImpl*)	
	0.1%	0.1%	WebCore	WebCore::AtomicString::add(KJS::UString const&)	
	0.1%	0.1%	JavaScriptCore	std::pair<WTF::HashTableIterator<int, std::pair<int, int>, WTF::PairFirstExtractor<std::pair<int, int> >, WTF::IntHash<int>, WTF::PairHashTraits<WTF::HashTraits<int>, WTF::HashTraits<int> >, WTF::HashTraits<int> >, bool> WTF::HashTable<int, std::pair<int, int>, WTF::PairFirstExtractor<std::pair<int, int> >, WTF::IntHash<int>, WTF::PairHashTraits<WTF::HashTraits<int>, WTF::HashTraits<int> >, WTF::HashTraits<int> >::add<KJS::ParserRefCounted*, unsigned, WTF::HashMapTranslator<(bool)1, std::pair<KJS::ParserRefCounted*, unsigned>, WTF::PairBaseHashTraits<WTF::HashTraits<KJS::ParserRefCounted*>, WTF::HashTraits<unsigned> >, WTF::PairHashTraits<WTF::HashTraits<int>, WTF::HashTraits<int> >, WTF::PtrHash<KJS::ParserRefCounted*> > >(KJS::ParserRefCounted* const&, unsigned const&)	
	0.1%	0.1%	JavaScriptCore	makeFunctionCallNode(KJS::NodeFeatureInfo<KJS::ExpressionNode*>, KJS::NodeFeatureInfo<KJS::ArgumentsNode*>)	
	0.1%	0.1%	JavaScriptCore	KJS::UString::from(int)	
	0.1%	0.1%	JavaScriptCore	KJS::UString::from(double)	
	0.1%	0.1%	JavaScriptCore	KJS::StringImp::~StringImp [in-charge]()	
	0.1%	0.1%	JavaScriptCore	KJS::ScopeNode::optimizeVariableAccess(KJS::ExecState*)	
	0.1%	0.1%	JavaScriptCore	KJS::PropertyMap::~PropertyMap [not-in-charge]()	
	0.1%	0.1%	JavaScriptCore	KJS::PropertyMap::mark() const	
	0.1%	0.1%	JavaScriptCore	KJS::numberProtoFuncToString(KJS::ExecState*, KJS::JSObject*, KJS::List const&)	
	0.1%	0.1%	JavaScriptCore	KJS::NumberImp::toString(KJS::ExecState*) const	
	0.1%	0.1%	JavaScriptCore	KJS::jsOwnedString(KJS::UString const&)	
	0.1%	0.1%	WebCore	KJS::JSObject::getOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&)	
	0.1%	0.1%	JavaScriptCore	KJS::JSImmediate::toString(KJS::JSValue const*)	
	0.1%	0.1%	JavaScriptCore	KJS::JSGlobalObject::getOwnPropertySlot(KJS::ExecState*, KJS::Identifier const&, KJS::PropertySlot&)	
	0.1%	0.1%	JavaScriptCore	KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&)	
	0.1%	0.1%	JavaScriptCore	KJS::ArrayInstance::getOwnPropertySlot(KJS::ExecState*, unsigned, KJS::PropertySlot&)	
	0.1%	0.1%	JavaScriptCore	KJS::ArrayInstance::ArrayInstance[not-in-charge](KJS::JSObject*, unsigned)	
	0.1%	0.1%	JavaScriptCore	KJS::ActivationImp::put(KJS::ExecState*, KJS::Identifier const&, KJS::JSValue*)	
	0.1%	0.1%	JavaScriptCore	d2b	
	0.1%	0.1%	WebKit	-[WebView(WebViewInternal) _objectForIdentifier:]	
	0.1%	0.1%	WebKit	-[WebHTMLView(WebHTMLViewFileInternal) _cancelUpdateMouseoverTimer]	
	0.1%	0.1%	WebKit	-[WebHTMLView isFlipped]	
	0.1%	0.1%	WebKit	-[WebFrameView setFrameSize:]	
	0.1%	0.1%	WebKit	-[WebDataSource webFrame]
Comment 1 Eric Seidel (no email) 2011-06-14 16:26:32 PDT
I don't think this bug is useful anymore.