fun delay_pipe() { pipe.resources?pop_front(); val ii = 0; val new_first = 0; while(ii < pipe.instructions?length) { var inst = pipe.instructions[+ii]; if(inst.ready > 0?cvt(uchar)) inst.ready = inst.ready - 1?cvt(uchar); if(inst.ready > 0?cvt(uchar) && new_first <= 0) new_first = ii; ii = ii + 1; } pipe.instructions?pop_front(new_first?cvt(uchar)); cycles = cycles + 1?cvt(ullong); }