@@ -8,9 +8,8 @@ use rustc_data_structures::memmap::Mmap;
8
8
use rustc_data_structures:: owning_ref:: OwningRef ;
9
9
use rustc_data_structures:: rustc_erase_owner;
10
10
use rustc_data_structures:: sync:: MetadataRef ;
11
- use rustc_middle:: middle:: cstore:: { EncodedMetadata , MetadataLoader } ;
11
+ use rustc_middle:: middle:: cstore:: MetadataLoader ;
12
12
use rustc_middle:: ty:: TyCtxt ;
13
- use rustc_session:: config;
14
13
use rustc_target:: spec:: Target ;
15
14
16
15
use crate :: backend:: WriteMetadata ;
@@ -58,54 +57,17 @@ impl MetadataLoader for CraneliftMetadataLoader {
58
57
}
59
58
60
59
// 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 ) {
65
61
use snap:: write:: FrameEncoder ;
66
62
use std:: io:: Write ;
67
63
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
-
95
64
let metadata = tcx. encode_metadata ( ) ;
96
- if kind == MetadataKind :: Uncompressed {
97
- return metadata;
98
- }
99
-
100
- assert ! ( kind == MetadataKind :: Compressed ) ;
101
65
let mut compressed = tcx. metadata_encoding_version ( ) ;
102
66
FrameEncoder :: new ( & mut compressed) . write_all ( & metadata. raw_data ) . unwrap ( ) ;
103
67
104
- product . add_rustc_section (
68
+ object . add_rustc_section (
105
69
rustc_middle:: middle:: exported_symbols:: metadata_symbol_name ( tcx) ,
106
70
compressed,
107
71
tcx. sess . target . is_like_osx ,
108
72
) ;
109
-
110
- metadata
111
73
}
0 commit comments