The instructions strictbranchif
and straictbranchifnot
are identical to branchif
and branchifnot
as far as the virtual machine is concerned. The difference is that they disable certain optimizations of the bytecode peephole optimizer necessary to correctly compile short-circuit operators &&
and ||
.
This is explained in page 73 and 74 of the ZINC paper.
Cheers,
Nicolas