@@ -452,29 +452,30 @@ where
452
452
}
453
453
} ;
454
454
455
- // Fast path for when incr. comp. is off. `to_dep_node` is
456
- // expensive for some `DepKind`s.
457
- if !tcx. dep_context ( ) . dep_graph ( ) . is_fully_enabled ( ) {
458
- let null_dep_node = DepNode :: new_no_params ( DepKind :: NULL ) ;
459
- return force_query_with_job ( tcx, key, job, null_dep_node, query) . 0 ;
455
+ let dep_graph = tcx. dep_context ( ) . dep_graph ( ) ;
456
+
457
+ // Fast path for when incr. comp. is off.
458
+ if !dep_graph. is_fully_enabled ( ) {
459
+ let prof_timer = tcx. dep_context ( ) . profiler ( ) . query_provider ( ) ;
460
+ let result = tcx. start_query ( job. id , None , || query. compute ( tcx, key) ) ;
461
+ let dep_node_index = dep_graph. next_virtual_depnode_index ( ) ;
462
+ prof_timer. finish_with_query_invocation_id ( dep_node_index. into ( ) ) ;
463
+ return job. complete ( result, dep_node_index) ;
460
464
}
461
465
462
466
if query. anon {
463
467
let prof_timer = tcx. dep_context ( ) . profiler ( ) . query_provider ( ) ;
464
468
465
469
let ( ( result, dep_node_index) , diagnostics) = with_diagnostics ( |diagnostics| {
466
470
tcx. start_query ( job. id , diagnostics, || {
467
- tcx. dep_context ( ) . dep_graph ( ) . with_anon_task (
468
- * tcx. dep_context ( ) ,
469
- query. dep_kind ,
470
- || query. compute ( tcx, key) ,
471
- )
471
+ dep_graph
472
+ . with_anon_task ( * tcx. dep_context ( ) , query. dep_kind , || query. compute ( tcx, key) )
472
473
} )
473
474
} ) ;
474
475
475
476
prof_timer. finish_with_query_invocation_id ( dep_node_index. into ( ) ) ;
476
477
477
- tcx . dep_context ( ) . dep_graph ( ) . read_index ( dep_node_index) ;
478
+ dep_graph. read_index ( dep_node_index) ;
478
479
479
480
if unlikely ! ( !diagnostics. is_empty( ) ) {
480
481
tcx. store_diagnostics_for_anon_node ( dep_node_index, diagnostics) ;
@@ -490,7 +491,7 @@ where
490
491
// promoted to the current session during
491
492
// `try_mark_green()`, so we can ignore them here.
492
493
let loaded = tcx. start_query ( job. id , None , || {
493
- let marked = tcx . dep_context ( ) . dep_graph ( ) . try_mark_green_and_read ( tcx, & dep_node) ;
494
+ let marked = dep_graph. try_mark_green_and_read ( tcx, & dep_node) ;
494
495
marked. map ( |( prev_dep_node_index, dep_node_index) | {
495
496
(
496
497
load_from_disk_and_cache_in_memory (
@@ -511,7 +512,7 @@ where
511
512
}
512
513
513
514
let ( result, dep_node_index) = force_query_with_job ( tcx, key, job, dep_node, query) ;
514
- tcx . dep_context ( ) . dep_graph ( ) . read_index ( dep_node_index) ;
515
+ dep_graph. read_index ( dep_node_index) ;
515
516
result
516
517
}
517
518
0 commit comments