Don't get the global lock in the fast case

This commit is contained in:
John Kåre Alsaker 2018-03-14 23:23:46 +01:00
parent 1dbc84d006
commit 1551ef1812

View file

@ -161,12 +161,12 @@ impl<'gcx: 'tcx, 'tcx> CtxtInterners<'tcx> {
-> Ty<'tcx> {
let ty = {
let mut interner = self.type_.borrow_mut();
let global_interner = global_interners.map(|interners| {
interners.type_.borrow_mut()
});
if let Some(&Interned(ty)) = interner.get(&st) {
return ty;
}
let global_interner = global_interners.map(|interners| {
interners.type_.borrow_mut()
});
if let Some(ref interner) = global_interner {
if let Some(&Interned(ty)) = interner.get(&st) {
return ty;