From 8c918d7e2d973ac3d148097224e0951daba16835 Mon Sep 17 00:00:00 2001 From: Eduard-Mihai Burtescu <eddyb@lyken.rs> Date: Thu, 9 Sep 2021 09:43:47 +0300 Subject: [PATCH] [HACK(eddyb)] arena-allocate but don't intern `FnAbi`s. --- compiler/rustc_middle/src/ty/context.rs | 5 ----- compiler/rustc_middle/src/ty/layout.rs | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/compiler/rustc_middle/src/ty/context.rs b/compiler/rustc_middle/src/ty/context.rs index e803a667879..7cd5584c358 100644 --- a/compiler/rustc_middle/src/ty/context.rs +++ b/compiler/rustc_middle/src/ty/context.rs @@ -55,7 +55,6 @@ use rustc_span::def_id::{DefPathHash, StableCrateId}; use rustc_span::source_map::{MultiSpan, SourceMap}; use rustc_span::symbol::{kw, sym, Ident, Symbol}; use rustc_span::{Span, DUMMY_SP}; -use rustc_target::abi::call::FnAbi; use rustc_target::abi::{Layout, TargetDataLayout, VariantIdx}; use rustc_target::spec::abi; @@ -136,7 +135,6 @@ pub struct CtxtInterners<'tcx> { const_allocation: InternedSet<'tcx, Allocation>, bound_variable_kinds: InternedSet<'tcx, List<ty::BoundVariableKind>>, layout: InternedSet<'tcx, Layout>, - fn_abi: InternedSet<'tcx, FnAbi<'tcx, Ty<'tcx>>>, } impl<'tcx> CtxtInterners<'tcx> { @@ -157,7 +155,6 @@ impl<'tcx> CtxtInterners<'tcx> { const_allocation: Default::default(), bound_variable_kinds: Default::default(), layout: Default::default(), - fn_abi: Default::default(), } } @@ -1962,7 +1959,6 @@ impl<'tcx> TyCtxt<'tcx> { self.0.interners.const_allocation.len() )?; writeln!(fmt, "Layout interner: #{}", self.0.interners.layout.len())?; - writeln!(fmt, "FnAbi interner: #{}", self.0.interners.fn_abi.len())?; Ok(()) } @@ -2087,7 +2083,6 @@ direct_interners! { const_: mk_const(Const<'tcx>), const_allocation: intern_const_alloc(Allocation), layout: intern_layout(Layout), - fn_abi: intern_fn_abi(FnAbi<'tcx, Ty<'tcx>>), } macro_rules! slice_interners { diff --git a/compiler/rustc_middle/src/ty/layout.rs b/compiler/rustc_middle/src/ty/layout.rs index f72f045e907..cfbbec374a1 100644 --- a/compiler/rustc_middle/src/ty/layout.rs +++ b/compiler/rustc_middle/src/ty/layout.rs @@ -3118,7 +3118,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> { }; self.fn_abi_adjust_for_abi(&mut fn_abi, sig.abi)?; debug!("fn_abi_new_uncached = {:?}", fn_abi); - Ok(self.tcx.intern_fn_abi(fn_abi)) + Ok(self.tcx.arena.alloc(fn_abi)) } fn fn_abi_adjust_for_abi(