Crate rustc_incremental
source · [−]Expand description
Support for serializing the dep-graph and reloading it.
Modules
This pass is only used for the UNIT TESTS and DEBUGGING NEEDS
around dependency graph construction. It serves two purposes; it
will dump graphs in graphviz form to disk, and it searches for
#[rustc_if_this_changed]
and #[rustc_then_this_would_need]
annotations. These annotations can be used to test whether paths
exist in the graph. These checks run after codegen, so they view the
the final state of the dependency graph. Note that there are
similar assertions found in persist::dirty_clean
which check the
initial state of the dependency graph, just after it has been
loaded from disk.This pass is only used for UNIT TESTS related to incremental
compilation. It tests whether a particular
.o
file will be re-used
from a previous compilation or whether it must be regenerated.persist 🔒
When in incremental mode, this pass dumps out the dependency graph
into the given directory. At the same time, it also hashes the
various HIR nodes.
Enums
Represents the result of an attempt to load incremental compilation data.
Functions
Builds the dependency graph.
Copies a CGU work product to the incremental compilation directory, so next compilation can find and reuse it.
Removes files for a given work product.
This function finalizes and thus ‘publishes’ the session directory by
renaming it to
s-{timestamp}-{svh}
and releasing the file lock.
If there have been compilation errors, however, this function will just
delete the presumably invalid session directory.Runs garbage collection for the current session.
Returns the path for a given filename within the incremental compilation directory,
not necessarily from the current session.
Returns the path for a given filename within the incremental compilation directory
in the current session.
Launch a thread and load the dependency graph in the background.
Attempts to load the query result cache from disk
Allocates the private session directory.
Saves and writes the
DepGraph
to the file system.Saves the work product index.
Type Definitions
An asynchronous type for computing the dependency graph.