[Lldb-commits] [lldb] [LLDB][NFC] Move CPlusPlusLanguage methods used in Core/Module.cpp to a separated module to break lldb-server dependencies (PR #132274)
Dmitry Vasilyev via lldb-commits
lldb-commits at lists.llvm.org
Thu Apr 3 12:37:30 PDT 2025
slydiman wrote:
I have updated this patch. But it seems we can keep Language.h, ObjCLanguage.* and Module.cpp untouched, because `a proper way` is useless for our purpose. `CPlusPlusLanguage::MethodName`, `CPlusPlusLanguage::IsCPPMangledName` and `CPlusPlusLanguage::ExtractContextAndIdentifier` are used in the following files except Module.cpp:
```
source/Core/RichManglingContext.cpp
source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
```
So it is necessary to move out `CPlusPlusLanguage::MethodName` anyway.
But now there is the bigger problem. I have synched with mainline and something changed within 2 last weeks.
2 weeks ago this patch reduced the size from 17MB to 8MB.
Now the size is 18MB and this patch does not work anymore.
source/Commands/CommandObjectTarget.cpp uses `clang::CompilerInstance compiler;` and it depends on `clang::ConstructionContextItem::getKindAsString`, which is GC root. I don't know what changed exactly. But now after this patch and commented out `clang::CompilerInstance` usage in CommandObjectTarget.cpp the size of lldb-server may be reduced to 9.6MB. I'm trying to figure out what exactly changed and how to fix it.
https://github.com/llvm/llvm-project/pull/132274
More information about the lldb-commits
mailing list