Make debuginfo::UniqueTypeId use 128 bit hash.
This commit is contained in:
parent
74ebad4b63
commit
10e289e191
2 changed files with 3 additions and 35 deletions
|
|
@ -61,37 +61,6 @@ impl<W: StableHasherResult> StableHasher<W> {
|
|||
}
|
||||
}
|
||||
|
||||
impl StableHasherResult for [u8; 20] {
|
||||
fn finish(hasher: StableHasher<Self>) -> Self {
|
||||
let (_0, _1) = hasher.finalize();
|
||||
|
||||
[
|
||||
(_0 >> 0) as u8,
|
||||
(_0 >> 8) as u8,
|
||||
(_0 >> 16) as u8,
|
||||
(_0 >> 24) as u8,
|
||||
(_0 >> 32) as u8,
|
||||
(_0 >> 40) as u8,
|
||||
(_0 >> 48) as u8,
|
||||
(_0 >> 56) as u8,
|
||||
|
||||
17,
|
||||
33,
|
||||
47,
|
||||
3,
|
||||
|
||||
(_1 >> 0) as u8,
|
||||
(_1 >> 8) as u8,
|
||||
(_1 >> 16) as u8,
|
||||
(_1 >> 24) as u8,
|
||||
(_1 >> 32) as u8,
|
||||
(_1 >> 40) as u8,
|
||||
(_1 >> 48) as u8,
|
||||
(_1 >> 56) as u8,
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
impl StableHasherResult for u128 {
|
||||
fn finish(hasher: StableHasher<Self>) -> Self {
|
||||
let (_0, _1) = hasher.finalize();
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ use rustc::ty::fold::TypeVisitor;
|
|||
use rustc::ty::subst::Substs;
|
||||
use rustc::ty::util::TypeIdHasher;
|
||||
use rustc::hir;
|
||||
use rustc_data_structures::ToHex;
|
||||
use rustc::ich::Fingerprint;
|
||||
use {type_of, machine, monomorphize};
|
||||
use common::{self, CrateContext};
|
||||
use type_::Type;
|
||||
|
|
@ -146,11 +146,10 @@ impl<'tcx> TypeMap<'tcx> {
|
|||
|
||||
// The hasher we are using to generate the UniqueTypeId. We want
|
||||
// something that provides more than the 64 bits of the DefaultHasher.
|
||||
|
||||
let mut type_id_hasher = TypeIdHasher::<[u8; 20]>::new(cx.tcx());
|
||||
let mut type_id_hasher = TypeIdHasher::<Fingerprint>::new(cx.tcx());
|
||||
type_id_hasher.visit_ty(type_);
|
||||
|
||||
let unique_type_id = type_id_hasher.finish().to_hex();
|
||||
|
||||
let key = self.unique_id_interner.intern(&unique_type_id);
|
||||
self.type_to_unique_id.insert(type_, UniqueTypeId(key));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue