Commit Graph
2178 Commits
Author SHA1 Message Date
Eberhard Graether 73007931b2 logic: Fixed race conditions in indexing tasks
* Fixed TaskFillIndexerCommandQueue exiting right away when all commands fitted into queue on first call
* Fixed TaskBuildIndex exiting right away when starting of indexer processes takes longer than the update cycle
* Refactored Indexing Tasks Behavior Tree
2018-10-16 17:02:42 +02:00
Eberhard Graether 54f3b551ef src: Fixed shared memory garbage collector mutex stuck
* Try unlocking mutex 5 times
* Then force ownership
* If everything fails run without garbage collector
2018-10-16 15:20:48 +02:00
Eberhard Graether 31d2fb67e2 build: Fixed Linux build 2018-10-16 14:16:21 +02:00
Eberhard Graether db586939e9 ui: Fixed crash on scope expansion
Code file list was still referencing deleted snippet scrollbar after replacing snippets on scope expansion.
2018-10-16 12:10:20 +02:00
Eberhard Graether 4ae052cb9c data: Refactored ParserClient API to return and use Ids instead of NameHierarchies for faster indexing
* Pass NameHierarchy to record new symbol returning an Id
* Cache symbol Ids in Parser implementation
* Reuse symbol Ids as reference when recording related data
* Pass FilePath to record new file returning an Id
* Cache file Ids in CanonicalFilePathCache
* Store file Id in ParseLocation instead of FilePath

