(&mut self, fuzzer: &Fuzzer)
| 91 | } |
| 92 | |
| 93 | pub fn update(&mut self, fuzzer: &Fuzzer) { |
| 94 | let blocks_seen = fuzzer.vm.code.blocks.len() as u64; |
| 95 | if blocks_seen != self.blocks_seen { |
| 96 | self.blocks_seen = blocks_seen; |
| 97 | self.last_coverage_increase = Instant::now(); |
| 98 | } |
| 99 | else { |
| 100 | // Note: we only update the max time if the number of blocks seen doesn't increase to |
| 101 | // avoid counting the JIT compilation time. |
| 102 | self.max_duration = fuzzer.state.exec_time.max(self.max_duration); |
| 103 | } |
| 104 | |
| 105 | self.max_instructions = fuzzer.state.instructions.max(self.max_instructions); |
| 106 | self.input_id = fuzzer.input_id.unwrap_or(0); |
| 107 | self.stage = fuzzer.stage; |
| 108 | |
| 109 | self.log(fuzzer); |
| 110 | } |
| 111 | |
| 112 | pub fn log(&mut self, fuzzer: &Fuzzer) { |
| 113 | let elapsed_time = self.last_report.elapsed(); |
no test coverage detected