提交 10e289e1 编写于 作者: M Michael Woerister

Make debuginfo::UniqueTypeId use 128 bit hash.

上级 74ebad4b
...@@ -61,37 +61,6 @@ pub fn finish(self) -> W { ...@@ -61,37 +61,6 @@ pub fn finish(self) -> 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 { impl StableHasherResult for u128 {
fn finish(hasher: StableHasher<Self>) -> Self { fn finish(hasher: StableHasher<Self>) -> Self {
let (_0, _1) = hasher.finalize(); let (_0, _1) = hasher.finalize();
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
use rustc::ty::subst::Substs; use rustc::ty::subst::Substs;
use rustc::ty::util::TypeIdHasher; use rustc::ty::util::TypeIdHasher;
use rustc::hir; use rustc::hir;
use rustc_data_structures::ToHex; use rustc::ich::Fingerprint;
use {type_of, machine, monomorphize}; use {type_of, machine, monomorphize};
use common::{self, CrateContext}; use common::{self, CrateContext};
use type_::Type; use type_::Type;
...@@ -146,11 +146,10 @@ fn get_unique_type_id_of_type<'a>(&mut self, cx: &CrateContext<'a, 'tcx>, ...@@ -146,11 +146,10 @@ fn get_unique_type_id_of_type<'a>(&mut self, cx: &CrateContext<'a, 'tcx>,
// The hasher we are using to generate the UniqueTypeId. We want // The hasher we are using to generate the UniqueTypeId. We want
// something that provides more than the 64 bits of the DefaultHasher. // something that provides more than the 64 bits of the DefaultHasher.
let mut type_id_hasher = TypeIdHasher::<Fingerprint>::new(cx.tcx());
let mut type_id_hasher = TypeIdHasher::<[u8; 20]>::new(cx.tcx());
type_id_hasher.visit_ty(type_); type_id_hasher.visit_ty(type_);
let unique_type_id = type_id_hasher.finish().to_hex(); let unique_type_id = type_id_hasher.finish().to_hex();
let key = self.unique_id_interner.intern(&unique_type_id); let key = self.unique_id_interner.intern(&unique_type_id);
self.type_to_unique_id.insert(type_, UniqueTypeId(key)); self.type_to_unique_id.insert(type_, UniqueTypeId(key));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册