diff options
| author | Dylan MacKenzie <ecstaticmorse@gmail.com> | 2020-04-12 10:31:00 -0700 |
|---|---|---|
| committer | Dylan MacKenzie <ecstaticmorse@gmail.com> | 2020-04-22 09:57:43 -0700 |
| commit | 8287842eb4bdc59d407ffcae29b0b5e8a4abb1be (patch) | |
| tree | 1345af0a56c022a578d691f24ff29b1ceb02243d /src/librustc_metadata | |
| parent | 64db428967131be1f3966b82748fe8818eadb25b (diff) | |
| download | rust-8287842eb4bdc59d407ffcae29b0b5e8a4abb1be.tar.gz rust-8287842eb4bdc59d407ffcae29b0b5e8a4abb1be.zip | |
Use `Body` everywhere
Diffstat (limited to 'src/librustc_metadata')
| -rw-r--r-- | src/librustc_metadata/rmeta/decoder.rs | 26 | ||||
| -rw-r--r-- | src/librustc_metadata/rmeta/mod.rs | 4 |
2 files changed, 9 insertions, 21 deletions
diff --git a/src/librustc_metadata/rmeta/decoder.rs b/src/librustc_metadata/rmeta/decoder.rs index e1ac4d13416..1fb260f66fa 100644 --- a/src/librustc_metadata/rmeta/decoder.rs +++ b/src/librustc_metadata/rmeta/decoder.rs @@ -26,7 +26,7 @@ use rustc_middle::middle::cstore::{CrateSource, ExternCrate}; use rustc_middle::middle::cstore::{ForeignModule, LinkagePreference, NativeLibrary}; use rustc_middle::middle::exported_symbols::{ExportedSymbol, SymbolExportLevel}; use rustc_middle::mir::interpret::{AllocDecodingSession, AllocDecodingState}; -use rustc_middle::mir::{self, interpret, BodyAndCache, Promoted}; +use rustc_middle::mir::{self, interpret, Body, Promoted}; use rustc_middle::ty::codec::TyDecoder; use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_middle::util::common::record_time; @@ -1099,9 +1099,8 @@ impl<'a, 'tcx> CrateMetadataRef<'a> { !self.is_proc_macro(id) && self.root.tables.mir.get(self, id).is_some() } - fn get_optimized_mir(&self, tcx: TyCtxt<'tcx>, id: DefIndex) -> BodyAndCache<'tcx> { - let mut cache = self - .root + fn get_optimized_mir(&self, tcx: TyCtxt<'tcx>, id: DefIndex) -> Body<'tcx> { + self.root .tables .mir .get(self, id) @@ -1109,18 +1108,11 @@ impl<'a, 'tcx> CrateMetadataRef<'a> { .unwrap_or_else(|| { bug!("get_optimized_mir: missing MIR for `{:?}`", self.local_def_id(id)) }) - .decode((self, tcx)); - cache.ensure_predecessors(); - cache + .decode((self, tcx)) } - fn get_promoted_mir( - &self, - tcx: TyCtxt<'tcx>, - id: DefIndex, - ) -> IndexVec<Promoted, BodyAndCache<'tcx>> { - let mut cache = self - .root + fn get_promoted_mir(&self, tcx: TyCtxt<'tcx>, id: DefIndex) -> IndexVec<Promoted, Body<'tcx>> { + self.root .tables .promoted_mir .get(self, id) @@ -1128,11 +1120,7 @@ impl<'a, 'tcx> CrateMetadataRef<'a> { .unwrap_or_else(|| { bug!("get_promoted_mir: missing MIR for `{:?}`", self.local_def_id(id)) }) - .decode((self, tcx)); - for body in cache.iter_mut() { - body.ensure_predecessors(); - } - cache + .decode((self, tcx)) } fn mir_const_qualif(&self, id: DefIndex) -> mir::ConstQualifs { diff --git a/src/librustc_metadata/rmeta/mod.rs b/src/librustc_metadata/rmeta/mod.rs index 71872d53a56..e2d979ae488 100644 --- a/src/librustc_metadata/rmeta/mod.rs +++ b/src/librustc_metadata/rmeta/mod.rs @@ -275,8 +275,8 @@ define_tables! { // Also, as an optimization, a missing entry indicates an empty `&[]`. inferred_outlives: Table<DefIndex, Lazy!(&'tcx [(ty::Predicate<'tcx>, Span)])>, super_predicates: Table<DefIndex, Lazy!(ty::GenericPredicates<'tcx>)>, - mir: Table<DefIndex, Lazy!(mir::BodyAndCache<'tcx>)>, - promoted_mir: Table<DefIndex, Lazy!(IndexVec<mir::Promoted, mir::BodyAndCache<'tcx>>)>, + mir: Table<DefIndex, Lazy!(mir::Body<'tcx>)>, + promoted_mir: Table<DefIndex, Lazy!(IndexVec<mir::Promoted, mir::Body<'tcx>>)>, } #[derive(Copy, Clone, RustcEncodable, RustcDecodable)] |
