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Β§
- Query
Flags π - Query
JobMap - Map from query job IDs to job information collected by
collect_active_jobs_from_all_queries. - Semi
Dynamic πQuery Dispatcher - Combines a
QueryVTablewith 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_queriesto iterate over all queries, and gather the active jobs for each query. - QUERY_
KEY_ πHASH_ VERIFY
TraitsΒ§
- Query
Dispatcher πUnerased - 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 theirevent_id. This method makes all those virtualStringIds 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