diff options
| author | Jakub Beránek <berykubik@gmail.com> | 2021-10-23 13:50:04 +0200 |
|---|---|---|
| committer | Jakub Beránek <berykubik@gmail.com> | 2021-12-28 21:32:54 +0100 |
| commit | e475a49452b5629dac33eee8139d862da7d1dea3 (patch) | |
| tree | 1bc39fc35ce3570ff25b43c9d21726985f49c54f | |
| parent | e91ad5fc62bdee4a29c18baa5fad2ca42fc91bf4 (diff) | |
| download | rust-e475a49452b5629dac33eee8139d862da7d1dea3.tar.gz rust-e475a49452b5629dac33eee8139d862da7d1dea3.zip | |
Change several HashMaps to IndexMap to improve incremental hashing performance
| -rw-r--r-- | compiler/rustc_middle/src/middle/region.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/rustc_middle/src/middle/region.rs b/compiler/rustc_middle/src/middle/region.rs index 39ca41c92ff..eefa665f122 100644 --- a/compiler/rustc_middle/src/middle/region.rs +++ b/compiler/rustc_middle/src/middle/region.rs @@ -7,7 +7,7 @@ //! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/borrow_check.html use crate::ty::TyCtxt; -use rustc_data_structures::fx::FxHashMap; +use rustc_data_structures::fx::{FxHashMap, FxIndexMap}; use rustc_data_structures::stable_hasher::{HashStable, StableHasher}; use rustc_hir as hir; use rustc_hir::Node; @@ -215,14 +215,14 @@ pub struct ScopeTree { /// conditional expression or repeating block. (Note that the /// enclosing scope ID for the block associated with a closure is /// the closure itself.) - pub parent_map: FxHashMap<Scope, (Scope, ScopeDepth)>, + pub parent_map: FxIndexMap<Scope, (Scope, ScopeDepth)>, /// Maps from a variable or binding ID to the block in which that /// variable is declared. - var_map: FxHashMap<hir::ItemLocalId, Scope>, + var_map: FxIndexMap<hir::ItemLocalId, Scope>, /// Maps from a `NodeId` to the associated destruction scope (if any). - destruction_scopes: FxHashMap<hir::ItemLocalId, Scope>, + destruction_scopes: FxIndexMap<hir::ItemLocalId, Scope>, /// `rvalue_scopes` includes entries for those expressions whose /// cleanup scope is larger than the default. The map goes from the |
