Skip to main content

Crate rustc_query_impl

Crate rustc_query_impl 

Source
Expand description

Support for serializing the dep-graph and reloading it.

ModulesΒ§

_dep_kind_vtable_ctors_for_queries πŸ”’
Declares a dep-kind vtable constructor for each query.
dep_kind_vtables πŸ”’
error πŸ”’
execution πŸ”’
job πŸ”’
plumbing πŸ”’
The implementation of the query system itself. This defines the macros that generate the actual methods on tcx which find and execute the provider, manage the caches, and so forth.
profiling_support πŸ”’
query_impl πŸ”’
values πŸ”’

StructsΒ§

QueryFlags πŸ”’
QueryJobMap
Map from query job IDs to job information collected by collect_active_jobs_from_all_queries.
SemiDynamicQueryDispatcher πŸ”’
Combines a QueryVTable with some additional compile-time booleans. β€œDispatcher” should be understood as a near-synonym of β€œvtable”.

ConstantsΒ§

ALLOC_SELF_PROFILE_QUERY_STRINGS πŸ”’
ENCODE_QUERY_RESULTS πŸ”’
PER_QUERY_GATHER_ACTIVE_JOBS_FNS πŸ”’
Used by collect_active_jobs_from_all_queries to iterate over all queries, and gather the active jobs for each query.
QUERY_KEY_HASH_VERIFY πŸ”’

TraitsΒ§

QueryDispatcherUnerased πŸ”’
Provides access to vtable-like operations for a query (by creating a SemiDynamicQueryDispatcher), but also keeps track of the β€œunerased” value type of the query (i.e. the actual result type in the query declaration).

FunctionsΒ§

alloc_self_profile_query_strings
All self-profiling events generated by the query engine use virtual StringIds for their event_id. This method makes all those virtual StringIds point to actual strings.
break_query_cycles
Detects query cycles by using depth first search over all active query jobs. If a query cycle is found it will break the cycle by finding an edge which uses a query latch and then resuming that waiter. There may be multiple cycles involved in a deadlock, so this searches all active queries for cycles before finally resuming all the waiters at once.
collect_active_jobs_from_all_queries
Returns a map of currently active query jobs, collected from all queries.
engine πŸ”’
make_dep_kind_vtables
make_query_vtables
print_query_stack
provide
query_key_hash_verify_all
query_system