[svn:parrot] r44738 - in branches/ops_pct/compilers/opsc/src/Ops: . Trans

bacek at svn.parrot.org bacek at svn.parrot.org
Sun Mar 7 12:55:56 UTC 2010


Author: bacek
Date: Sun Mar  7 12:55:55 2010
New Revision: 44738
URL: https://trac.parrot.org/parrot/changeset/44738

Log:
Merge Trans.source_preamble with Trans.defines

Modified:
   branches/ops_pct/compilers/opsc/src/Ops/Emitter.pm
   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/Emitter.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/Emitter.pm	Sun Mar  7 12:55:29 2010	(r44737)
+++ branches/ops_pct/compilers/opsc/src/Ops/Emitter.pm	Sun Mar  7 12:55:55 2010	(r44738)
@@ -110,19 +110,10 @@
 #include "pmc/pmc_parrotlibrary.h"
 #include "pmc/pmc_callcontext.h"
 
-{self.trans.defines}
+{self.trans.defines(self)}
 
 |);
 
-#    if ( $self->{suffix} eq '' && !$self->{flag}->{dynamic} ) {
-#        print $fh <<END_C_2;
-#static int get_op(PARROT_INTERP, const char * name, int full);
-#
-#END_C_2
-#    }
-
-    $fh.print(self.trans.source_preamble);
-
     $fh.print(self.ops_file.preamble);
 }
 

Modified: branches/ops_pct/compilers/opsc/src/Ops/Trans.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/Trans.pm	Sun Mar  7 12:55:29 2010	(r44737)
+++ branches/ops_pct/compilers/opsc/src/Ops/Trans.pm	Sun Mar  7 12:55:55 2010	(r44738)
@@ -24,9 +24,7 @@
 # Called from Ops::Op.
 method body_prelude() { '' }
 
-method defines() { die('...') }
-
-method source_preamble() { '' }
+method defines($emitter) { die('...') }
 
 method emit_source_part($emitter, $fh) { die('...') }
 

Modified: branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm	Sun Mar  7 12:55:29 2010	(r44737)
+++ branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm	Sun Mar  7 12:55:55 2010	(r44738)
@@ -106,7 +106,7 @@
 
 =end
 
-method defines() {
+method defines($emitter) {
     return qq|
 #include "pmc/pmc_callcontext.h"
 
@@ -119,14 +119,12 @@
 #define PREG(i) (CUR_CTX->bp_ps.regs_p[-1L - cur_opcode[i]])
 #define SREG(i) (CUR_CTX->bp_ps.regs_s[cur_opcode[i]])
 #define CONST(i) Parrot_pcc_get_constants(interp, interp->ctx)[cur_opcode[i]]
-|;
 
-}
 
-method source_preamble() {
-q/
+static op_info_t {self.op_info($emitter)}[{self<num_entries>}];
+static op_func{self.suffix}_t {self.op_func($emitter)}[{self<num_entries>}];
 static int get_op(PARROT_INTERP, const char * name, int full);
-/
+|;
 }
 
 method op_info($emitter) { $emitter.bs ~ 'op_info_table' }


More information about the parrot-commits mailing list