[svn:parrot] r38667 - branches/pmc_pct/compilers/pmcc/src/emitter

bacek at svn.parrot.org bacek at svn.parrot.org
Sun May 10 05:33:51 UTC 2009


Author: bacek
Date: Sun May 10 05:33:49 2009
New Revision: 38667
URL: https://trac.parrot.org/parrot/changeset/38667

Log:
Fix passing PMC PAST to C::emit

Modified:
   branches/pmc_pct/compilers/pmcc/src/emitter/c.pir
   branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm

Modified: branches/pmc_pct/compilers/pmcc/src/emitter/c.pir
==============================================================================
--- branches/pmc_pct/compilers/pmcc/src/emitter/c.pir	Sun May 10 03:43:52 2009	(r38666)
+++ branches/pmc_pct/compilers/pmcc/src/emitter/c.pir	Sun May 10 05:33:49 2009	(r38667)
@@ -22,8 +22,9 @@
 =cut
 
 .sub 'emit' :method
+    .param pmc pmclass
     .param pmc entry
-    .tailcall self.'!generate_children_body_part'(entry, entry)
+    .tailcall self.'!generate_children_body_part'(pmclass, entry)
 .end
 
 =item C<!generate_body_part>

Modified: branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm
==============================================================================
--- branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm	Sun May 10 03:43:52 2009	(r38666)
+++ branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm	Sun May 10 05:33:49 2009	(r38667)
@@ -320,7 +320,7 @@
     for %vtables {
         my $entry := %vtables{$_};
         @res.push(self.generate_signature($entry, ""));
-        @res.push(PMC::Emitter::C.new.emit($entry));
+        @res.push(PMC::Emitter::C.new.emit($past, $entry));
     }
 
     join('', @res);
@@ -345,7 +345,7 @@
     my $past := self.past;
     if ($past<class_init>) {
         @res.push("/* class_init */\n");
-        @res.push(PMC::Emitter::C.new().emit($past<class_init>));
+        @res.push(PMC::Emitter::C.new().emit($past, $past<class_init>));
     }
 
     @res.push("\n}\n");


More information about the parrot-commits mailing list