}
public Operand buildNext(final NextNode nextNode, IRExecutionScope s) {
Operand rv = (nextNode.getValueNode() == null) ? Nil.NIL : build(nextNode.getValueNode(), s);
// SSS FIXME: 1. Is the ordering correct? (poll before next)
s.addInstr(new ThreadPollInstr());
// If a closure, the next is simply a return from the closure!
// If a regular loop, the next is simply a jump to the end of the iteration
s.addInstr((s instanceof IRClosure) ? new ClosureReturnInstr(rv) : new JumpInstr(s.getCurrentLoop().iterEndLabel));
return rv;
}