Skip to content

Commit 3d7d08f

Browse files
committed
Simplify write_metadata
1 parent e1a2f0f commit 3d7d08f

File tree

1 file changed

+3
-41
lines changed

1 file changed

+3
-41
lines changed

src/metadata.rs

Lines changed: 3 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ use rustc_data_structures::memmap::Mmap;
88
use rustc_data_structures::owning_ref::OwningRef;
99
use rustc_data_structures::rustc_erase_owner;
1010
use rustc_data_structures::sync::MetadataRef;
11-
use rustc_middle::middle::cstore::{EncodedMetadata, MetadataLoader};
11+
use rustc_middle::middle::cstore::MetadataLoader;
1212
use rustc_middle::ty::TyCtxt;
13-
use rustc_session::config;
1413
use rustc_target::spec::Target;
1514

1615
use crate::backend::WriteMetadata;
@@ -58,54 +57,17 @@ impl MetadataLoader for CraneliftMetadataLoader {
5857
}
5958

6059
// Adapted from https://github.com/rust-lang/rust/blob/da573206f87b5510de4b0ee1a9c044127e409bd3/src/librustc_codegen_llvm/base.rs#L47-L112
61-
pub(crate) fn write_metadata<P: WriteMetadata>(
62-
tcx: TyCtxt<'_>,
63-
product: &mut P,
64-
) -> EncodedMetadata {
60+
pub(crate) fn write_metadata<O: WriteMetadata>(tcx: TyCtxt<'_>, object: &mut O) {
6561
use snap::write::FrameEncoder;
6662
use std::io::Write;
6763

68-
#[derive(PartialEq, Eq, PartialOrd, Ord)]
69-
enum MetadataKind {
70-
None,
71-
Uncompressed,
72-
Compressed,
73-
}
74-
75-
let kind = tcx
76-
.sess
77-
.crate_types()
78-
.iter()
79-
.map(|ty| match *ty {
80-
config::CrateType::Executable
81-
| config::CrateType::Staticlib
82-
| config::CrateType::Cdylib => MetadataKind::None,
83-
84-
config::CrateType::Rlib => MetadataKind::Uncompressed,
85-
86-
config::CrateType::Dylib | config::CrateType::ProcMacro => MetadataKind::Compressed,
87-
})
88-
.max()
89-
.unwrap_or(MetadataKind::None);
90-
91-
if kind == MetadataKind::None {
92-
return EncodedMetadata::new();
93-
}
94-
9564
let metadata = tcx.encode_metadata();
96-
if kind == MetadataKind::Uncompressed {
97-
return metadata;
98-
}
99-
100-
assert!(kind == MetadataKind::Compressed);
10165
let mut compressed = tcx.metadata_encoding_version();
10266
FrameEncoder::new(&mut compressed).write_all(&metadata.raw_data).unwrap();
10367

104-
product.add_rustc_section(
68+
object.add_rustc_section(
10569
rustc_middle::middle::exported_symbols::metadata_symbol_name(tcx),
10670
compressed,
10771
tcx.sess.target.is_like_osx,
10872
);
109-
110-
metadata
11173
}

0 commit comments

Comments
 (0)