[svn:parrot] r36609 - in branches/rename_pccinvoke/src: . pmc

whiteknight at svn.parrot.org whiteknight at svn.parrot.org
Thu Feb 12 00:05:10 UTC 2009


Author: whiteknight
Date: Thu Feb 12 00:05:09 2009
New Revision: 36609
URL: https://trac.parrot.org/parrot/changeset/36609

Log:
[rename_pccinvoke] update the calls in src/oo.c. Fix a weird place where a pointer to a PMC pointer was getting marked before it was instantiated. Don't know why this error didn't manifest with Parrot_PCCINVOKE, but whatever

Modified:
   branches/rename_pccinvoke/src/oo.c
   branches/rename_pccinvoke/src/pmc/cpointer.pmc

Modified: branches/rename_pccinvoke/src/oo.c
==============================================================================
--- branches/rename_pccinvoke/src/oo.c	Wed Feb 11 23:55:37 2009	(r36608)
+++ branches/rename_pccinvoke/src/oo.c	Thu Feb 12 00:05:09 2009	(r36609)
@@ -107,7 +107,7 @@
        return;
 
     /* Import any methods. */
-    Parrot_PCCINVOKE(interp, ns, CONST_STRING(interp, "get_associated_methods"), "->P", &methods);
+    Parrot_pcc_invoke_method_from_c_args(interp, ns, CONST_STRING(interp, "get_associated_methods"), "->P", &methods);
 
     if (!PMC_IS_NULL(methods)) {
         PMC * const iter = VTABLE_get_iter(interp, methods);
@@ -121,7 +121,7 @@
     }
 
     /* Import any vtable methods. */
-    Parrot_PCCINVOKE(interp, ns, CONST_STRING(interp, "get_associated_vtable_methods"), "->P", &vtable_overrides);
+    Parrot_pcc_invoke_method_from_c_args(interp, ns, CONST_STRING(interp, "get_associated_vtable_methods"), "->P", &vtable_overrides);
 
     if (!PMC_IS_NULL(vtable_overrides)) {
         PMC * const iter = VTABLE_get_iter(interp, vtable_overrides);
@@ -1079,11 +1079,11 @@
     ASSERT_ARGS(Parrot_ComputeMRO_C3)
     PMC *result;
     PMC * const merge_list = pmc_new(interp, enum_class_ResizablePMCArray);
-    PMC *immediate_parents;
+    PMC *immediate_parents = pmc_new(interp, enum_class_Undef);
     int i, parent_count;
 
     /* Now get immediate parents list. */
-    Parrot_PCCINVOKE(interp, _class, CONST_STRING(interp, "parents"),
+    Parrot_pcc_invoke_method_from_c_args(interp, _class, CONST_STRING(interp, "parents"),
         "->P", &immediate_parents);
 
     if (!immediate_parents)
@@ -1168,7 +1168,7 @@
             return;
 
     /* Get the methods from the role. */
-    Parrot_PCCINVOKE(interp, role, CONST_STRING(interp, "methods"), "->P", &methods);
+    Parrot_pcc_invoke_method_from_c_args(interp, role, CONST_STRING(interp, "methods"), "->P", &methods);
 
     if (PMC_IS_NULL(methods))
         return;
@@ -1313,7 +1313,7 @@
      * that it did itself. Note that we already have the correct methods
      * as roles "flatten" the methods they get from other roles into their
      * own method list. */
-    Parrot_PCCINVOKE(interp, role, CONST_STRING(interp, "roles"), "->P", &roles_of_role);
+    Parrot_pcc_invoke_method_from_c_args(interp, role, CONST_STRING(interp, "roles"), "->P", &roles_of_role);
     roles_of_role_count = VTABLE_elements(interp, roles_of_role);
 
     for (i = 0; i < roles_of_role_count; i++) {

Modified: branches/rename_pccinvoke/src/pmc/cpointer.pmc
==============================================================================
--- branches/rename_pccinvoke/src/pmc/cpointer.pmc	Wed Feb 11 23:55:37 2009	(r36608)
+++ branches/rename_pccinvoke/src/pmc/cpointer.pmc	Thu Feb 12 00:05:09 2009	(r36609)
@@ -90,6 +90,7 @@
         if (data->sig)
             pobject_lives(interp, (PObj *)data->sig);
 
+
         if (data->pointer) {
             if (Parrot_str_not_equal(interp, data->sig, CONST_STRING(interp, "P")) == 0) {
                 PMC **pmc_pointer = (PMC **) data->pointer;
@@ -102,6 +103,7 @@
                 pobject_lives(interp, (PObj *) *str_pointer);
             }
         }
+
     }
 
 /*


More information about the parrot-commits mailing list