[svn:parrot] r44955 - branches/pcc_hackathon_6Mar10/src/pmc

bacek at svn.parrot.org bacek at svn.parrot.org
Tue Mar 16 08:09:20 UTC 2010


Author: bacek
Date: Tue Mar 16 08:09:19 2010
New Revision: 44955
URL: https://trac.parrot.org/parrot/changeset/44955

Log:
Remove hand-crafted fiddling with sig_object in Class.initialize_parents. Use invoke_sub instead.
Now PGE builds.

Modified:
   branches/pcc_hackathon_6Mar10/src/pmc/class.pmc

Modified: branches/pcc_hackathon_6Mar10/src/pmc/class.pmc
==============================================================================
--- branches/pcc_hackathon_6Mar10/src/pmc/class.pmc	Tue Mar 16 07:47:52 2010	(r44954)
+++ branches/pcc_hackathon_6Mar10/src/pmc/class.pmc	Tue Mar 16 08:09:19 2010	(r44955)
@@ -343,15 +343,9 @@
         meth = Parrot_oo_find_vtable_override_for_class(interp, parent, name);
 
         if (!PMC_IS_NULL(meth)) {
-            /* build an empty signature; it has an invocant but no args/retvals */
-            PMC * const sig_obj = Parrot_pmc_new(interp, enum_class_CallContext);
             /* preserve current_object */
             PMC * const old_object = interp->current_object;
-            VTABLE_set_string_native(interp, sig_obj, CONST_STRING(interp, "Pi->"));
-            /* add the invocant */
-            VTABLE_unshift_pmc(interp, sig_obj, object);
-            interp->current_object = object;
-            Parrot_pcc_invoke_from_sig_object(interp, meth, sig_obj);
+            Parrot_pcc_invoke_sub_from_c_args(interp, meth, "Pi->", object);
             interp->current_object = old_object;
         }
     }


More information about the parrot-commits mailing list