diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-08-04 21:22:45 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-08-04 21:22:45 +0000 |
commit | fa78dec572259aca763457b435744f79d822c5d4 (patch) | |
tree | 2839cc78d6a9d07e890e44c1cf3ca6595bf1d184 /lib/Frontend/PCHReader.cpp | |
parent | 725cd9686a0f5bb6c994cb3e43f58b63567c6860 (diff) |
Bring stats for the method pool back.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110247 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/PCHReader.cpp')
-rw-r--r-- | lib/Frontend/PCHReader.cpp | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/lib/Frontend/PCHReader.cpp b/lib/Frontend/PCHReader.cpp index ffc12cc729..2252fd4729 100644 --- a/lib/Frontend/PCHReader.cpp +++ b/lib/Frontend/PCHReader.cpp @@ -421,8 +421,9 @@ PCHReader::PCHReader(Preprocessor &PP, ASTContext *Context, Consumer(0), isysroot(isysroot), DisableValidation(DisableValidation), NumStatHits(0), NumStatMisses(0), NumSLocEntriesRead(0), TotalNumSLocEntries(0), NumStatementsRead(0), TotalNumStatements(0), - NumMacrosRead(0), NumSelectorsRead(0), NumSelectorMisses(0), - TotalNumMacros(0), NumLexicalDeclContextsRead(0), + NumMacrosRead(0), TotalNumMacros(0), NumSelectorsRead(0), + NumMethodPoolEntriesRead(0), NumMethodPoolMisses(0), + TotalNumMethodPoolEntries(0), NumLexicalDeclContextsRead(0), TotalLexicalDeclContexts(0), NumVisibleDeclContextsRead(0), TotalVisibleDeclContexts(0), NumCurrentElementsDeserializing(0) { RelocatablePCH = false; @@ -436,7 +437,8 @@ PCHReader::PCHReader(SourceManager &SourceMgr, FileManager &FileMgr, isysroot(isysroot), DisableValidation(DisableValidation), NumStatHits(0), NumStatMisses(0), NumSLocEntriesRead(0), TotalNumSLocEntries(0), NumStatementsRead(0), TotalNumStatements(0), NumMacrosRead(0), - NumSelectorsRead(0), NumSelectorMisses(0), TotalNumMacros(0), + TotalNumMacros(0), NumSelectorsRead(0), NumMethodPoolEntriesRead(0), + NumMethodPoolMisses(0), TotalNumMethodPoolEntries(0), NumLexicalDeclContextsRead(0), TotalLexicalDeclContexts(0), NumVisibleDeclContextsRead(0), TotalVisibleDeclContexts(0), NumCurrentElementsDeserializing(0) { @@ -1662,6 +1664,7 @@ PCHReader::ReadPCHBlock(PerFileData &F) { F.SelectorLookupTableData + Record[0], F.SelectorLookupTableData, PCHSelectorLookupTrait(*this)); + TotalNumMethodPoolEntries += Record[1]; break; case pch::REFERENCED_SELECTOR_POOL: { @@ -3092,15 +3095,13 @@ void PCHReader::PrintStats() { NumVisibleDeclContextsRead, TotalVisibleDeclContexts, ((float)NumVisibleDeclContextsRead/TotalVisibleDeclContexts * 100)); -#if 0 - if (TotalSelectorsInSelector) { + if (TotalNumMethodPoolEntries) { std::fprintf(stderr, " %u/%u method pool entries read (%f%%)\n", - NumSelectorSelectorsRead, TotalSelectorsInSelector, - ((float)NumSelectorSelectorsRead/TotalSelectorsInSelector + NumMethodPoolEntriesRead, TotalNumMethodPoolEntries, + ((float)NumMethodPoolEntriesRead/TotalNumMethodPoolEntries * 100)); - std::fprintf(stderr, " %u method pool misses\n", NumSelectorMisses); + std::fprintf(stderr, " %u method pool misses\n", NumMethodPoolMisses); } -#endif std::fprintf(stderr, "\n"); } @@ -3222,6 +3223,10 @@ PCHReader::ReadMethodPool(Selector Sel) { PCHSelectorLookupTable::iterator Pos = PoolTable->find(Sel); if (Pos != PoolTable->end()) { ++NumSelectorsRead; + // FIXME: Not quite happy with the statistics here. We probably should + // disable this tracking when called via LoadSelector. + // Also, should entries without methods count as misses? + ++NumMethodPoolEntriesRead; PCHSelectorLookupTrait::data_type Data = *Pos; if (DeserializationListener) DeserializationListener->SelectorRead(Data.ID, Sel); @@ -3229,7 +3234,7 @@ PCHReader::ReadMethodPool(Selector Sel) { } } - ++NumSelectorMisses; + ++NumMethodPoolMisses; return std::pair<ObjCMethodList, ObjCMethodList>(); } |