[svn:parrot] r49312 - branches/generational_gc/lib/Parrot/Pmc2c/PMC

bacek at svn.parrot.org bacek at svn.parrot.org
Sat Sep 25 00:59:22 UTC 2010


Author: bacek
Date: Sat Sep 25 00:59:21 2010
New Revision: 49312
URL: https://trac.parrot.org/parrot/changeset/49312

Log:
Generate default_wb_get_vtable function.

Modified:
   branches/generational_gc/lib/Parrot/Pmc2c/PMC/default.pm

Modified: branches/generational_gc/lib/Parrot/Pmc2c/PMC/default.pm
==============================================================================
--- branches/generational_gc/lib/Parrot/Pmc2c/PMC/default.pm	Sat Sep 25 00:59:05 2010	(r49311)
+++ branches/generational_gc/lib/Parrot/Pmc2c/PMC/default.pm	Sat Sep 25 00:59:21 2010	(r49312)
@@ -143,6 +143,27 @@
 
 EOC
 
+    # Generate WB version of default VTABLE.
+    $ro_vtable_decl = '';
+    foreach my $name ( @{ $self->vtable->names } ) {
+        if ($self->vtable_method_does_write($name)) {
+            $ro_vtable_decl .= "    vt->$name = Parrot_default_wb_${name};\n";
+        }
+    }
+
+    $cout .= <<"EOC";
+
+PARROT_EXPORT VTABLE* Parrot_default_wb_get_vtable(PARROT_INTERP) {
+
+    VTABLE * const vt = Parrot_default_get_vtable(interp);
+
+$ro_vtable_decl
+
+    return vt;
+}
+
+EOC
+
     $cout;
 }
 


More information about the parrot-commits mailing list