(&mut self)
| 312 | } |
| 313 | |
| 314 | fn visit_end(&mut self) -> Self::Output { |
| 315 | if let Some(ctx) = self.ctx_stack.pop() { |
| 316 | self.patch_end_jumps(ctx, self.instructions.len()); |
| 317 | if !matches!(self.instructions.last(), Some(Instruction::Nop | Instruction::MergeBarrier)) { |
| 318 | self.instructions.push(Instruction::MergeBarrier); // prevent superinstructions from merging across block boundaries |
| 319 | } |
| 320 | } else { |
| 321 | self.instructions.push(Instruction::Return); |
| 322 | } |
| 323 | } |
| 324 | |
| 325 | fn visit_br(&mut self, depth: u32) -> Self::Output { |
| 326 | self.emit_dropkeep_to_label(depth); |
nothing calls this directly
no test coverage detected