aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/db.rs
Commit message (Collapse)AuthorAgeFilesLines
* Split `infer` query into two for better profilingMichal Terepeta2020-01-031-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the same change as we did with `crate_def_map` and it does seem that we mostly spend time in salsa, without recomputing much on rust-analyzer side. Example output: ``` 233ms - handle_inlay_hints 163ms - get_inlay_hints 163ms - SourceAnalyzer::new 67ms - def_with_body_from_child_node 67ms - analyze_container 67ms - analyze_container 67ms - Module::from_definition 67ms - Module::from_file 67ms - crate_def_map 0ms - parse_macro_query (6 calls) 0ms - raw_items_query (1 calls) 66ms - ??? 0ms - crate_def_map (1 calls) 0ms - crate_def_map (1 calls) 96ms - infer 2ms - trait_solve_query (2 calls) 94ms - ??? 0ms - body_with_source_map_query (1 calls) 0ms - crate_def_map (1 calls) [...] ``` Signed-off-by: Michal Terepeta <[email protected]>
* Split `crate_def_map` into two methodsMichal Terepeta2020-01-031-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
* Remove import source mapAleksey Kladov2019-12-211-2/+2
|
* Revert "Merge #2629"Aleksey Kladov2019-12-211-2/+2
| | | | | This reverts commit cdc9d682b066b110e0a44e5f8f1c574b38c16ba9, reversing changes made to 90ef070db3dce0a7acb9cd11d0b0d72de13c9d79.
* Remove import source mapAleksey Kladov2019-12-211-2/+2
|
* Move TyAleksey Kladov2019-11-271-111/+6
|
* More decouplingAleksey Kladov2019-11-271-10/+7
|
* DecoupleAleksey Kladov2019-11-271-3/+3
|
* Crate -> CrateIdAleksey Kladov2019-11-271-7/+7
|
* DecoupleAleksey Kladov2019-11-261-12/+9
|
* Remove ns-polymorphic type_for_defAleksey Kladov2019-11-261-4/+7
|
* id-ify impls_in_crate_queryAleksey Kladov2019-11-261-2/+2
|
* Use GenericDefIdMoreAleksey Kladov2019-11-251-3/+3
|
* Use GenericDefId moreAleksey Kladov2019-11-251-2/+2
|
* Switch to variant-granularity field type inferenceAleksey Kladov2019-11-241-9/+14
|
* Remove ids moduleAleksey Kladov2019-11-241-4/+6
|
* Remove unneded supertraitAleksey Kladov2019-11-231-1/+1
|
* Get rid of DefDatabase2Aleksey Kladov2019-11-231-3/+1
|
* Move docs to hir_defAleksey Kladov2019-11-231-12/+5
|
* Move lang_items to hir_defAleksey Kladov2019-11-231-17/+6
|
* Move attrs query to hir_defAleksey Kladov2019-11-231-4/+0
|
* Move const&static date to hir_defAleksey Kladov2019-11-221-12/+6
|
* Move FunctionData to hir_defAleksey Kladov2019-11-221-8/+5
|
*-. Merge #2348 #2352bors[bot]2019-11-221-6/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2348: Add support for stringify! builtin macro r=matklad a=piotr-szpetkowski Refs #2212 First time ever contributing here, hopefully it's ok. 2352: Move TypeAlias to hir_def r=matklad a=matklad Co-authored-by: Piotr Szpetkowski <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
| | * Move TypeAlias to hir_defAleksey Kladov2019-11-221-6/+2
| |/
* / Encapsulate AttrsAleksey Kladov2019-11-221-2/+2
|/
* Remove old hir::generics moduleAleksey Kladov2019-11-211-3/+2
|
* Move generic_params query to HIRAleksey Kladov2019-11-201-6/+4
|
* Move constants to new IDAleksey Kladov2019-11-201-1/+0
| | | | This allows us to get rid of trait item index
* Move traits to hir_defAleksey Kladov2019-11-201-8/+2
|
* Move Generics to hir_defAleksey Kladov2019-11-201-1/+1
|
* Upgrade Chalk againFlorian Diebold2019-11-161-5/+12
|
* Upgrade ChalkFlorian Diebold2019-11-161-2/+13
| | | | | Associated type values (in impls) are now a separate entity in Chalk, so we have to intern separate IDs for them.
* Remove old impls infrastructureAleksey Kladov2019-11-151-15/+5
|
* Move body queries to hir_defAleksey Kladov2019-11-141-14/+5
|
* Move scopes to hir_defAleksey Kladov2019-11-141-1/+1
|
* Move expression lowering to hir_defAleksey Kladov2019-11-121-2/+2
|
* Minor cleanupAleksey Kladov2019-11-121-7/+5
|
* Merge #2179bors[bot]2019-11-061-0/+4
|\ | | | | | | | | | | | | | | | | | | | | | | 2179: Use HirDatabase to compute `is_deprecated` r=matklad a=martskins This PR fixes #2167 by introducing `attributes_query` and adding `fn attrs(&self, def: crate::AttrDef) -> Option<Arc<[Attr]>>;` to the `DefDatabase` trait. I'm a little concerned about the two spots in `attributes_query` where code is repeated, but I couldn't figure out a way to avoid that, so.. I welcome suggestions :smile: Co-authored-by: Martin Asquino <[email protected]>
| * HirDatabase stored attributesMartin Asquino2019-11-041-0/+4
| |
* | Move Namespace enum closer to usageAleksey Kladov2019-11-041-2/+2
|/
* Remove last traces of nameres from hirAleksey Kladov2019-11-031-2/+1
|
* Move CrateDefMap to hir_defAleksey Kladov2019-11-031-6/+3
|
* move struct & enum data to hir_defAleksey Kladov2019-10-311-11/+4
|
* fix compilationAleksey Kladov2019-10-301-2/+5
|
* move raw_items to hir_defAleksey Kladov2019-10-301-13/+4
|
* Move ids to hir_def crateAleksey Kladov2019-10-301-25/+3
|
* move ty interning to tyAleksey Kladov2019-10-301-6/+6
|
* rename hir_def -> hir_expandAleksey Kladov2019-10-291-1/+1
|
* move expansion-related code to a separate crateAleksey Kladov2019-10-291-35/+9
|