@@ -12,6 +12,7 @@ use rustc::middle::{self, reachable, resolve_lifetime, stability};
1212use rustc:: middle:: privacy:: AccessLevels ;
1313use rustc:: ty:: { self , AllArenas , Resolutions , TyCtxt , GlobalCtxt } ;
1414use rustc:: ty:: steal:: Steal ;
15+ use rustc:: ty:: query:: OnDiskCache ;
1516use rustc:: traits;
1617use rustc:: util:: common:: { time, ErrorReported } ;
1718use rustc:: util:: profiling:: ProfileCategory ;
@@ -895,6 +896,15 @@ fn load_dep_graph<'tcx>(
895896 } )
896897}
897898
899+ fn load_query_result_cache < ' tcx > (
900+ tcx : TyCtxt < ' tcx > ,
901+ _: ( ) ,
902+ ) -> & ' tcx OnDiskCache < ' tcx > {
903+ time ( tcx. sess , "load query result cache" , || {
904+ tcx. arena . alloc ( rustc_incremental:: load_query_result_cache ( tcx. sess ) )
905+ } )
906+ }
907+
898908pub fn default_provide ( providers : & mut ty:: query:: Providers < ' _ > ) {
899909 providers. analysis = analysis;
900910 providers. hir_map = hir_map;
@@ -906,6 +916,7 @@ pub fn default_provide(providers: &mut ty::query::Providers<'_>) {
906916 providers. early_crate_name = early_crate_name;
907917 providers. dep_graph_future = dep_graph_future;
908918 providers. load_dep_graph = load_dep_graph;
919+ providers. load_query_result_cache = load_query_result_cache;
909920 proc_macro_decls:: provide ( providers) ;
910921 plugin:: build:: provide ( providers) ;
911922 hir:: provide ( providers) ;
@@ -966,10 +977,6 @@ pub fn create_global_ctxt(
966977 let global_ctxt: Option < GlobalCtxt < ' _ > > ;
967978 let arenas = AllArenas :: new ( ) ;
968979
969- let query_result_on_disk_cache = time ( sess, "load query result cache" , || {
970- rustc_incremental:: load_query_result_cache ( sess)
971- } ) ;
972-
973980 let mut local_providers = ty:: query:: Providers :: default ( ) ;
974981 default_provide ( & mut local_providers) ;
975982 codegen_backend. provide ( & mut local_providers) ;
@@ -985,7 +992,6 @@ pub fn create_global_ctxt(
985992 local_providers,
986993 extern_providers,
987994 & arenas,
988- query_result_on_disk_cache,
989995 crate_name,
990996 tx,
991997 io,
0 commit comments