# New Ticket Created by Allison Randal # Please include the string: [perl #24391] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=24391 >
Several tests in t/compiler/call.t were failing with the error: set_integer_native() not implemented in class 'Sub' and t/compiler/exceptions.t with the error: set_integer_native() not implemented in class 'Continuation' These are resolved by using the 'newsub' syntax instead of assigning an integer address to the Sub/Continuation PMCs. Allison -- attachment 1 ------------------------------------------------------ url: http://rt.perl.org/rt2/attach/66978/49979/bb19f7/p6c_newsub_syntax.patch
Index: languages/perl6/P6C/IMCC.pm =================================================================== RCS file: /cvs/public/parrot/languages/perl6/P6C/IMCC.pm,v retrieving revision 1.28 diff -d -u -r1.28 IMCC.pm --- languages/perl6/P6C/IMCC.pm 13 Oct 2003 17:00:41 -0000 1.28 +++ languages/perl6/P6C/IMCC.pm 3 Nov 2003 00:38:07 -0000 @@ -1868,10 +1868,8 @@ # Create a closure. set_function($ofunc); $ret = newtmp 'Sub'; - my $itmp = gentmp 'int'; code(<<END); - $itmp = addr _$name - $ret = $itmp + newsub $ret, .Sub, _$name END $ret = scalar_in_context($ret, $x->{ctx}); } Index: languages/perl6/P6C/IMCC/prefix.pm =================================================================== RCS file: /cvs/public/parrot/languages/perl6/P6C/IMCC/prefix.pm,v retrieving revision 1.17 diff -d -u -r1.17 prefix.pm --- languages/perl6/P6C/IMCC/prefix.pm 13 Oct 2003 17:00:48 -0000 1.17 +++ languages/perl6/P6C/IMCC/prefix.pm 3 Nov 2003 00:38:07 -0000 @@ -747,14 +747,12 @@ my $catch; my $result; my $ret = gentmp 'pmc'; - my $addr = newtmp 'int'; if ($catcher) { $catch = genlabel 'catch'; $label = $catch; } code(<<END); - $addr = addr $label - $cont = $addr + newsub $cont, .Continuation, $label find_lex $subtmp, "&install_catch" .pcc_begin non_prototyped .arg $cont