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

bacek at svn.parrot.org bacek at svn.parrot.org
Sun May 10 10:11:29 UTC 2009


Author: bacek
Date: Sun May 10 10:11:29 2009
New Revision: 38675
URL: https://trac.parrot.org/parrot/changeset/38675

Log:
Split generate_class_init into 3 parts

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

Modified: branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm
==============================================================================
--- branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm	Sun May 10 10:11:14 2009	(r38674)
+++ branches/pmc_pct/compilers/pmcc/src/emitter/pmc.pm	Sun May 10 10:11:29 2009	(r38675)
@@ -327,21 +327,30 @@
 }
 
 
-#=item C<!generate_class_init>
-#
-#Generating class_init function
-#
-#=cut
+=item C<generate_class_init>
 
+Generate functions related to class_init
+
+=cut
 method generate_class_init() {
+      self.update_vtable_func()
+    ~ self.get_vtable_func()
+    ~ self.class_init_func()
+}
+
+=item C<class_init_func>
+
+Generating class_init function
+
+=cut
+
+method class_init_func() {
     my @res;
     @res.push(
           "PARROT_EXPORT void Parrot_"
         ~ self.name
         ~ "_class_init(PARROT_INTERP, int entry, int pass) {\n");
 
-    # PUT VTABLE GENERTION HERE
-
     my $past := self.past;
     if ($past<class_init>) {
         @res.push("/* class_init */\n");
@@ -352,6 +361,24 @@
     join('', @res);
 }
 
+=item C<get_vtable_func>
+
+Generate C-code for get_vtable_func
+
+=cut
+method get_vtable_func() {
+    "";
+}
+
+=item C<update_vtable_func>
+
+Generate C-code for update_vtable_func
+
+=cut
+method update_vtable_func() {
+    "";
+}
+
 method dumper($x) {
     PIR q<
         load_bytecode "dumper.pbc"


More information about the parrot-commits mailing list