Author: Whiteknight
Date: Fri Jan  9 12:23:34 2009
New Revision: 35319

Modified:
   trunk/include/parrot/pobj.h
   trunk/src/gc/dod.c
   trunk/src/pmc.c

Log:
[Core] Remove real_self member from PMC structure, because it's currently 
unused and possibly broken. Patch courtesy donaldh++

Modified: trunk/include/parrot/pobj.h
==============================================================================
--- trunk/include/parrot/pobj.h (original)
+++ trunk/include/parrot/pobj.h Fri Jan  9 12:23:34 2009
@@ -141,7 +141,6 @@
     VTABLE         *vtable;
     DPOINTER       *data;
     struct PMC_EXT *pmc_ext;
-    PMC            *real_self;
 };
 
 struct _Sync;   /* forward decl */

Modified: trunk/src/gc/dod.c
==============================================================================
--- trunk/src/gc/dod.c  (original)
+++ trunk/src/gc/dod.c  Fri Jan  9 12:23:34 2009
@@ -219,16 +219,11 @@
     /* mark it live */
     PObj_live_SET(obj);
 
-    /* if object is a PMC and its real_self pointer points to another
-     * PMC, we must mark that. */
+    /* if object is a PMC and contains buffers or PMCs, then attach the PMC
+     * to the chained mark list. */
     if (PObj_is_PMC_TEST(obj)) {
         PMC * const p = (PMC *)obj;
 
-        if (p->real_self != p)
-            pobject_lives(interp, (PObj *)p->real_self);
-
-        /* if object is a PMC and contains buffers or PMCs, then attach the PMC
-         * to the chained mark list. */
         if (PObj_is_special_PMC_TEST(obj))
             mark_special(interp, p);
 

Modified: trunk/src/pmc.c
==============================================================================
--- trunk/src/pmc.c     (original)
+++ trunk/src/pmc.c     Fri Jan  9 12:23:34 2009
@@ -265,7 +265,6 @@
             PARROT_ASSERT(pmc);
 
             pmc->vtable    = vtable;
-            pmc->real_self = pmc;
             VTABLE_set_pointer(interp, pmc, pmc);
         }
 
@@ -302,7 +301,6 @@
 
     pmc            = new_pmc_header(interp, flags);
     pmc->vtable    = vtable;
-    pmc->real_self = pmc;
 
 #ifdef GC_VERBOSE
     if (Interp_flags_TEST(interp, PARROT_TRACE_FLAG)) {

Reply via email to