fortune cookie message = You know a silent way to impose your will.
2018-10-16 00:54:38 +02:00
Eberhard Graether aab29b241e test: Replaced DumpParserClient and TestParserClient with TestIntermediateStorage to ease switch to new ParserClient API 2018-10-15 15:05:15 +02:00
Eberhard Graether 3d5b90364a data: Removed source_location_file_node_id_type_index 2018-10-06 12:43:57 +02:00
mlangkabel 10658b2801 ui: display multi-line maven error messages (issue #622) 2018-10-05 13:32:25 +02:00
Eberhard Graether 9edfdacd72 data: Removed separate comment_location table
* added LocationType LOCATION_COMMENT
* store comment locations within source_locations
2018-10-04 21:21:31 +02:00
Eberhard Graether f060b6042d data: Improved injection performance with batched insertions
* add InsertBatchStatement inserting any number as multiples
* switched Storage injection interface to containers
2018-10-03 01:15:27 +02:00
mlangkabel 15e66758df build: updated versions of Java indexer dependencies 2018-10-02 18:15:39 +02:00
Eberhard Graether 83f41e04b1 data: start adding node name hierarchy from bottom and stop when a name was already added 2018-09-25 00:52:09 +02:00
Eberhard Graether a870858bb6 data: Don't store NameElement in NameHierarchy in shared_ptr to reduce heap allocations 2018-09-23 18:01:31 +02:00
Eberhard Graether 34cdde604e data: improved ParserClientImpl recording performance
* Removed storage checks and single use methods
* cache file ids in ParserClientImpl to avoid lookup for every source location
* NameHierarchy::serialize with range to avoid copies when adding nodes
* removed duplicate code in IndexerCxx and IndexerJava, moved to Indexer
2018-09-23 17:52:05 +02:00
mlangkabel 7c039a2fb8 logic: fixed reading lines now also breaks at a single "\r" on windows 2018-09-21 18:00:34 +02:00
mlangkabel 951256c07b logic: reduced waiting time when interrupting indexer processes
* made multiprocess AST traversal interruptible again
* removed const variables that define sleep times for threads
2018-09-21 17:19:03 +02:00
Eberhard Graether 593e075399 utility: don't process log messages in stream macros when logging disabled 2018-09-21 16:28:07 +02:00
Eberhard Graether 56dcddfb83 cxx: Improved performance of CxxAstVisitor, CxxNameResolver and CxxName types
* use unique_ptr for CxxName handling
* create CxxNameResolver from other
* improved string handling in CxxName types
* only traverse decls within projects
* use macro in ast visitor to call into each component instead of virtual calls
* improved CxxName caching performance
* refactored CxxNameResolver classes to use less locals
2018-09-21 14:48:51 +02:00
Eberhard Graether 513988e51b src: Fixed tests for Mac 2018-09-21 14:38:31 +02:00
mlangkabel dfc6d88432 build: search headers in all source directories
* removed paths in include directives
* changed cmake to provide necessary header search paths
* changed name of version.h to productVersion.h due to name conflict
2018-09-18 19:00:18 +02:00
mlangkabel 9dc2bcc2f9 logic: indexer command refactoring
* moved SystemHeaderSearchPaths and FramewordSeearchPaths of indexer cxx indexer commands to CompilerFlags section
* added SourceGroupTestSuite to test indexer command generation of all source groups
* removed "compile_commands.json" from gitignore, because a resource file for the tests has this name
2018-09-18 17:09:28 +02:00
Eberhard Graether 07454f2045 data: Removed std::multimap optimization from LowMemoryStringMap and store local symbol names in std::map 2018-09-18 12:32:55 +02:00
Eberhard Graether 9f453ef376 src: Fixed clang warnings 2018-09-18 10:56:56 +02:00
mlangkabel 5517cd4ccf logic: refresh info generator fixes and tests
* fixed case where "to-index" state of a file has changed and thus the file needs to be re-indexed
* clear and re-index files that depend on changed non-indexed files
* clear and re-index files referenced by unchanged but cleared (due to referencing a changed file) files
* fixed: updated files with changed timestamp that do not have content in the db will now count as changed
* refined refresh info generator tests
* updated checklists for manual project setup tests
2018-09-14 16:02:01 +02:00
mlangkabel 5b7938eda6 logic: record and display cxx indexer configuration issues (issue #618) 2018-09-14 15:31:27 +02:00
mlangkabel eb0bf063b8 logic: improved performance of "setting up indexers" step for CDB SourceGroups
* improved performance of generating IndexerCommandProviders of  CDB SourceGroups
2018-09-11 13:23:55 +02:00
mlangkabel db85279b8c logic: reduced memory consumption of indexer commands for empty, Sonargraph and Codeblocks Cxx sourcegroups
* use compressed format of CxxIndexerCommandProvider for these SourceGroups
2018-09-10 13:58:45 +02:00
mlangkabel cdbca77495 src: cleaned up code of Tasks and IndexerCommands 2018-09-10 13:17:49 +02:00
mlangkabel df0b7bc7bb logic: Log success of VS path detector instead of printing to console 2018-09-10 13:01:54 +02:00
mlangkabel 9998855527 logic: generate indexer commands on demand to reduce shared memory consumption
* implemented task for sending IndexerCommands to shared memory on demand
* SourceGroups now return IndexerCommandProviders instead of just a list of indexer commands. This way information can be stored in a compressed format
* merged IndexerCommandCxxEmpty and IndexerCommandCxxCdb
* moved sorting of indexer commands by file size from IndexerCommandList to TaskFillIndexerCommandQueue
* removed obsolete IndexerCommandList class
* wait for IndexerCommandQueue to be filled before starting the indexers
* restart finished indexer processes while indexerCommandQueue is still running
* restart indexer threads as long as there are indexer commands to process
* removed Blackboard::getMutex() and added an atomic update() method
2018-09-10 12:40:30 +02:00
mlangkabel 1a39f9ddc0 logic: fixed crash and missing includes in LogMemoryStringMap 2018-09-04 21:43:00 +02:00
mlangkabel 0e9fb73463 logic: improved performance of querying filepaths from CDB
* we don't need to get the complete compile commands for this
* as a fallback, querying a single compile command for a file is fast, because it is stored in a map
2018-09-03 16:51:48 +02:00
mlangkabel 5ff7d510d7 Re-Revert and fix "logic: changed Java type_argument edges to originate in the generic type or method" 2018-09-03 09:38:51 +02:00
Eberhard Graether bb1d7f5b39 src: Fixed clang warnings 2018-09-02 21:23:07 +02:00
Eberhard Graether 06d64b76f7 data: Reduced memory usage during indexing with LowMemoryStringMap
* reduces node and local symbol index sizes by about 30-50%
2018-09-02 20:47:43 +02:00
mlangkabel ea68229303 logic: fixed crash that occurred in some cases when logging the clang invocation 2018-08-31 13:19:52 +02:00
mlangkabel 4afd1b3fef ui: implemented restoring minimized Sourcetrail window if token is activated from IDE on Windows 2018-08-28 16:50:21 +02:00
mlangkabel 5c6e9afe06 ui: fixed raising Sourcetrail window if token is activated from IDE on Windows 2018-08-28 16:40:00 +02:00
mlangkabel 8e6d5e6010 Revert "logic: changed Java type_argument edges to originate in the generic type or method" 2018-08-28 16:20:51 +02:00
Eberhard Graether ff92ac7929 logic: Fixed crash on self referencing connections in HierarchyCache 2018-08-28 16:05:34 +02:00
mlangkabel 21d58357f2 logic: fixed application crash on windows if JVM tries to allocate too much memory by reducing the amount of allocated memory to the available size. 2018-08-28 13:06:36 +02:00
Eberhard Graether 5f80d79540 ui: Fixed gradle loading dialogs in main window instaed of project setup dialog 2018-08-28 12:58:29 +02:00
mlangkabel 0f5548f5f9 ui: updated text for handling non-existent project in recent projects list 2018-08-28 11:02:48 +02:00
mlangkabel d2b8b5567f build: fixed ShadedIntermediateStorage not compiling on Windows 2018-08-28 10:15:14 +02:00
Eberhard Graether a1ad9abc0d data: Faster creation of ParseLocation 2018-08-28 02:16:31 +02:00
Eberhard Graether 470a8a3920 data: Improved data storing performance in IntermediateStorage 2018-08-27 23:37:24 +02:00
Eberhard Graether c0984b2ca4 ui: Display count circle of bundle node as rounded rect 2018-08-27 19:42:20 +02:00
Eberhard Graether e3e8fa1547 data: Request file modification time not until storing to index for faster indexing performance 2018-08-27 17:05:38 +02:00
mlangkabel e8a4830229 ui: fixed crash that had a chance to occur when showing source files of cdb/cbp/sonargraph project 2018-08-27 16:15:18 +02:00
Eberhard Graether 9bce2de57b data: reduced memory usage of sqlite index during indexing
* use std::string instead of std::wstring in temp indices
* use number types for edges and source locations in temp indices
* use map::emplace where appropriate
* moved 100 occurence insert optimization fully to sqlite index
2018-08-27 15:38:44 +02:00