Which granularity do we allow for eval()ed code?
Can that be an expression or statement too or is it always at least an (anonymous) subroutine?
Does the compiled code see Parrot registers of the caller or is it more like a function call?
What about register preserving?
And finally what shall we do with such branches:
# #! perl -w # my $i= 5; # LAB: # $i++; # eval("goto LAB if ($i==6)"); # print "$i\n"; # # 7 #####
.sub _test I1 = 5 $S0 = ".sub _e\nif I1 == 6 goto LAB\nend\n.end\n" compreg P2, "PIR" compile P0, P2, $S0 LAB: inc I1 invoke print I1 print "\n" end .end
Force them to be continuations?
leo