From b8d50a7414389a237eeaa67e575a5374da698300 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 27 Jan 2021 12:16:24 +0300 Subject: [PATCH 1/2] add more counts --- Cargo.lock | 4 ++-- crates/hir_def/src/body.rs | 2 ++ crates/hir_def/src/body/lower.rs | 2 ++ crates/hir_expand/src/ast_id_map.rs | 4 +++- crates/profile/Cargo.toml | 2 +- 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 45a0211ffb..6fcac61775 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -284,9 +284,9 @@ checksum = "28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6" [[package]] name = "countme" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f8038ded86523aa26c1321dfe8bb432707d0a3e2608f9d0108803727546e089" +checksum = "1aa2b26822354da8572983762d79a7ba55981b3fbbc612164a0dbbd0213df7fe" dependencies = [ "dashmap", "once_cell", diff --git a/crates/hir_def/src/body.rs b/crates/hir_def/src/body.rs index d0c84ab0b5..b9ecf22fa5 100644 --- a/crates/hir_def/src/body.rs +++ b/crates/hir_def/src/body.rs @@ -17,6 +17,7 @@ use hir_expand::{ HirFileId, InFile, MacroDefId, }; use la_arena::{Arena, ArenaMap}; +use profile::Count; use rustc_hash::FxHashMap; use syntax::{ast, AstNode, AstPtr}; use test_utils::mark; @@ -237,6 +238,7 @@ pub struct Body { /// The `ExprId` of the actual body expression. pub body_expr: ExprId, pub item_scope: ItemScope, + _c: Count, } pub type ExprPtr = AstPtr; diff --git a/crates/hir_def/src/body/lower.rs b/crates/hir_def/src/body/lower.rs index 4ce5e5b72c..209965fcaf 100644 --- a/crates/hir_def/src/body/lower.rs +++ b/crates/hir_def/src/body/lower.rs @@ -10,6 +10,7 @@ use hir_expand::{ ExpandError, HirFileId, MacroDefId, MacroDefKind, }; use la_arena::Arena; +use profile::Count; use rustc_hash::FxHashMap; use syntax::{ ast::{ @@ -77,6 +78,7 @@ pub(super) fn lower( params: Vec::new(), body_expr: dummy_expr_id(), item_scope: Default::default(), + _c: Count::new(), }, item_trees: { let mut map = FxHashMap::default(); diff --git a/crates/hir_expand/src/ast_id_map.rs b/crates/hir_expand/src/ast_id_map.rs index 0991fffd85..16cf299076 100644 --- a/crates/hir_expand/src/ast_id_map.rs +++ b/crates/hir_expand/src/ast_id_map.rs @@ -13,6 +13,7 @@ use std::{ }; use la_arena::{Arena, Idx}; +use profile::Count; use syntax::{ast, match_ast, AstNode, AstPtr, SyntaxNode, SyntaxNodePtr}; /// `AstId` points to an AST node in a specific file. @@ -62,12 +63,13 @@ type ErasedFileAstId = Idx; #[derive(Debug, PartialEq, Eq, Default)] pub struct AstIdMap { arena: Arena, + _c: Count, } impl AstIdMap { pub(crate) fn from_source(node: &SyntaxNode) -> AstIdMap { assert!(node.parent().is_none()); - let mut res = AstIdMap { arena: Arena::default() }; + let mut res = AstIdMap::default(); // By walking the tree in breadth-first order we make sure that parents // get lower ids then children. That is, adding a new child does not // change parent's id. This means that, say, adding a new function to a diff --git a/crates/profile/Cargo.toml b/crates/profile/Cargo.toml index 4dd9acc98f..486f9c1641 100644 --- a/crates/profile/Cargo.toml +++ b/crates/profile/Cargo.toml @@ -14,7 +14,7 @@ once_cell = "1.3.1" cfg-if = "1" libc = "0.2.73" la-arena = { version = "0.2.0", path = "../../lib/arena" } -countme = { version = "2.0.0", features = ["enable"] } +countme = { version = "2.0.1", features = ["enable"] } jemalloc-ctl = { version = "0.3.3", optional = true } [target.'cfg(target_os = "linux")'.dependencies] From 5101f85da06bb467bfec0cec5e96267ad282456c Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 27 Jan 2021 12:40:15 +0300 Subject: [PATCH 2/2] Squelch a warning --- crates/rust-analyzer/src/bin/args.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/rust-analyzer/src/bin/args.rs b/crates/rust-analyzer/src/bin/args.rs index 37d8414f4e..2a532361dc 100644 --- a/crates/rust-analyzer/src/bin/args.rs +++ b/crates/rust-analyzer/src/bin/args.rs @@ -16,6 +16,7 @@ pub(crate) struct Args { pub(crate) log_file: Option, pub(crate) no_buffering: bool, pub(crate) command: Command, + #[allow(unused)] pub(crate) wait_dbg: bool, }