From 4e3fe55a85507fc3f8dd246b7b0bbc6eb62bb208 Mon Sep 17 00:00:00 2001 From: Vassil Vassilev Date: Fri, 1 Dec 2017 12:24:55 +0100 Subject: [PATCH] [cxxmodules] Remove obsolete code. Reduce extra deserializations. ROOT creates lazily the lists of entities. We do not need to actively update iterate over the namespaces and make the very expensive eager deserializations which affect the performance for both PCH/PCM. --- core/metacling/src/TCling.cxx | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/core/metacling/src/TCling.cxx b/core/metacling/src/TCling.cxx index 7f21c543fbc6b..23740b52655e3 100644 --- a/core/metacling/src/TCling.cxx +++ b/core/metacling/src/TCling.cxx @@ -543,29 +543,6 @@ void TCling::HandleNewDecl(const void* DV, bool isDeserialized, std::set(ND->getDeclContext())) { - if (NCtx->getIdentifier()) { - // No need to load the TClass: if there is something to update then - // it must already exist. - std::string NCtxName; - PrintingPolicy Policy(NCtx->getASTContext().getPrintingPolicy()); - llvm::raw_string_ostream stream(NCtxName); - // Don't trigger fopen of the source file to count lines: - Policy.AnonymousTagLocations = false; - NCtx->getNameForDiagnostic(stream, Policy, /*Qualified=*/true); - - TClass* cl = (TClass*)gROOT->GetListOfClasses()->FindObject(NCtxName.c_str()); - if (cl) { - modifiedTClasses.insert(cl); - } - } - return; - } - // We care about declarations on the global scope. if (!isa(ND->getDeclContext())) return;