(&mut self, vm: &mut Vm)
| 169 | } |
| 170 | |
| 171 | fn new_bits(&mut self, vm: &mut Vm) -> Vec<u32> { |
| 172 | // Calculate coverage buckets. |
| 173 | let coverage: &mut [u64] = bytemuck::cast_slice_mut(vm.cpu.trace[self.storage].data_mut()); |
| 174 | classify_counts(coverage, self.strategy); |
| 175 | |
| 176 | // Bail early if there are no new bits. |
| 177 | if !has_new_bits(&self.hit[..], coverage) { |
| 178 | return vec![]; |
| 179 | } |
| 180 | // Find which bits are new. |
| 181 | get_new_bits(&self.hit[..], coverage) |
| 182 | } |
| 183 | |
| 184 | fn merge(&mut self, vm: &mut Vm) -> bool { |
| 185 | let coverage: &[u64] = bytemuck::cast_slice(vm.cpu.trace[self.storage].data_mut()); |
no test coverage detected