[svn:parrot] r44710 - in branches/ops_pct/compilers/opsc/src/Ops: . Trans
cotto at svn.parrot.org
cotto at svn.parrot.org
Sat Mar 6 22:07:58 UTC 2010
Author: cotto
Date: Sat Mar 6 22:07:56 2010
New Revision: 44710
URL: https://trac.parrot.org/parrot/changeset/44710
Log:
[opsc] implement in some macro translators
Modified:
branches/ops_pct/compilers/opsc/src/Ops/Trans.pm
branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm
Modified: branches/ops_pct/compilers/opsc/src/Ops/Trans.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/Trans.pm Sat Mar 6 22:05:26 2010 (r44709)
+++ branches/ops_pct/compilers/opsc/src/Ops/Trans.pm Sat Mar 6 22:07:56 2010 (r44710)
@@ -42,4 +42,13 @@
method op_func($emitter) { 'NULL' }
method getop($emitter) { '( int (*)(PARROT_INTERP, const char *, int) )NULL' };
+method restart_address($addr) { die('...'); }
+method restart_offset($addr) { die('...'); }
+
+method goto_address($addr) { die('...'); }
+method goto_offset($addr) { die('...'); }
+
+method expr_address($addr) { die('...'); }
+method expr_offset($addr) { die('...'); }
+
# vim: expandtab shiftwidth=4 ft=perl6:
Modified: branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm Sat Mar 6 22:05:26 2010 (r44709)
+++ branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm Sat Mar 6 22:07:56 2010 (r44710)
@@ -58,6 +58,19 @@
}
}
+method restart_address($addr) { "interp->resume_offset = $addr; interp->resume_flag = 1"; }
+method restart_offset($offset) {
+ "interp->resume_offset = REL_PC + $offset; interp->resume_flag = 1";
+}
+
+method goto_address($addr) { "return (opcode_t *) $addr"; }
+
+method goto_offset($offset) { "return (opcode_t *) cur_opcode + $offset"; }
+
+method expr_address($addr) { $addr; }
+
+method expr_offset($offset) { "cur_opcode + $offset"; }
+
=begin
=item C<defines()>
More information about the parrot-commits
mailing list