Skip to content

Commit c6e4fcd

Browse files
committed
coverage: Have MakeBcbCounters own its CoverageCounters
1 parent 3f90bb1 commit c6e4fcd

1 file changed

Lines changed: 14 additions & 13 deletions

File tree

‎compiler/rustc_mir_transform/src/coverage/counters.rs‎

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -80,19 +80,20 @@ impl CoverageCounters {
8080
basic_coverage_blocks:&CoverageGraph,
8181
bcb_needs_counter:implFn(BasicCoverageBlock) -> bool,
8282
) -> Self{
83-
let num_bcbs = basic_coverage_blocks.num_nodes();
83+
letmut counters = MakeBcbCounters::new(basic_coverage_blocks);
84+
counters.make_bcb_counters(bcb_needs_counter);
8485

85-
letmut this = Self{
86+
counters.coverage_counters
87+
}
88+
89+
fnwith_num_bcbs(num_bcbs:usize) -> Self{
90+
Self{
8691
counter_increment_sites:IndexVec::new(),
8792
bcb_counters:IndexVec::from_elem_n(None, num_bcbs),
8893
bcb_edge_counters:FxHashMap::default(),
8994
expressions:IndexVec::new(),
9095
expressions_memo:FxHashMap::default(),
91-
};
92-
93-
MakeBcbCounters::new(&mut this, basic_coverage_blocks).make_bcb_counters(bcb_needs_counter);
94-
95-
this
96+
}
9697
}
9798

9899
/// Shared helper used by [`Self::make_phys_node_counter`] and
@@ -265,16 +266,16 @@ impl CoverageCounters {
265266

266267
/// Helper struct that allows counter creation to inspect the BCB graph.
267268
structMakeBcbCounters<'a>{
268-
coverage_counters:&'amutCoverageCounters,
269+
coverage_counters:CoverageCounters,
269270
basic_coverage_blocks:&'aCoverageGraph,
270271
}
271272

272273
impl<'a>MakeBcbCounters<'a>{
273-
fnnew(
274-
coverage_counters:&'amutCoverageCounters,
275-
basic_coverage_blocks:&'aCoverageGraph,
276-
) -> Self{
277-
Self{ coverage_counters, basic_coverage_blocks }
274+
fnnew(basic_coverage_blocks:&'aCoverageGraph) -> Self{
275+
Self{
276+
coverage_counters:CoverageCounters::with_num_bcbs(basic_coverage_blocks.num_nodes()),
277+
basic_coverage_blocks,
278+
}
278279
}
279280

280281
fnmake_bcb_counters(&mutself,bcb_needs_counter:implFn(BasicCoverageBlock) -> bool){

0 commit comments

Comments
 (0)