Skip to content

Commit 7e72b36

Browse files
committed
Move local Arena to Queries.
1 parent 7b71e9a commit 7e72b36

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

src/librustc/ty/context.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -995,7 +995,7 @@ impl<'tcx> Deref for TyCtxt<'tcx> {
995995
}
996996

997997
pub struct GlobalCtxt<'tcx> {
998-
pub arena: WorkerLocal<Arena<'tcx>>,
998+
pub arena: &'tcx WorkerLocal<Arena<'tcx>>,
999999

10001000
interners: CtxtInterners<'tcx>,
10011001

@@ -1170,6 +1170,7 @@ impl<'tcx> TyCtxt<'tcx> {
11701170
local_providers: ty::query::Providers<'tcx>,
11711171
extern_providers: ty::query::Providers<'tcx>,
11721172
arenas: &'tcx AllArenas,
1173+
local_arena: &'tcx WorkerLocal<Arena<'tcx>>,
11731174
resolutions: ty::ResolverOutputs,
11741175
hir: hir_map::Map<'tcx>,
11751176
on_disk_query_result_cache: query::OnDiskCache<'tcx>,
@@ -1225,7 +1226,7 @@ impl<'tcx> TyCtxt<'tcx> {
12251226
sess: s,
12261227
lint_store,
12271228
cstore,
1228-
arena: WorkerLocal::new(|_| Arena::default()),
1229+
arena: local_arena,
12291230
interners,
12301231
dep_graph,
12311232
prof: s.prof.clone(),

src/librustc_interface/passes.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use crate::util;
33
use crate::proc_macro_decls;
44

55
use log::{info, warn, log_enabled};
6+
use rustc::arena::Arena;
67
use rustc::dep_graph::DepGraph;
78
use rustc::hir;
89
use rustc::hir::lowering::lower_crate;
@@ -22,7 +23,7 @@ use rustc_codegen_ssa::back::link::emit_metadata;
2223
use rustc_codegen_utils::codegen_backend::CodegenBackend;
2324
use rustc_codegen_utils::link::filename_for_metadata;
2425
use rustc_data_structures::{box_region_allow_access, declare_box_region_type, parallel};
25-
use rustc_data_structures::sync::{Lrc, Once, ParallelIterator, par_iter};
26+
use rustc_data_structures::sync::{Lrc, Once, ParallelIterator, par_iter, WorkerLocal};
2627
use rustc_errors::PResult;
2728
use rustc_incremental;
2829
use rustc_metadata::cstore;
@@ -764,6 +765,7 @@ pub fn create_global_ctxt<'gcx>(
764765
crate_name: &str,
765766
global_ctxt: &'gcx Once<GlobalCtxt<'gcx>>,
766767
arenas: &'gcx Once<AllArenas>,
768+
local_arena: &'gcx WorkerLocal<Arena<'gcx>>,
767769
) -> BoxedGlobalCtxt<'gcx> {
768770
let sess = &compiler.session();
769771
let defs = mem::take(&mut resolver_outputs.definitions);
@@ -798,6 +800,7 @@ pub fn create_global_ctxt<'gcx>(
798800
local_providers,
799801
extern_providers,
800802
&arenas,
803+
local_arena,
801804
resolver_outputs,
802805
hir_map,
803806
query_result_on_disk_cache,

src/librustc_interface/queries.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@ use crate::interface::{Compiler, Result};
22
use crate::passes::{self, BoxedResolver, BoxedGlobalCtxt};
33

44
use rustc_incremental::DepGraphFuture;
5-
use rustc_data_structures::sync::{Lrc, Once};
5+
use rustc_data_structures::sync::{Lrc, Once, WorkerLocal};
66
use rustc_codegen_utils::codegen_backend::CodegenBackend;
77
use rustc::session::config::{OutputFilenames, OutputType};
88
use rustc::util::common::{time, ErrorReported};
9+
use rustc::arena::Arena;
910
use rustc::hir;
1011
use rustc::lint;
1112
use rustc::session::Session;
@@ -74,6 +75,8 @@ pub struct Queries<'comp> {
7475
arenas: Once<AllArenas>,
7576
forest: Once<hir::map::Forest>,
7677

78+
local_arena: WorkerLocal<Arena<'comp>>,
79+
7780
dep_graph_future: Query<Option<DepGraphFuture>>,
7881
parse: Query<ast::Crate>,
7982
crate_name: Query<String>,
@@ -93,6 +96,7 @@ impl<'comp> Queries<'comp> {
9396
gcx: Once::new(),
9497
arenas: Once::new(),
9598
forest: Once::new(),
99+
local_arena: WorkerLocal::new(|_| Arena::default()),
96100
dep_graph_future: Default::default(),
97101
parse: Default::default(),
98102
crate_name: Default::default(),
@@ -265,6 +269,7 @@ impl<'comp> Queries<'comp> {
265269
&crate_name,
266270
&self.gcx,
267271
&self.arenas,
272+
&self.local_arena,
268273
))
269274
})
270275
}

0 commit comments

Comments
 (0)