Skip to main content

Module execution

Module execution 

Source

Re-exportsยง

use std::hash::Hash; ๐Ÿ”’
use std::hash::Hash; ๐Ÿ”’
use std::mem::ManuallyDrop; ๐Ÿ”’
use std::num::NonZero; ๐Ÿ”’
use std::sync::Arc; ๐Ÿ”’
use parking_lot::Condvar; ๐Ÿ”’
use parking_lot::Mutex; ๐Ÿ”’
use rustc_data_structures::hash_table::Entry; ๐Ÿ”’
use rustc_data_structures::defer; ๐Ÿ”’
use rustc_data_structures::outline; ๐Ÿ”’
use rustc_data_structures::sharded; ๐Ÿ”’
use rustc_data_structures::sync; ๐Ÿ”’
use rustc_errors::FatalError; ๐Ÿ”’
use rustc_middle::dep_graph::DepGraphData; ๐Ÿ”’
use rustc_middle::dep_graph::DepNode; ๐Ÿ”’
use rustc_middle::dep_graph::DepNodeIndex; ๐Ÿ”’
use rustc_middle::dep_graph::DepNodeKey; ๐Ÿ”’
use rustc_middle::dep_graph::SerializedDepNodeIndex; ๐Ÿ”’
use rustc_middle::query::ActiveKeyStatus; ๐Ÿ”’
use rustc_middle::query::QueryCache; ๐Ÿ”’
use rustc_middle::query::QueryCycle; ๐Ÿ”’
use rustc_middle::query::QueryJob; ๐Ÿ”’
use rustc_middle::query::QueryJobId; ๐Ÿ”’
use rustc_middle::query::QueryLatch; ๐Ÿ”’
use rustc_middle::query::QueryMode; ๐Ÿ”’
use rustc_middle::query::QueryState; ๐Ÿ”’
use rustc_middle::query::QueryVTable; ๐Ÿ”’
use rustc_middle::query::QueryWaiter; ๐Ÿ”’
use rustc_middle::ty::TyCtxt; ๐Ÿ”’
use rustc_middle::ty::tls; ๐Ÿ”’
use rustc_middle::ty::tls::ImplicitCtxt; ๐Ÿ”’
use rustc_middle::verify_ich::incremental_verify_ich; ๐Ÿ”’
use rustc_span::def_id::LOCAL_CRATE; ๐Ÿ”’
use rustc_span::DUMMY_SP; ๐Ÿ”’
use rustc_span::Span; ๐Ÿ”’
use rustc_structures::Limit; ๐Ÿ”’
use crate::diagnostics::QueryOverflow; ๐Ÿ”’
use crate::diagnostics::QueryOverflowNote; ๐Ÿ”’
use crate::handle_cycle_error; ๐Ÿ”’
use crate::incremental::should_verify_loaded_value; ๐Ÿ”’
use crate::job::CollectActiveJobsKind; ๐Ÿ”’
use crate::job::collect_active_query_jobs; ๐Ÿ”’
use crate::job::find_cycle_in_stack; ๐Ÿ”’
use crate::job::find_dep_kind_root; ๐Ÿ”’

Structsยง

ActiveJobGuard ๐Ÿ”’
Guard object representing the responsibility to execute a query job and mark it as completed.

Functionsยง

check_feedable_consistency ๐Ÿ”’
current_query_job ๐Ÿ”’
depth_limit_error ๐Ÿ”’
ensure_can_skip_execution ๐Ÿ”’
Checks whether a tcx.ensure_ok() query call can return early without actually trying to execute.
equivalent_key ๐Ÿ”’
execute_job_incr ๐Ÿ”’
execute_job_non_incr ๐Ÿ”’
execute_query_incr_inner ๐Ÿ”’
Called by a macro-generated impl of QueryVTable::execute_query_fn, in incremental mode.
execute_query_non_incr_inner ๐Ÿ”’
Called by a macro-generated impl of QueryVTable::execute_query_fn, in non-incremental mode.
find_and_handle_cycle ๐Ÿ”’
force_query_dep_node ๐Ÿ”’
Inner implementation of DepKindVTable::force_from_dep_node_fn for query nodes.
handle_cycle ๐Ÿ”’
latch_wait_on ๐Ÿ”’
Awaits for the query job to complete.
load_from_disk_or_invoke_provider_green ๐Ÿ”’
Given that the dep node for this query+key is green, obtain a value for it by loading one from disk if possible, or by invoking its query provider if necessary.
next_job_id ๐Ÿ”’
signal_complete ๐Ÿ”’
Signals to waiters that the query is complete.
start_query ๐Ÿ”’
Executes a job by changing the ImplicitCtxt to point to the new query job while it executes.
try_execute_query ๐Ÿ”’
Shared main part of both execute_query_incr_inner and execute_query_non_incr_inner.
wait_for_query ๐Ÿ”’