[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