Split exported_symbols for generic and non-generic symbols

This reduces metadata decoder overhead during the monomorphization collector.
This commit is contained in:
bjorn3
2025-06-25 14:19:57 +00:00
parent a17780db7b
commit 753c73a349
10 changed files with 86 additions and 37 deletions

View File

@@ -1124,8 +1124,9 @@ fn start_executing_work<B: ExtraBackendMethods>(
let copy_symbols = |cnum| {
let symbols = tcx
.exported_symbols(cnum)
.exported_non_generic_symbols(cnum)
.iter()
.chain(tcx.exported_generic_symbols(cnum))
.map(|&(s, lvl)| (symbol_name_for_instance_in_crate(tcx, s, cnum), lvl))
.collect();
Arc::new(symbols)