Re: [perl #42299] $P symbolic register allocation bug
On Tue, Nov 27, 2007 at 08:52:32PM -0800, Will Coleda via RT wrote: On Wed Apr 04 05:59:18 2007, [EMAIL PROTECTED] wrote: For me, running the attached PIR file outputs: Sub String instead of: Sub Sub Can anyone reproduce this on the original platform with 0.5.0 or newer? (see RT for attached test file) With r23168, I'm unable to reproduce the bug. I get the expected Sub Sub output. I suspect the original problem was a GC or pointer error, which has since been fixed. Pm
[perl #42299] $P symbolic register allocation bug
On Wed Apr 04 05:59:18 2007, [EMAIL PROTECTED] wrote: --- osname= linux osvers= 2.6.16-gentoo-r6 arch= i686-linux cc= i686-pc-linux-gnu-gcc --- Flags: category=core severity=medium ack=no --- For me, running the attached PIR file outputs: Sub String instead of: Sub Sub $P37, holding a Sub, is changed to a String, by: $P38 = find_lex firstArg Changing either (or both) of $P37/$P38 to P37/P38 fixes it. As does removing the rest of the Sub after the $P39 = line. (in which case you need to readd label246: which is referenced earlier) In addition, parrot -o test-borked.pasm uses the same P register (P94) for both $P37 and $P38. I've tried this on both 0.4.10 and HEAD, on Linux. particle tried it on HEAD on Windows and couldn't reproduce it. --- Summary of my parrot 0.4.10 (r17965) configuration: configdate='Tue Apr 3 23:14:10 2007 GMT' Platform: osname=linux, archname=i686-linux jitcapable=1, jitarchname=i386-linux, jitosname=LINUX, jitcpuarch=i386 execcapable=1 perl=/usr/bin/perl5.8.8 Compiler: cc='i686-pc-linux-gnu-gcc', ccflags=' -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I /usr/include', Linker and Libraries: ld='i686-pc-linux-gnu-gcc', ldflags=' -L/usr/local/lib', cc_ldflags='', libs='-lpthread -lnsl -ldl -lm -lcrypt -lutil -lrt -lgmp -lreadline -lncurses' Dynamic Linking: share_ext='.so', ld_share_flags='-shared -L/usr/local/lib -fPIC', load_ext='.so', ld_load_flags='-shared -L/usr/local/lib -fPIC' Types: iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4, ptrsize=4, ptr_alignment=1 byteorder=1234, nv=double, numvalsize=8, doublesize=8 --- Environment: HOME =/home/sapir LANG (unset) LANGUAGE (unset) LC_ALL =en_US.UTF-8 LC_MEASUREMENT =hebrew LC_TELEPHONE =hebrew LC_TIME =hebrew LD_LIBRARY_PATH =/usr/local/3delight-4.5.0/Linux-i686/lib: LOGDIR (unset) PATH =/usr/local/3delight-4.5.0/Linux- i686/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/opt/xmingw/bin:/usr/i686- pc-linux-gnu/gcc-bin/3.4.6:/opt/xmingw/bin:/opt/blackdown- jdk-1.4.2.02/bin:/opt/blackdown-jdk-1.4.2.02 /jre/bin:/usr/qt/3/bin:/usr/kde/3.4/bin:/usr/kde/3.3/bin:/usr/games/bin:/home/sapir/ bin SHELL =/bin/bash Can anyone reproduce this on the original platform with 0.5.0 or newer? (see RT for attached test file)
[perl #42299] $P symbolic register allocation bug
# New Ticket Created by Yehoshua Sapir # Please include the string: [perl #42299] # in the subject line of all future correspondence about this issue. # URL: http://rt.perl.org/rt3/Ticket/Display.html?id=42299 --- osname= linux osvers= 2.6.16-gentoo-r6 arch= i686-linux cc= i686-pc-linux-gnu-gcc --- Flags: category=core severity=medium ack=no --- For me, running the attached PIR file outputs: Sub String instead of: Sub Sub $P37, holding a Sub, is changed to a String, by: $P38 = find_lex firstArg Changing either (or both) of $P37/$P38 to P37/P38 fixes it. As does removing the rest of the Sub after the $P39 = line. (in which case you need to readd label246: which is referenced earlier) In addition, parrot -o test-borked.pasm uses the same P register (P94) for both $P37 and $P38. I've tried this on both 0.4.10 and HEAD, on Linux. particle tried it on HEAD on Windows and couldn't reproduce it. --- Summary of my parrot 0.4.10 (r17965) configuration: configdate='Tue Apr 3 23:14:10 2007 GMT' Platform: osname=linux, archname=i686-linux jitcapable=1, jitarchname=i386-linux, jitosname=LINUX, jitcpuarch=i386 execcapable=1 perl=/usr/bin/perl5.8.8 Compiler: cc='i686-pc-linux-gnu-gcc', ccflags=' -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I /usr/include', Linker and Libraries: ld='i686-pc-linux-gnu-gcc', ldflags=' -L/usr/local/lib', cc_ldflags='', libs='-lpthread -lnsl -ldl -lm -lcrypt -lutil -lrt -lgmp -lreadline -lncurses' Dynamic Linking: share_ext='.so', ld_share_flags='-shared -L/usr/local/lib -fPIC', load_ext='.so', ld_load_flags='-shared -L/usr/local/lib -fPIC' Types: iv=long, intvalsize=4, intsize=4, opcode_t=long, opcode_t_size=4, ptrsize=4, ptr_alignment=1 byteorder=1234, nv=double, numvalsize=8, doublesize=8 --- Environment: HOME =/home/sapir LANG (unset) LANGUAGE (unset) LC_ALL =en_US.UTF-8 LC_MEASUREMENT =hebrew LC_TELEPHONE =hebrew LC_TIME =hebrew LD_LIBRARY_PATH =/usr/local/3delight-4.5.0/Linux-i686/lib: LOGDIR (unset) PATH =/usr/local/3delight-4.5.0/Linux-i686/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin:/opt/xmingw/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.4.6:/opt/xmingw/bin:/opt/blackdown- jdk-1.4.2.02/bin:/opt/blackdown-jdk-1.4.2.02 /jre/bin:/usr/qt/3/bin:/usr/kde/3.4/bin:/usr/kde/3.3/bin:/usr/games/bin:/home/sapir/bin SHELL =/bin/bash test-borked.pir Description: Binary data