fun schedule(var inst : InstInfo) { while(true) { val ii = 0; while(ii < inst?length) { if(ready(inst[+ii].reserve)) { update_pipe(inst[+ii]); return; } ii = ii + 1; } delay_pipe(); } }