pub fn overwritten_reg(op: &Op) -> Option<Reg>Expand description
The single register an op OVERWRITES with a fresh value — its data destination — for the ops
whose only state effect is that write and whose operands survive. Reverse execution restores this
register’s prior value from the tape. None for ops that write a global / heap object / output
line instead (handled separately) or write nothing.
This is CORRECTNESS-GRADE and deliberately distinct from crate::vm::disasm::op_io (a debug
display helper whose lossy _ => default wildcard would silently report “no write” for an
unenumerated op — a reverse-execution landmine). Every op here is one the reverse executor is
proven to restore.