rust/compiler
bors a0e229abad Auto merge of #83649 - bjorn3:dedup_providers, r=petrochenkov
Don't duplicate the extern providers once for each crate

This should give a small perf improvement for small crates by avoiding a memcpy of a pretty big struct for each loaded crate. In addition would be useful for replacing the sequential `CrateNum` everywhere with the hash based `StableCrateId` introduced in #81635, which would allow avoiding remapping of `CrateNum`'s when loading crate metadata. While this PR is not strictly needed for that, it is necessary to prevent a performance loss due to it.

I think this duplication was done in https://github.com/rust-lang/rust/pull/40008 (which introduced the query system) to make it possible to compile multiple crates in a single session in the future. I think this is unlikely to be implemented any time soon. In addition this PR can easily be reverted if necessary to implement this.
2021-03-30 06:22:29 +00:00
..
2021-03-26 09:32:31 -07:00
2021-03-27 22:16:33 -04:00
2021-03-27 22:16:33 -04:00
2021-03-27 22:16:34 -04:00
2021-03-27 22:16:34 -04:00
2021-03-27 22:16:33 -04:00
2021-03-27 22:16:33 -04:00
2021-03-27 22:16:34 -04:00
2021-03-26 09:32:31 -07:00
2021-03-27 22:16:34 -04:00
2021-03-27 22:16:33 -04:00
2021-03-26 09:32:31 -07:00
2021-03-26 09:32:31 -07:00
2021-03-27 22:16:34 -04:00
2021-03-27 22:16:33 -04:00
2021-03-26 09:32:31 -07:00