mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 16:24:46 +00:00
Remove try_mark_green_and_read.
This commit is contained in:
parent
c3bf3969d4
commit
45d6decc19
@ -499,22 +499,11 @@ impl<K: DepKind> DepGraph<K> {
|
||||
None
|
||||
}
|
||||
|
||||
/// Try to read a node index for the node dep_node.
|
||||
/// Try to mark a node index for the node dep_node.
|
||||
///
|
||||
/// A node will have an index, when it's already been marked green, or when we can mark it
|
||||
/// green. This function will mark the current task as a reader of the specified node, when
|
||||
/// a node index can be found for that node.
|
||||
pub fn try_mark_green_and_read<Ctxt: QueryContext<DepKind = K>>(
|
||||
&self,
|
||||
tcx: Ctxt,
|
||||
dep_node: &DepNode<K>,
|
||||
) -> Option<(SerializedDepNodeIndex, DepNodeIndex)> {
|
||||
self.try_mark_green(tcx, dep_node).map(|(prev_index, dep_node_index)| {
|
||||
debug_assert!(self.is_green(&dep_node));
|
||||
self.read_index(dep_node_index);
|
||||
(prev_index, dep_node_index)
|
||||
})
|
||||
}
|
||||
|
||||
pub fn try_mark_green<Ctxt: QueryContext<DepKind = K>>(
|
||||
&self,
|
||||
tcx: Ctxt,
|
||||
|
@ -523,7 +523,8 @@ where
|
||||
// We must ensure that this is handled correctly.
|
||||
|
||||
let (prev_dep_node_index, dep_node_index) =
|
||||
tcx.dep_context().dep_graph().try_mark_green_and_read(tcx, &dep_node)?;
|
||||
tcx.dep_context().dep_graph().try_mark_green(tcx, &dep_node)?;
|
||||
tcx.dep_context().dep_graph().read_index(dep_node_index);
|
||||
|
||||
debug_assert!(tcx.dep_context().dep_graph().is_green(dep_node));
|
||||
|
||||
@ -725,9 +726,10 @@ where
|
||||
|
||||
let dep_node = query.to_dep_node(*tcx.dep_context(), key);
|
||||
|
||||
match tcx.dep_context().dep_graph().try_mark_green_and_read(tcx, &dep_node) {
|
||||
let dep_graph = tcx.dep_context().dep_graph();
|
||||
match dep_graph.try_mark_green(tcx, &dep_node) {
|
||||
None => {
|
||||
// A None return from `try_mark_green_and_read` means that this is either
|
||||
// A None return from `try_mark_green` means that this is either
|
||||
// a new dep node or that the dep node has already been marked red.
|
||||
// Either way, we can't call `dep_graph.read()` as we don't have the
|
||||
// DepNodeIndex. We must invoke the query itself. The performance cost
|
||||
@ -736,6 +738,7 @@ where
|
||||
true
|
||||
}
|
||||
Some((_, dep_node_index)) => {
|
||||
dep_graph.read_index(dep_node_index);
|
||||
tcx.dep_context().profiler().query_cache_hit(dep_node_index.into());
|
||||
false
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user