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)) {