AST: Add some counters related to name lookup

This commit is contained in:
Slava Pestov
2019-08-18 23:00:18 -04:00
parent 2d475a9ee9
commit 94c5a35bf2
5 changed files with 57 additions and 0 deletions

View File

@@ -454,6 +454,12 @@ static bool isParsedModule(const ModuleDecl *mod) {
void ModuleDecl::lookupValue(AccessPathTy AccessPath, DeclName Name,
NLKind LookupKind,
SmallVectorImpl<ValueDecl*> &Result) const {
auto *stats = getASTContext().Stats;
if (stats)
stats->getFrontendCounters().NumModuleLookupValue++;
FrontendStatsTracer tracer(stats, "module-lookup-value");
if (isParsedModule(this)) {
FrontendStatsTracer tracer(getASTContext().Stats, "source-file-lookup-value");
getSourceLookupCache().lookupValue(AccessPath, Name, LookupKind, Result);
@@ -604,6 +610,10 @@ void SourceFile::lookupClassMembers(ModuleDecl::AccessPathTy accessPath,
void ModuleDecl::lookupClassMember(AccessPathTy accessPath,
DeclName name,
SmallVectorImpl<ValueDecl*> &results) const {
auto *stats = getASTContext().Stats;
if (stats)
stats->getFrontendCounters().NumModuleLookupClassMember++;
if (isParsedModule(this)) {
FrontendStatsTracer tracer(getASTContext().Stats, "source-file-lookup-class-member");
auto &cache = getSourceLookupCache();