[svn:parrot] r44907 - branches/ops_pct/compilers/opsc/src/Ops/Compiler
bacek at svn.parrot.org
bacek at svn.parrot.org
Sat Mar 13 20:19:55 UTC 2010
Author: bacek
Date: Sat Mar 13 20:19:53 2010
New Revision: 44907
URL: https://trac.parrot.org/parrot/changeset/44907
Log:
Fix handling of 'restart NEXT'
Modified:
branches/ops_pct/compilers/opsc/src/Ops/Compiler/Actions.pm
Modified: branches/ops_pct/compilers/opsc/src/Ops/Compiler/Actions.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/Compiler/Actions.pm Fri Mar 12 22:47:14 2010 (r44906)
+++ branches/ops_pct/compilers/opsc/src/Ops/Compiler/Actions.pm Sat Mar 13 20:19:53 2010 (r44907)
@@ -336,9 +336,9 @@
# expr NEXT() -> expr_offset(opsize())
# expr OFFSET($addr) -> expr_offset($addr)
# expr ADDRERR($addr) -> expr_address($addr)
- # restart NEXT() -> restart_offset(opsize()); goto_offset(opsize())
+ # restart NEXT() -> restart_offset(opsize()); goto_address(0)
# restart OFFSET() -> restart_offset($addr); goto_offset($addr)
- # restart ADDRESS() -> restart_address($addr); goto_offset($addr)
+ # restart ADDRESS() -> restart_address($addr); goto_address($addr)
my $macro_type := ~$<macro_type>;
my $macro_dest := ~$<macro_destination>;
@@ -383,12 +383,12 @@
$macro := PAST::Op.new(
:pasttype<call>,
- :name('goto_' ~ ($is_next ?? 'offset' !! lc($macro_dest))),
+ :name<goto_address>,
);
if $is_next {
$macro.push(PAST::Op.new(
- :pasttype<call>,
- :name<OPSIZE>,
+ :pasttype<inline>,
+ :inline<0>,
));
}
else {
More information about the parrot-commits
mailing list