Hi All, 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. Can anybody give me some hints as to what is going on there? :) Thanks, Stephane PS.: placing a 'print I1' within the loop resolves the problem, both jitted and non jitted finishing properly in that case. Instead 'noop', 'set <some>' or else within the loop dont help the jitted case and hangs again..
set I1, 2 LOOP: sub I1, 1 if I1, LOOP print "end\n" end
# -- Sun/SPARC-V9 - Solaris 9 Summary of my parrot 0.0.13 configuration: configdate='Sun Feb 8 15:33:49 2004' Platform: osname=solaris, archname=sun4-solaris jitcapable=1, jitarchname=sun4-solaris, jitosname=SOLARIS, jitcpuarch=sun4 execcapable=0 perl=perl Compiler: cc='gcc', ccflags=' -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', Linker and Libraries: ld='gcc', ldflags=' -L/usr/local/lib ', cc_ldflags='', libs='-lsocket -lnsl -ldl -lm -lpthread -lrt' Dynamic Linking: so='.so', ld_shared='-G -L/usr/local/lib', ld_shared_flags='' Types: iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4, ptrsize=4, ptr_alignment=4 byteorder=4321, nv=double, numvalsize=8, doublesize=8