Removed use of iteration through a HashMap/HashSet in rustc_incremental and replaced with IndexMap/IndexSet
This commit is contained in:
parent
dcf3571c51
commit
17412bae30
12 changed files with 47 additions and 48 deletions
|
@ -9,7 +9,7 @@ use crate::{
|
|||
};
|
||||
use jobserver::{Acquired, Client};
|
||||
use rustc_ast::attr;
|
||||
use rustc_data_structures::fx::FxHashMap;
|
||||
use rustc_data_structures::fx::{FxHashMap, FxIndexMap};
|
||||
use rustc_data_structures::memmap::Mmap;
|
||||
use rustc_data_structures::profiling::SelfProfilerRef;
|
||||
use rustc_data_structures::profiling::TimingGuard;
|
||||
|
@ -498,8 +498,8 @@ pub fn start_async_codegen<B: ExtraBackendMethods>(
|
|||
fn copy_all_cgu_workproducts_to_incr_comp_cache_dir(
|
||||
sess: &Session,
|
||||
compiled_modules: &CompiledModules,
|
||||
) -> FxHashMap<WorkProductId, WorkProduct> {
|
||||
let mut work_products = FxHashMap::default();
|
||||
) -> FxIndexMap<WorkProductId, WorkProduct> {
|
||||
let mut work_products = FxIndexMap::default();
|
||||
|
||||
if sess.opts.incremental.is_none() {
|
||||
return work_products;
|
||||
|
@ -1885,7 +1885,7 @@ pub struct OngoingCodegen<B: ExtraBackendMethods> {
|
|||
}
|
||||
|
||||
impl<B: ExtraBackendMethods> OngoingCodegen<B> {
|
||||
pub fn join(self, sess: &Session) -> (CodegenResults, FxHashMap<WorkProductId, WorkProduct>) {
|
||||
pub fn join(self, sess: &Session) -> (CodegenResults, FxIndexMap<WorkProductId, WorkProduct>) {
|
||||
let _timer = sess.timer("finish_ongoing_codegen");
|
||||
|
||||
self.shared_emitter_main.check(sess, true);
|
||||
|
|
|
@ -6,7 +6,7 @@ use crate::back::write::TargetMachineFactoryFn;
|
|||
use crate::{CodegenResults, ModuleCodegen};
|
||||
|
||||
use rustc_ast::expand::allocator::AllocatorKind;
|
||||
use rustc_data_structures::fx::FxHashMap;
|
||||
use rustc_data_structures::fx::FxIndexMap;
|
||||
use rustc_data_structures::sync::{DynSend, DynSync};
|
||||
use rustc_errors::ErrorGuaranteed;
|
||||
use rustc_metadata::EncodedMetadata;
|
||||
|
@ -101,7 +101,7 @@ pub trait CodegenBackend {
|
|||
ongoing_codegen: Box<dyn Any>,
|
||||
sess: &Session,
|
||||
outputs: &OutputFilenames,
|
||||
) -> Result<(CodegenResults, FxHashMap<WorkProductId, WorkProduct>), ErrorGuaranteed>;
|
||||
) -> Result<(CodegenResults, FxIndexMap<WorkProductId, WorkProduct>), ErrorGuaranteed>;
|
||||
|
||||
/// This is called on the returned `Box<dyn Any>` from `join_codegen`
|
||||
///
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue