diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2021-05-30 10:48:48 +0200 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2021-08-22 20:23:29 +0200 |
| commit | 45d6decc19b419448961fdb5ba3e062c9267a393 (patch) | |
| tree | a6ccde47f22e94118fd4017f1c8ed8c6bbbd4487 | |
| parent | c3bf3969d408f46881908336f9e3a8721601abc4 (diff) | |
| download | rust-45d6decc19b419448961fdb5ba3e062c9267a393.tar.gz rust-45d6decc19b419448961fdb5ba3e062c9267a393.zip | |
Remove try_mark_green_and_read.
| -rw-r--r-- | compiler/rustc_query_system/src/dep_graph/graph.rs | 15 | ||||
| -rw-r--r-- | compiler/rustc_query_system/src/query/plumbing.rs | 9 |
2 files changed, 8 insertions, 16 deletions
diff --git a/compiler/rustc_query_system/src/dep_graph/graph.rs b/compiler/rustc_query_system/src/dep_graph/graph.rs index 21f9d51e7af..16fca7a3cd9 100644 --- a/compiler/rustc_query_system/src/dep_graph/graph.rs +++ b/compiler/rustc_query_system/src/dep_graph/graph.rs @@ -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, diff --git a/compiler/rustc_query_system/src/query/plumbing.rs b/compiler/rustc_query_system/src/query/plumbing.rs index 86097042da0..9f89f6f5309 100644 --- a/compiler/rustc_query_system/src/query/plumbing.rs +++ b/compiler/rustc_query_system/src/query/plumbing.rs @@ -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 } |
