rust/compiler/rustc_metadata/src
bors cf6427373b Auto merge of #119238 - Mark-Simulacrum:def-hash-efficiency, r=cjgillot
Skip duplicate stable crate ID encoding into metadata

Instead, we store just the local crate hash as a bare u64. On decoding,
we recombine it with the crate's stable crate ID stored separately in
metadata. The end result is that we save ~8 bytes/DefIndex in metadata
size.

One key detail here is that we no longer distinguish in encoded metadata
between present and non-present DefPathHashes. It used to be highly
likely we could distinguish as we used DefPathHash::default(), an
all-zero representation. However in theory even that is fallible as
nothing strictly prevents the StableCrateId from being zero. In review it
was pointed out that we should never have a missing hash for a DefIndex anyway,
so this shouldn't matter.
2023-12-24 07:56:37 +00:00
..
rmeta Auto merge of #119238 - Mark-Simulacrum:def-hash-efficiency, r=cjgillot 2023-12-24 07:56:37 +00:00
creader.rs Rename Session::span_diagnostic as Session::dcx. 2023-12-18 16:06:21 +11:00
dependency_format.rs Format all the let chains in compiler 2023-10-13 08:59:36 +00:00
errors.rs Add level arg to into_diagnostic. 2023-12-19 09:19:25 +11:00
foreign_modules.rs Do not fetch HIR in native_libs. 2023-07-17 07:37:03 +00:00
fs.rs Rename Session::span_diagnostic as Session::dcx. 2023-12-18 16:06:21 +11:00
lib.rs Use rustc_fluent_macro::fluent_messages! directly. 2023-11-26 08:38:40 +11:00
locator.rs Auto merge of #118344 - saethlin:rmeta-header-pos, r=WaffleLapkin 2023-12-11 17:21:14 +00:00
native_libs.rs Enable link-arg link kind inside of #[link] attribute 2023-11-30 08:26:13 -08:00