Improve void varop optimisation
After eliding the varop, the optimisation added in
5afbd733 repro-
cesses the previous op if it is a nextstate op. But it was doing this
by setting the current op to the one before the nextstate, so that the
o=o->op_next in the loop header would cause it to reprocess the next-
state in the next iteration. So, if that nextstate op were at the
beginning of a subroutine, the optimisation would be skipped, and this
would still execute two nextstate ops in a row:
sub foo {
our($a, $b);
die;
}
So, instead, just use ‘goto’ to reprocess the op, and we can do it
even if there is no op before the nextstate.