[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