Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Split `infer` query into two for better profiling | Michal Terepeta | 2020-01-03 | 1 | -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 methods | Michal Terepeta | 2020-01-03 | 1 | -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 map | Aleksey Kladov | 2019-12-21 | 1 | -2/+2 |
| | |||||
* | Revert "Merge #2629" | Aleksey Kladov | 2019-12-21 | 1 | -2/+2 |
| | | | | | This reverts commit cdc9d682b066b110e0a44e5f8f1c574b38c16ba9, reversing changes made to 90ef070db3dce0a7acb9cd11d0b0d72de13c9d79. | ||||
* | Remove import source map | Aleksey Kladov | 2019-12-21 | 1 | -2/+2 |
| | |||||
* | Move Ty | Aleksey Kladov | 2019-11-27 | 1 | -111/+6 |
| | |||||
* | More decoupling | Aleksey Kladov | 2019-11-27 | 1 | -10/+7 |
| | |||||
* | Decouple | Aleksey Kladov | 2019-11-27 | 1 | -3/+3 |
| | |||||
* | Crate -> CrateId | Aleksey Kladov | 2019-11-27 | 1 | -7/+7 |
| | |||||
* | Decouple | Aleksey Kladov | 2019-11-26 | 1 | -12/+9 |
| | |||||
* | Remove ns-polymorphic type_for_def | Aleksey Kladov | 2019-11-26 | 1 | -4/+7 |
| | |||||
* | id-ify impls_in_crate_query | Aleksey Kladov | 2019-11-26 | 1 | -2/+2 |
| | |||||
* | Use GenericDefIdMore | Aleksey Kladov | 2019-11-25 | 1 | -3/+3 |
| | |||||
* | Use GenericDefId more | Aleksey Kladov | 2019-11-25 | 1 | -2/+2 |
| | |||||
* | Switch to variant-granularity field type inference | Aleksey Kladov | 2019-11-24 | 1 | -9/+14 |
| | |||||
* | Remove ids module | Aleksey Kladov | 2019-11-24 | 1 | -4/+6 |
| | |||||
* | Remove unneded supertrait | Aleksey Kladov | 2019-11-23 | 1 | -1/+1 |
| | |||||
* | Get rid of DefDatabase2 | Aleksey Kladov | 2019-11-23 | 1 | -3/+1 |
| | |||||
* | Move docs to hir_def | Aleksey Kladov | 2019-11-23 | 1 | -12/+5 |
| | |||||
* | Move lang_items to hir_def | Aleksey Kladov | 2019-11-23 | 1 | -17/+6 |
| | |||||
* | Move attrs query to hir_def | Aleksey Kladov | 2019-11-23 | 1 | -4/+0 |
| | |||||
* | Move const&static date to hir_def | Aleksey Kladov | 2019-11-22 | 1 | -12/+6 |
| | |||||
* | Move FunctionData to hir_def | Aleksey Kladov | 2019-11-22 | 1 | -8/+5 |
| | |||||
*-. | Merge #2348 #2352 | bors[bot] | 2019-11-22 | 1 | -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_def | Aleksey Kladov | 2019-11-22 | 1 | -6/+2 |
| |/ | |||||
* / | Encapsulate Attrs | Aleksey Kladov | 2019-11-22 | 1 | -2/+2 |
|/ | |||||
* | Remove old hir::generics module | Aleksey Kladov | 2019-11-21 | 1 | -3/+2 |
| | |||||
* | Move generic_params query to HIR | Aleksey Kladov | 2019-11-20 | 1 | -6/+4 |
| | |||||
* | Move constants to new ID | Aleksey Kladov | 2019-11-20 | 1 | -1/+0 |
| | | | | This allows us to get rid of trait item index | ||||
* | Move traits to hir_def | Aleksey Kladov | 2019-11-20 | 1 | -8/+2 |
| | |||||
* | Move Generics to hir_def | Aleksey Kladov | 2019-11-20 | 1 | -1/+1 |
| | |||||
* | Upgrade Chalk again | Florian Diebold | 2019-11-16 | 1 | -5/+12 |
| | |||||
* | Upgrade Chalk | Florian Diebold | 2019-11-16 | 1 | -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 infrastructure | Aleksey Kladov | 2019-11-15 | 1 | -15/+5 |
| | |||||
* | Move body queries to hir_def | Aleksey Kladov | 2019-11-14 | 1 | -14/+5 |
| | |||||
* | Move scopes to hir_def | Aleksey Kladov | 2019-11-14 | 1 | -1/+1 |
| | |||||
* | Move expression lowering to hir_def | Aleksey Kladov | 2019-11-12 | 1 | -2/+2 |
| | |||||
* | Minor cleanup | Aleksey Kladov | 2019-11-12 | 1 | -7/+5 |
| | |||||
* | Merge #2179 | bors[bot] | 2019-11-06 | 1 | -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 attributes | Martin Asquino | 2019-11-04 | 1 | -0/+4 |
| | | |||||
* | | Move Namespace enum closer to usage | Aleksey Kladov | 2019-11-04 | 1 | -2/+2 |
|/ | |||||
* | Remove last traces of nameres from hir | Aleksey Kladov | 2019-11-03 | 1 | -2/+1 |
| | |||||
* | Move CrateDefMap to hir_def | Aleksey Kladov | 2019-11-03 | 1 | -6/+3 |
| | |||||
* | move struct & enum data to hir_def | Aleksey Kladov | 2019-10-31 | 1 | -11/+4 |
| | |||||
* | fix compilation | Aleksey Kladov | 2019-10-30 | 1 | -2/+5 |
| | |||||
* | move raw_items to hir_def | Aleksey Kladov | 2019-10-30 | 1 | -13/+4 |
| | |||||
* | Move ids to hir_def crate | Aleksey Kladov | 2019-10-30 | 1 | -25/+3 |
| | |||||
* | move ty interning to ty | Aleksey Kladov | 2019-10-30 | 1 | -6/+6 |
| | |||||
* | rename hir_def -> hir_expand | Aleksey Kladov | 2019-10-29 | 1 | -1/+1 |
| | |||||
* | move expansion-related code to a separate crate | Aleksey Kladov | 2019-10-29 | 1 | -35/+9 |
| |