aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/db.rs
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup memory usage statsAleksey Kladov2020-03-251-6/+1
|
* Use `dyn Trait` for working with databseAleksey Kladov2020-03-161-2/+8
| | | | | | | It improves compile time in `--release` mode quite a bit, it doesn't really slow things down and, conceptually, it seems closer to what we want the physical architecture to look like (we don't want to monomorphise EVERYTHING in a single leaf crate).
* Normalize waiting queries namesAleksey Kladov2020-03-061-6/+6
|
* Less confusing profile namesAleksey Kladov2020-03-061-1/+1
|
* Add `_query` suffix to `compute_crate_def_map` for consistencyMichal Terepeta2020-01-031-1/+1
| | | | Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
* Split `crate_def_map` into two methodsMichal Terepeta2020-01-031-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change: - introduces `compute_crate_def_map` query and renames `CrateDefMap::crate_def_map_query` for consistency, - annotates `crate_def_map` as `salsa::transparent` and adds a top-level `crate_def_map` wrapper function around that starts the profiler and immediately calls into `compute_crate_def_map` query. This allows us to better understand where we spent the time, in particular, how much is spent in the recomputaiton and how much in salsa. Example output (where we don't actually re-compute anything, but the query still takes a non-trivial amount of time): ``` 211ms - handle_inlay_hints 150ms - get_inlay_hints 150ms - SourceAnalyzer::new 65ms - def_with_body_from_child_node 65ms - analyze_container 65ms - analyze_container 65ms - Module::from_definition 65ms - Module::from_file 65ms - crate_def_map 1ms - parse_macro_query (6 calls) 0ms - raw_items_query (1 calls) 64ms - ??? ``` Signed-off-by: Michal Terepeta <michal.terepeta@gmail.com>
* Remove import source mapAleksey Kladov2019-12-211-10/+1
|
* Revert "Merge #2629"Aleksey Kladov2019-12-211-1/+10
| | | | | This reverts commit cdc9d682b066b110e0a44e5f8f1c574b38c16ba9, reversing changes made to 90ef070db3dce0a7acb9cd11d0b0d72de13c9d79.
* Remove import source mapAleksey Kladov2019-12-211-10/+1
|
* Move enum&union to new locAleksey Kladov2019-12-121-6/+6
|
* Move structs to new locAleksey Kladov2019-12-121-3/+3
|
* Move traits to the new locAleksey Kladov2019-12-121-3/+3
|
* Switch to the new location for implsAleksey Kladov2019-12-121-3/+3
|
* Fix hir for ast::UnionDefAleksey Kladov2019-11-251-4/+8
|
* Switch to StaticLoc for staticsAleksey Kladov2019-11-241-2/+3
|
* Cleanup importsAleksey Kladov2019-11-231-10/+10
|
* Get rid of DefDatabase2Aleksey Kladov2019-11-231-2/+2
|
* Move docs to hir_defAleksey Kladov2019-11-231-0/+6
|
* Move lang_items to hir_defAleksey Kladov2019-11-231-3/+13
|
* Move attrs query to hir_defAleksey Kladov2019-11-231-1/+5
|
* Move const&static date to hir_defAleksey Kladov2019-11-221-3/+9
|
* Move data to a single fileAleksey Kladov2019-11-221-4/+1
|
* Move FunctionData to hir_defAleksey Kladov2019-11-221-1/+6
|
* Move TypeAlias to hir_defAleksey Kladov2019-11-221-1/+5
|
* Move generic_params query to HIRAleksey Kladov2019-11-201-1/+5
|
* Move constants to new IDAleksey Kladov2019-11-201-6/+3
| | | | This allows us to get rid of trait item index
* Switch type aliases to new sourcesAleksey Kladov2019-11-201-3/+3
|
* Next gen IDs for functionsAleksey Kladov2019-11-201-2/+2
| | | | | | | | | | | | | | | | | The current system with AstIds has two primaraly drawbacks: * It is possible to manufacture IDs out of thin air. For example, it's possible to create IDs for items which are not considered in CrateDefMap due to cfg. Or it is possible to mixup structs and unions, because they share ID space. * Getting the ID of a parent requires a secondary index. Instead, the plan is to pursue the more traditional approach, where each items stores the id of the parent declaration. This makes `FromSource` more awkward, but also more correct: now, to get from an AST to HIR, we first do this recursively for the parent item, and the just search the children of the parent for the matching def
* Move traits to hir_defAleksey Kladov2019-11-201-2/+9
|
* Remove old impls infrastructureAleksey Kladov2019-11-151-1/+5
|
* Add ImplIdAleksey Kladov2019-11-151-9/+10
|
* Move body queries to hir_defAleksey Kladov2019-11-141-1/+11
|
* Unfork struct and union idsAleksey Kladov2019-11-091-8/+4
|
* Move CrateDefMap to hir_defAleksey Kladov2019-11-031-3/+12
|
* move struct & enum data to hir_defAleksey Kladov2019-10-311-1/+11
|
* move raw_items to hir_defAleksey Kladov2019-10-301-0/+18
|
* Move ids to hir_def crateAleksey Kladov2019-10-301-0/+22