mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-19 09:30:44 +00:00
best shot at a rules file.
This commit is contained in:
parent
dd4f8fc711
commit
2eaafb13a6
@ -4,9 +4,9 @@
|
||||
# allocations that spacetrace processes. The format of this file is
|
||||
#
|
||||
# <categoryname>
|
||||
# substring for stack frame n
|
||||
# substring for stack frame n+1
|
||||
# substring for stack frame n+2
|
||||
# initial string match for stack frame n
|
||||
# initial string match for stack frame n+1
|
||||
# initial string match for stack frame n+2
|
||||
#
|
||||
# The key in the matching rule is that for every rule, we provide a
|
||||
# snippet of the stack frame - contiguous substring matches.
|
||||
@ -18,38 +18,312 @@
|
||||
#
|
||||
#
|
||||
# Suresh Duddi <dp@netscape.com>
|
||||
|
||||
###########################################################################
|
||||
# NOTE: This is still under definition
|
||||
###########################################################################
|
||||
# General principle of categorization:
|
||||
#
|
||||
# - Each category, in general, denotes a module or feature.
|
||||
#
|
||||
# - We assign each allocation to the module/feature that directly
|
||||
# caused the allocation irrespective of which higher level module
|
||||
# caused the allocation. There are very few exceptions usually when
|
||||
# an allocation belongs both to a feature-category and to a
|
||||
# module-category.
|
||||
#
|
||||
# bookmarks
|
||||
# Bookmarks. Mainly initialization. Does not include menu cost.
|
||||
# css
|
||||
# Cascading style sheets
|
||||
# dom
|
||||
# Memory held by DOM.
|
||||
# font
|
||||
# All font stuff
|
||||
# global-history
|
||||
# html
|
||||
# html parsing and layout
|
||||
# images
|
||||
# All images.
|
||||
# jar
|
||||
# jar, zip
|
||||
# js
|
||||
# javascript
|
||||
# necko
|
||||
# All protocol and uri stuff. All urls created accounted here
|
||||
# preferences
|
||||
# Preferences stuff. All js cost for preferences is included here.
|
||||
## rdf
|
||||
# Most of the rdf allocations. rdf cost from xul, chromeregistry,
|
||||
# is assigned to xul.
|
||||
# xbl
|
||||
# xbl stuff. Includes js in xbl.
|
||||
# xpcom
|
||||
# xpcom, xpt. Allocations for creations of objects are assigned
|
||||
# onto the respective modules
|
||||
# xul
|
||||
# XUL parsing and layout. Includes rdf overhead from xul like
|
||||
# nsChromeRegistry
|
||||
#
|
||||
|
||||
|
||||
#
|
||||
|
||||
# ===========================================================================
|
||||
# Leaf rules. We cagegorize them out first.
|
||||
# These are generally functions or classes that we know cause an
|
||||
# allocation at specified category and no other category an intervene
|
||||
# ===========================================================================
|
||||
|
||||
<js>
|
||||
nsXULPrototypeScript::Deserialize
|
||||
|
||||
# images category
|
||||
# ----------------------------------------------------------------------
|
||||
<images>
|
||||
gfxImageFrame::Init
|
||||
|
||||
# jar category
|
||||
# ----------------------------------------------------------------------
|
||||
<images>
|
||||
gif_write
|
||||
|
||||
<necko>
|
||||
nsHttpChannel::AsyncOpen
|
||||
|
||||
<jar>
|
||||
nsZipArchive::BuildFileList
|
||||
|
||||
# necko
|
||||
# ----------------------------------------------------------------------
|
||||
<jar>
|
||||
nsZipArchive::ReadInit
|
||||
|
||||
<jar>
|
||||
nsJARChannel::Open
|
||||
|
||||
<necko>
|
||||
nsDiskCacheDevice::Init
|
||||
|
||||
# css category
|
||||
# ----------------------------------------------------------------------
|
||||
<necko>
|
||||
nsCacheEntryDescriptor::nsTransportWrapper::OpenOutputStream
|
||||
|
||||
<necko>
|
||||
nsSocketTransport::
|
||||
|
||||
<necko-cache>
|
||||
nsCacheService::
|
||||
|
||||
<xpcom>
|
||||
NS_InitXPCOM2
|
||||
|
||||
# xpt file loads
|
||||
<xpcom>
|
||||
xptiInterfaceInfoManager::LoadFile
|
||||
|
||||
<xpcom>
|
||||
nsGenericModule::Initialize
|
||||
|
||||
<xul>
|
||||
nsXULElement::Create
|
||||
|
||||
<xul>
|
||||
nsXULAttribute::Create
|
||||
|
||||
<xul>
|
||||
nsXULDocument::AddElementToMap
|
||||
|
||||
<xul>
|
||||
XULContentSinkImpl::AddAttributes
|
||||
|
||||
<xul>
|
||||
XULContentSinkImpl::CreateElement
|
||||
|
||||
<xul>
|
||||
nsXULElement::SetAttr
|
||||
|
||||
<xul>
|
||||
nsXULDocument::InsertElement
|
||||
|
||||
<xul>
|
||||
NS_NewXULContentBuilder
|
||||
|
||||
<xul>
|
||||
nsXULElement::AppendChildTo
|
||||
|
||||
<xbl>
|
||||
nsXBLPrototypeHandler::AppendHandlerText(
|
||||
|
||||
<html>
|
||||
FrameArena::AllocateFrame
|
||||
|
||||
<global-history>
|
||||
nsGlobalHistory::OpenDB
|
||||
|
||||
<font>
|
||||
nsFontCache::
|
||||
|
||||
<font>
|
||||
nsFontMetricsGTK::
|
||||
|
||||
<font>
|
||||
nsFont::nsFont
|
||||
|
||||
<gtk>
|
||||
gtk_init
|
||||
|
||||
<rdf>
|
||||
RDFServiceImpl::GetResource
|
||||
|
||||
<rdf>
|
||||
RDFContentSinkImpl::AddProperties
|
||||
|
||||
<rdf>
|
||||
RDFContainerImpl::AppendElement
|
||||
|
||||
<rdf>
|
||||
RDFXMLDataSourceImpl::Assert
|
||||
|
||||
<rdf>
|
||||
NS_NewRDFInMemoryDataSource
|
||||
|
||||
<css>
|
||||
CSSParserImpl::Parse(
|
||||
|
||||
<css>
|
||||
NS_NewCSS
|
||||
|
||||
# xpcom category
|
||||
# ----------------------------------------------------------------------
|
||||
<xpcom>
|
||||
nsComponentManagerImpl::PlatformPrePopulateRegistry
|
||||
<css>
|
||||
RuleHash::AppendRule
|
||||
|
||||
# chrome js
|
||||
<css>
|
||||
nsRuleNode::GetStyleData
|
||||
|
||||
<css>
|
||||
CSSRuleProcessor::RulesMatching
|
||||
|
||||
<css>
|
||||
CSSStyleSheetImpl::Clone
|
||||
|
||||
<necko>
|
||||
nsIOService::NewURI
|
||||
|
||||
<necko>
|
||||
nsIOService::NewChannelFromURI
|
||||
|
||||
<necko>
|
||||
nsHttpHeaderArray::
|
||||
|
||||
<html>
|
||||
nsScanner::Append
|
||||
|
||||
<html>
|
||||
nsHTMLTokenizer::
|
||||
|
||||
<html>
|
||||
NS_NewHTMLTokenizer
|
||||
|
||||
<html>
|
||||
nsSlidingString::
|
||||
|
||||
<intl>
|
||||
nsStringBundle::
|
||||
|
||||
<intl>
|
||||
nsLocale::
|
||||
|
||||
<intl>
|
||||
nsCharsetConverterManager::
|
||||
|
||||
# ======================================================================
|
||||
# Rules that match higher up on the stack
|
||||
# These go later.
|
||||
# ======================================================================
|
||||
|
||||
<preferences>
|
||||
PREF_
|
||||
|
||||
<bookmarks>
|
||||
nsBookmarksService::
|
||||
|
||||
<xbl>
|
||||
nsXBLService::LoadBindings
|
||||
|
||||
<xbl>
|
||||
nsXBLBinding::ExecuteAttachedHandler
|
||||
|
||||
<js>
|
||||
nsXULDocument::LoadScript
|
||||
|
||||
<js>
|
||||
nsXULDocument::ExecuteScript
|
||||
|
||||
<xul>
|
||||
XULContentSinkImpl::Open
|
||||
|
||||
<rdf>
|
||||
RDFContentSinkImpl::HandleEndElement
|
||||
|
||||
<html>
|
||||
HTMLContentSink::AddAttributes
|
||||
|
||||
<html>
|
||||
HTMLContentSink::OpenContainer
|
||||
|
||||
<html>
|
||||
HTMLContentSink::CloseContainer
|
||||
|
||||
# XXX whom to account LoadImage to? I am going with images.
|
||||
<images>
|
||||
imgLoader::LoadImage
|
||||
|
||||
<html>
|
||||
StackArena::
|
||||
|
||||
# ======================================================================
|
||||
# Even more genralized rules. There could be lots of activity that
|
||||
# happens below them in the stack. But we are sure we have categorized
|
||||
# a lot of them by using the rules above and know the category of the
|
||||
# most of the rest.
|
||||
# ======================================================================
|
||||
|
||||
<rdf>
|
||||
RDFContentSinkImpl::
|
||||
|
||||
<dom>
|
||||
nsGenericDOMDataNode::
|
||||
|
||||
<dom>
|
||||
nsDOMClassInfo::
|
||||
|
||||
<dom>
|
||||
nsDOMSOFactory::
|
||||
|
||||
<xul>
|
||||
nsXULTemplateBuilder::
|
||||
|
||||
<xul>
|
||||
XULContentSinkImpl::HandleEndElement
|
||||
|
||||
<xul>
|
||||
nsChromeRegistry::
|
||||
|
||||
<js>
|
||||
nsJSContext::EvaluateString
|
||||
|
||||
# Almost all of what is left with XULContentSink belongs to xul
|
||||
# Also, this was roughly 0.3% of startup memory
|
||||
<xul>
|
||||
XULContentSinkImpl::
|
||||
|
||||
# XXX this is a wild guess -> html What remains here is about
|
||||
# XXX 1.5% of startup footprint
|
||||
<html>
|
||||
HTMLContentSink::
|
||||
|
||||
<xbl>
|
||||
nsXBLContentSink::
|
||||
|
||||
<xbl>
|
||||
nsXBLStreamListener::OnDataAvailable
|
||||
|
||||
# Catchalls to help categorize
|
||||
# ----------------------------------------------------------------------
|
||||
<chrome-js>
|
||||
nsXULPrototypeScript::Deserialize
|
||||
<js-catchall>
|
||||
js_
|
||||
|
||||
# Everything else
|
||||
# ----------------------------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user