Stephane Peiry <[EMAIL PROTECTED]> wrote: > While playing with JIT on Suns, I've found out that the following pasm code:
> set I1, 2 > LOOP: sub I1, 1 > if I1, LOOP > print "end\n" > end > never finishes.. that is: parrot -j loop.pasm hangs forever (never printing > 'end') while the non-jitted "parrot loop.pasm" prints 'end' and finishes > there as expected. I don't know suns JIT code nor the assembler syntax, but it seems that the two subcc lines are broken: emitm_subcc_r(NATIVECODE, MAP[1], emitm_g(0), emitm_g(0)); If I understand that correctly it should read: emitm_subcc_r(NATIVECODE, MAP[1], MAP[1], emitm_g(0)); (and similar a few lines below) - at least when compared to other code that uses subcc_r. > Thanks, > Stephane > PS.: placing a 'print I1' within the loop resolves the problem, That could clear g(0) ... leo