Revision 581178
Go back to digest for 10th September 2006Features in Development Tools
Last night and tonight's work...:
1) Use static deleters for singletons
2) Use new KUrl for KDevDocumentRangeObject when working with non-smart cursors. I found that even a blank KUrl (QUrl) allocates a QUrlPrivate, and this was hurting us - 5Mb memory use on a 1Mb document. Found on
profiling with Massif.
3) Locking for the definition-use chain.
- One top-level lock per chain for most functions
- Per-object locking (internally) for external references - not finished
- Use locking in client code
I have left debugging enabled for now... if you hit an assert, please
email/irc me.
4) Disable the duchainviewer. For this to work, there is still a fair
bit of work to be done:
- need notification of major changes to a duchain while unlocked
- need to create a proxy model which can forward data from any thread to the gui thread
File Changes
- /trunk/KDE/kdevelop/languages/cpp/duchain
- /duchainbase.cpp
- /duchainbase.h
- /trunk/KDE/kdevelop/languages/cpp/duchain
- /duchainmodelbase.cpp
- /duchainmodelbase.h
- /trunk/KDE/kdevelop
- /languages/cpp/CMakeLists.txt
- /languages/cpp/cppcodecompletion.cpp
- /languages/cpp/cppcodecompletionmodel.cpp
- /languages/cpp/cpphighlighting.cpp
- /languages/cpp/cpphighlighting.h
- /languages/cpp/cpplanguagesupport.cpp
- /lib/editor/kdevdocumentrangeobject.cpp
- /lib/editor/kdevdocumentrangeobject.h
- /lib/editor/kdeveditorintegrator.cpp
- /languages/cpp/duchain/classfunctiondeclaration.cpp
- /languages/cpp/duchain/classfunctiondeclaration.h
- /languages/cpp/duchain/classmemberdeclaration.cpp
- /languages/cpp/duchain/classmemberdeclaration.h
- /languages/cpp/duchain/CMakeLists.txt
- /languages/cpp/duchain/contextbuilder.cpp
- /languages/cpp/duchain/contextbuilder.h
- /languages/cpp/duchain/declaration.cpp
- /languages/cpp/duchain/declaration.h
- /languages/cpp/duchain/declarationbuilder.cpp
- /languages/cpp/duchain/definition.cpp
- /languages/cpp/duchain/definition.h
- /languages/cpp/duchain/duchain.cpp
- /languages/cpp/duchain/ducontext.cpp
- /languages/cpp/duchain/ducontext.h
- /languages/cpp/duchain/forwarddeclaration.cpp
- /languages/cpp/duchain/forwarddeclaration.h
- /languages/cpp/duchain/smartconverter.cpp
- /languages/cpp/duchain/symboltable.cpp
- /languages/cpp/duchain/symboltable.h
- /languages/cpp/duchain/topducontext.cpp
- /languages/cpp/duchain/topducontext.h
- /languages/cpp/duchain/typerepository.cpp
- /languages/cpp/duchain/typerepository.h
- /languages/cpp/duchain/use.cpp
- /languages/cpp/duchain/use.h
- /languages/cpp/duchain/tests/test_duchain.cpp
- /languages/cpp/duchain/viewer/duchainmodel.cpp
- /languages/cpp/duchain/viewer/duchainmodel.h