From 3bcea5f97988af0e113128666cfabf335053d1d5 Mon Sep 17 00:00:00 2001 From: Nicholas Nethercote Date: Fri, 3 Mar 2023 09:23:07 +1100 Subject: Improve comments in `needs_process_obligation`. And a couple of other places. --- compiler/rustc_data_structures/src/obligation_forest/mod.rs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'compiler/rustc_data_structures/src') diff --git a/compiler/rustc_data_structures/src/obligation_forest/mod.rs b/compiler/rustc_data_structures/src/obligation_forest/mod.rs index 16f401f2057..91abdaadabd 100644 --- a/compiler/rustc_data_structures/src/obligation_forest/mod.rs +++ b/compiler/rustc_data_structures/src/obligation_forest/mod.rs @@ -426,6 +426,7 @@ impl ObligationForest { // nodes. Therefore we use a `while` loop. let mut index = 0; while let Some(node) = self.nodes.get_mut(index) { + // This test is extremely hot. if node.state.get() != NodeState::Pending || !processor.needs_process_obligation(&node.obligation) { @@ -439,6 +440,7 @@ impl ObligationForest { // out of sync with `nodes`. It's not very common, but it does // happen, and code in `compress` has to allow for it. + // This code is much less hot. match processor.process_obligation(&mut node.obligation) { ProcessResult::Unchanged => { // No change in state. -- cgit 1.4.1-3-g733a5