[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdevelop
From:       David Nolden <david.nolden.kde () art-master ! de>
Date:       2008-06-12 15:10:21
Message-ID: 1213283421.905825.16916.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 819909 by zwabel:

- Use pathOrUrl instead of prettyUrl as needed now for the du-chain.
- Roll up the preprocessor, lexer and parser to use IndexedString indices for \
identifiers. For other characters or comments, the IndexedString's hold the single \
characters they are composed of. Now identifiers or keywords are tokenized exactly \
                once, and hashed exactly once, instead of doing it repeatedly on many \
                levels.
- Rewrite the set-repositories used in the environment-manager: Now they are based on \
an ItemRepository that stores the actual nodes, and it's impossible to create exactly \
the same node twice now, because ALL nodes are stored and looked up in the \
repository. Also there's a fixed split-hierarchy now, that makes sure that nodes are \
as similar as possible.  This greatly reduces the peak memory usage, and allows \
                easily storing/loading all the information from/to disk.
- Add tests for stuff that was broken along the way.

The performance probably isn't much better yet, but this opens the door for further \
optimization. Don't try full-project parsing yet, the repositories still have a fixed \
size.



 M  +1 -1      buildtools/managers/cmake/cmakecachemodel.cpp  
 M  +5 -5      buildtools/managers/cmake/parser/cmakeprojectvisitor.cpp  
 M  +1 -1      kdevelop.kdev4  
 M  +2 -2      languages/cpp/cppcodecompletionmodel.cpp  
 M  +1 -1      languages/cpp/cppduchain/CMakeLists.txt  
 A             languages/cpp/cppduchain/basicsetrepository.cpp  
 A             languages/cpp/cppduchain/basicsetrepository.h   [License: GPL (v2+)]
 M  +4 -4      languages/cpp/cppduchain/contextbuilder.cpp  
 M  +4 -3      languages/cpp/cppduchain/cppduchain.cpp  
 M  +4 -3      languages/cpp/cppduchain/cppeditorintegrator.cpp  
 M  +9 -14     languages/cpp/cppduchain/cpppreprocessenvironment.cpp  
 M  +4 -4      languages/cpp/cppduchain/cpppreprocessenvironment.h  
 M  +2 -1      languages/cpp/cppduchain/dumpchain.cpp  
 M  +50 -45    languages/cpp/cppduchain/environmentmanager.cpp  
 M  +62 -67    languages/cpp/cppduchain/environmentmanager.h  
 M  +2 -1      languages/cpp/cppduchain/expressionparser.cpp  
 M  +17 -9     languages/cpp/cppduchain/expressionvisitor.cpp  
 A             languages/cpp/cppduchain/macrorepository.cpp   [License: LGPL (v2)]
 A             languages/cpp/cppduchain/macrorepository.h   [License: LGPL (v2)]
 M  +18 -15    languages/cpp/cppduchain/name_visitor.cpp  
 M  +6 -5      languages/cpp/cppduchain/navigationwidget.cpp  
 M  +807 -650  languages/cpp/cppduchain/setrepository.cpp  
 M  +37 -259   languages/cpp/cppduchain/setrepository.h  
 M  +64 -29    languages/cpp/cppduchain/tests/test_duchain.cpp  
 M  +4 -3      languages/cpp/cppduchain/tests/test_expressionparser.cpp  
 M  +2 -1      languages/cpp/cppduchain/typebuilder.cpp  
 M  +14 -14    languages/cpp/cpplanguagesupport.cpp  
 M  +2 -2      languages/cpp/cpplanguagesupport.h  
 M  +9 -13     languages/cpp/cppparsejob.cpp  
 M  +3 -2      languages/cpp/cppparsejob.h  
 M  +2 -1      languages/cpp/parser/commentformatter.cpp  
 M  +2 -1      languages/cpp/parser/dumptree.cpp  
 M  +1 -1      languages/cpp/parser/headergen/main.cpp  
 M  +180 -1095 languages/cpp/parser/lexer.cpp  
 M  +67 -4     languages/cpp/parser/lexer.h  
 M  +16 -15    languages/cpp/parser/name_compiler.cpp  
 M  +9 -2      languages/cpp/parser/parser.cpp  
 M  +17 -20    languages/cpp/parser/parsesession.cpp  
 M  +11 -11    languages/cpp/parser/parsesession.h  
 M  +1 -0      languages/cpp/parser/rpp/CMakeLists.txt  
 A             languages/cpp/parser/rpp/chartools.cpp   [License: BSD]
 M  +45 -2     languages/cpp/parser/rpp/chartools.h  
 M  +95 -148   languages/cpp/parser/rpp/pp-engine.cpp  
 M  +16 -27    languages/cpp/parser/rpp/pp-engine.h  
 M  +6 -11     languages/cpp/parser/rpp/pp-environment.cpp  
 M  +9 -10     languages/cpp/parser/rpp/pp-environment.h  
 M  +4 -3      languages/cpp/parser/rpp/pp-internal.cpp  
 M  +31 -21    languages/cpp/parser/rpp/pp-location.cpp  
 M  +19 -7     languages/cpp/parser/rpp/pp-location.h  
 M  +66 -37    languages/cpp/parser/rpp/pp-macro-expander.cpp  
 M  +9 -5      languages/cpp/parser/rpp/pp-macro-expander.h  
 M  +22 -39    languages/cpp/parser/rpp/pp-macro.cpp  
 M  +36 -28    languages/cpp/parser/rpp/pp-macro.h  
 M  +36 -9     languages/cpp/parser/rpp/pp-scanner.cpp  
 M  +2 -2      languages/cpp/parser/rpp/pp-scanner.h  
 M  +139 -37   languages/cpp/parser/rpp/pp-stream.cpp  
 M  +45 -14    languages/cpp/parser/rpp/pp-stream.h  
 M  +10 -10    languages/cpp/parser/rpp/preprocessor.cpp  
 M  +1 -1      languages/cpp/parser/rpp/preprocessor.h  
 M  +24 -6     languages/cpp/parser/tests/test_parser.cpp  
 M  +17 -13    languages/cpp/preprocessjob.cpp  
 M  +4 -4      languages/cpp/quickopen.cpp  
 M  +15 -10    languages/cpp/setuphelpers.cpp  
 M  +1 -1      languages/cpp/setuphelpers.h  
 M  +93 -20    languages/cpp/tests/test_cppcodecompletion.cpp  
 M  +3 -1      languages/cpp/tests/test_cppcodecompletion.h  
 M  +2 -2      src/kdev3Tokdev4/projectmanager.cpp  
 M  +1 -1      src/main.cpp  


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic