# New Ticket Created by  Will Coleda 
# Please include the string:  [perl #60268]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=60268 >


When running parrot with -t4, this impacts the running bytecode.

This isn't obvious with a small program; however, you can see this
issue in partcl at least
(http://code.google.com/p/partcl/wiki/PartclSource)

then, in tcl,

../../parrot tcl.pbc -e 'puts {hello world}'

prints "hello world\n"

 ../../parrot -t4 tcl.pbc -e 'puts {hello world}'

Among all the debug output, this instead dies with

# Calling sub 'parrot;PGE;Match;new'
# current instr.: 'parrot;PGE;Perl6Regex;parse_term_backslash' pc 7472
(compilers/pge/PGE/Perl6Regex.pir:367)
No such attribute '$.target'

-t4 sets the flag PARROT_TRACE_SUB_CALL_FLAG, which has 4 relevant tests:

src/packfile.c
2714:    if (really && Interp_trace_TEST(interp, PARROT_TRACE_SUB_CALL_FLAG)) {

src/pmc/coroutine.pmc
129:        if (Interp_trace_TEST(INTERP, PARROT_TRACE_SUB_CALL_FLAG))

src/pmc/sub.pmc
208:        if (Interp_trace_TEST(INTERP, PARROT_TRACE_SUB_CALL_FLAG))

src/sub.c
599:    if (Interp_trace_TEST(interp, PARROT_TRACE_SUB_CALL_FLAG)) {

commenting out the bits in coroutine & sub PMCs allow the code to run as normal.

-- 
Will "Coke" Coleda

Reply via email to