Auto merge of #97905 - nnethercote:revert-infallible-encoder, r=bjorn3
Revert part of #94372 to improve performance #94732 was supposed to give small but widespread performance improvements, as judged from three per-merge performance runs. But the performance run that occurred after merging included a roughly equal number of improvements and regressions, for unclear reasons. This PR is for a test run reverting those changes, to see what happens. r? `@ghost`
This commit is contained in:
commit
c84594661c
25 changed files with 250 additions and 173 deletions
|
@ -3,7 +3,7 @@ use rustc_data_structures::graph::{
|
|||
};
|
||||
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
|
||||
use rustc_data_structures::sync::OnceCell;
|
||||
use rustc_serialize::{Decodable, Decoder, Encodable, Encoder};
|
||||
use rustc_serialize as serialize;
|
||||
|
||||
/// Helper type to cache the result of `graph::is_cyclic`.
|
||||
#[derive(Clone, Debug)]
|
||||
|
@ -36,17 +36,17 @@ impl GraphIsCyclicCache {
|
|||
}
|
||||
}
|
||||
|
||||
impl<S: Encoder> Encodable<S> for GraphIsCyclicCache {
|
||||
impl<S: serialize::Encoder> serialize::Encodable<S> for GraphIsCyclicCache {
|
||||
#[inline]
|
||||
fn encode(&self, s: &mut S) {
|
||||
Encodable::encode(&(), s);
|
||||
serialize::Encodable::encode(&(), s);
|
||||
}
|
||||
}
|
||||
|
||||
impl<D: Decoder> Decodable<D> for GraphIsCyclicCache {
|
||||
impl<D: serialize::Decoder> serialize::Decodable<D> for GraphIsCyclicCache {
|
||||
#[inline]
|
||||
fn decode(d: &mut D) -> Self {
|
||||
let () = Decodable::decode(d);
|
||||
let () = serialize::Decodable::decode(d);
|
||||
Self::new()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
|
||||
use rustc_data_structures::sync::OnceCell;
|
||||
use rustc_index::vec::IndexVec;
|
||||
use rustc_serialize::{Decodable, Decoder, Encodable, Encoder};
|
||||
use rustc_serialize as serialize;
|
||||
use smallvec::SmallVec;
|
||||
|
||||
use crate::mir::{BasicBlock, BasicBlockData};
|
||||
|
@ -54,12 +54,12 @@ impl PredecessorCache {
|
|||
}
|
||||
}
|
||||
|
||||
impl<S: Encoder> Encodable<S> for PredecessorCache {
|
||||
impl<S: serialize::Encoder> serialize::Encodable<S> for PredecessorCache {
|
||||
#[inline]
|
||||
fn encode(&self, _s: &mut S) {}
|
||||
}
|
||||
|
||||
impl<D: Decoder> Decodable<D> for PredecessorCache {
|
||||
impl<D: serialize::Decoder> serialize::Decodable<D> for PredecessorCache {
|
||||
#[inline]
|
||||
fn decode(_: &mut D) -> Self {
|
||||
Self::new()
|
||||
|
|
|
@ -5,7 +5,7 @@ use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
|
|||
use rustc_data_structures::stable_map::FxHashMap;
|
||||
use rustc_data_structures::sync::OnceCell;
|
||||
use rustc_index::vec::IndexVec;
|
||||
use rustc_serialize::{Decodable, Decoder, Encodable, Encoder};
|
||||
use rustc_serialize as serialize;
|
||||
use smallvec::SmallVec;
|
||||
|
||||
use crate::mir::{BasicBlock, BasicBlockData, Terminator, TerminatorKind};
|
||||
|
@ -54,12 +54,12 @@ impl SwitchSourceCache {
|
|||
}
|
||||
}
|
||||
|
||||
impl<S: Encoder> Encodable<S> for SwitchSourceCache {
|
||||
impl<S: serialize::Encoder> serialize::Encodable<S> for SwitchSourceCache {
|
||||
#[inline]
|
||||
fn encode(&self, _s: &mut S) {}
|
||||
}
|
||||
|
||||
impl<D: Decoder> Decodable<D> for SwitchSourceCache {
|
||||
impl<D: serialize::Decoder> serialize::Decodable<D> for SwitchSourceCache {
|
||||
#[inline]
|
||||
fn decode(_: &mut D) -> Self {
|
||||
Self::new()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
|
||||
use rustc_data_structures::sync::OnceCell;
|
||||
use rustc_index::bit_set::BitSet;
|
||||
use rustc_serialize::{Decodable, Decoder, Encodable, Encoder};
|
||||
use rustc_serialize as serialize;
|
||||
|
||||
use super::*;
|
||||
|
||||
|
@ -365,12 +365,12 @@ impl PostorderCache {
|
|||
}
|
||||
}
|
||||
|
||||
impl<S: Encoder> Encodable<S> for PostorderCache {
|
||||
impl<S: serialize::Encoder> serialize::Encodable<S> for PostorderCache {
|
||||
#[inline]
|
||||
fn encode(&self, _s: &mut S) {}
|
||||
}
|
||||
|
||||
impl<D: Decoder> Decodable<D> for PostorderCache {
|
||||
impl<D: serialize::Decoder> serialize::Decodable<D> for PostorderCache {
|
||||
#[inline]
|
||||
fn decode(_: &mut D) -> Self {
|
||||
Self::new()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue