cvsuser 03/02/03 08:18:59
Modified: . core.ops
lib/Parrot/OpTrans Compiled.pm
Log:
more native changes: use offsets for bsr/ret
Revision Changes Path
1.254 +2 -2 parrot/core.ops
Index: core.ops
===================================================================
RCS file: /cvs/public/parrot/core.ops,v
retrieving revision 1.253
retrieving revision 1.254
diff -u -w -r1.253 -r1.254
--- core.ops 3 Feb 2003 14:55:56 -0000 1.253
+++ core.ops 3 Feb 2003 16:18:58 -0000 1.254
@@ -3761,7 +3761,7 @@
=cut
inline op bsr (in INT) {
- stack_push(interpreter, &interpreter->ctx.control_stack, expr NEXT(),
STACK_ENTRY_DESTINATION, STACK_CLEANUP_NULL);
+ stack_push(interpreter, &interpreter->ctx.control_stack, CUR_OPCODE + 2,
STACK_ENTRY_DESTINATION, STACK_CLEANUP_NULL);
goto OFFSET($1);
}
@@ -3777,7 +3777,7 @@
inline op jsr(in INT) {
opcode_t * loc;
- stack_push(interpreter, &interpreter->ctx.control_stack, expr NEXT(),
STACK_ENTRY_DESTINATION, STACK_CLEANUP_NULL);
+ stack_push(interpreter, &interpreter->ctx.control_stack, CUR_OPCODE + 2,
STACK_ENTRY_DESTINATION, STACK_CLEANUP_NULL);
loc = INTVAL2PTR(opcode_t *, $1);
goto ADDRESS(loc);
}
1.10 +2 -2 parrot/lib/Parrot/OpTrans/Compiled.pm
Index: Compiled.pm
===================================================================
RCS file: /cvs/public/parrot/lib/Parrot/OpTrans/Compiled.pm,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -w -r1.9 -r1.10
--- Compiled.pm 3 Feb 2003 11:19:20 -0000 1.9
+++ Compiled.pm 3 Feb 2003 16:18:59 -0000 1.10
@@ -1,7 +1,7 @@
#
# CGoto.pm
#
-# $Id: Compiled.pm,v 1.9 2003/02/03 11:19:20 leo Exp $
+# $Id: Compiled.pm,v 1.10 2003/02/03 16:18:59 leo Exp $
#
use strict;
@@ -113,7 +113,7 @@
sub goto_pop
{
my ($self) = @_;
- return "goto *pop_dest(interpreter)";
+ return "cur_opcode = pop_dest(interpreter);\ngoto switch_label";
}
#