diff options
| author | Zalathar <Zalathar@users.noreply.github.com> | 2023-06-26 22:28:48 +1000 |
|---|---|---|
| committer | Zalathar <Zalathar@users.noreply.github.com> | 2023-08-01 11:29:55 +1000 |
| commit | 1a014d42f45de1b829ca7916d8f639fda6e0770a (patch) | |
| tree | ccd46f428dc2fd95e16837179a05b4abb6deb72a /compiler/rustc_mir_transform/src/coverage/mod.rs | |
| parent | 5a808d40f41c9d021361c4a9c4f53e099af40dc5 (diff) | |
| download | rust-1a014d42f45de1b829ca7916d8f639fda6e0770a.tar.gz rust-1a014d42f45de1b829ca7916d8f639fda6e0770a.zip | |
Replace `ExpressionOperandId` with enum `Operand`
Because the three kinds of operand are now distinguished explicitly, we no longer need fiddly code to disambiguate counter IDs and expression IDs based on the total number of counters/expressions in a function. This does increase the size of operands from 4 bytes to 8 bytes, but that shouldn't be a big deal since they are mostly stored inside boxed structures, and the current coverage code is not particularly size-optimized anyway.
Diffstat (limited to 'compiler/rustc_mir_transform/src/coverage/mod.rs')
| -rw-r--r-- | compiler/rustc_mir_transform/src/coverage/mod.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_mir_transform/src/coverage/mod.rs b/compiler/rustc_mir_transform/src/coverage/mod.rs index 076e714d703..f713613d313 100644 --- a/compiler/rustc_mir_transform/src/coverage/mod.rs +++ b/compiler/rustc_mir_transform/src/coverage/mod.rs @@ -304,7 +304,7 @@ impl<'a, 'tcx> Instrumentor<'a, 'tcx> { let counter_kind = if let Some(&counter_operand) = bcb_counters[bcb].as_ref() { self.coverage_counters.make_identity_counter(counter_operand) } else if let Some(counter_kind) = self.bcb_data_mut(bcb).take_counter() { - bcb_counters[bcb] = Some(counter_kind.as_operand_id()); + bcb_counters[bcb] = Some(counter_kind.as_operand()); debug_used_expressions.add_expression_operands(&counter_kind); counter_kind } else { |
