develooper Front page | perl.cvs.parrot | Postings from January 2009

[svn:parrot] r35521 - trunk/src/pmc

From:
cotto
Date:
January 14, 2009 01:13
Subject:
[svn:parrot] r35521 - trunk/src/pmc
Message ID:
20090114091316.32C84CB9AE@x12.develooper.com
Author: cotto
Date: Wed Jan 14 01:13:15 2009
New Revision: 35521

Modified:
   trunk/src/pmc/class.pmc
   trunk/src/pmc/object.pmc

Log:
[pmc] remove a couple STM and VTABLECache references
patch courtesy of jimmy++


Modified: trunk/src/pmc/class.pmc
==============================================================================
--- trunk/src/pmc/class.pmc	(original)
+++ trunk/src/pmc/class.pmc	Wed Jan 14 01:13:15 2009
@@ -80,10 +80,6 @@
 A cache of visible attribute names to attribute indexes.
 A Null PMC is allocated during initialization.
 
-=item C<vtable_cache>
-
-Cache of the vtable used for objects (only STM).
-
 =item C<resolve_method>
 
 A list of method names the class provides used for name conflict resolution.
@@ -429,7 +425,6 @@
     ATTR PMC *attrib_metadata;  /* Hash of attributes in this class to hashes of metadata. */
     ATTR PMC *attrib_index;     /* Lookup table for attributes in this and parents. */
     ATTR PMC *attrib_cache;     /* Cache of visible attrib names to indexes. */
-    ATTR PMC *vtable_cache;     /* Cache of the vtable used for objects (only STM). */
     ATTR PMC *resolve_method;   /* List of method names the class provides to resolve
                                  * conflicts with methods from roles. */
     ATTR PMC *parent_overrides;
@@ -468,7 +463,6 @@
         _class->attrib_metadata = pmc_new(interp, enum_class_Hash);
         _class->attrib_index    = PMCNULL;
         _class->attrib_cache    = PMCNULL;
-        _class->vtable_cache    = PMCNULL; /* only used for STM */
         _class->resolve_method  = pmc_new(interp, enum_class_ResizablePMCArray);
 
         _class->vtable_overrides = pmc_new(interp, enum_class_Hash);

Modified: trunk/src/pmc/object.pmc
==============================================================================
--- trunk/src/pmc/object.pmc	(original)
+++ trunk/src/pmc/object.pmc	Wed Jan 14 01:13:15 2009
@@ -791,7 +791,6 @@
         PMC *classobj;
         Parrot_Interp  master;
         INTVAL         type_num;
-        PMC           *vtable_cache = PMCNULL;
 
         if (PObj_is_PMC_shared_TEST(SELF))
             return SELF;
@@ -800,17 +799,6 @@
         classobj = VTABLE_get_class(INTERP, SELF);
         type_num = SELF->vtable->base_type;
 
-        /* keep the original vtable from going away... */
-        vtable_cache = PARROT_CLASS(classobj)->vtable_cache;
-        if (PMC_IS_NULL(vtable_cache)) {
-            vtable_cache = pmc_new(INTERP, enum_class_VtableCache);
-            PMC_struct_val(vtable_cache) = INTERP->vtables[type_num];
-            PARROT_CLASS(classobj)->vtable_cache = vtable_cache;
-        }
-
-        add_pmc_sync(INTERP, vtable_cache);
-        PObj_is_PMC_shared_SET(vtable_cache);
-
         /* make sure metadata doesn't go away unexpectedly */
         if (PMC_metadata(pmc))
             PMC_metadata(pmc) = pt_shared_fixup(interp, PMC_metadata(pmc));



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About