[svn:parrot] r43261 - in branches/pmc_freeze_cleanup: include/parrot src/pmc

plobsing at svn.parrot.org plobsing at svn.parrot.org
Sun Dec 27 06:21:33 UTC 2009


Author: plobsing
Date: Sun Dec 27 06:21:32 2009
New Revision: 43261
URL: https://trac.parrot.org/parrot/changeset/43261

Log:
remove visit_info.extra and fixup how prophashes get frozen a little

Modified:
   branches/pmc_freeze_cleanup/include/parrot/pmc_freeze.h
   branches/pmc_freeze_cleanup/src/pmc/default.pmc

Modified: branches/pmc_freeze_cleanup/include/parrot/pmc_freeze.h
==============================================================================
--- branches/pmc_freeze_cleanup/include/parrot/pmc_freeze.h	Sun Dec 27 05:59:05 2009	(r43260)
+++ branches/pmc_freeze_cleanup/include/parrot/pmc_freeze.h	Sun Dec 27 06:21:32 2009	(r43261)
@@ -61,7 +61,6 @@
     PMC                *todo;           /* todo list */
     PMC                *id_list;        /* seen list used by thaw */
     UINTVAL             id;             /* freze ID of PMC */
-    void               *extra;          /* PMC specific */
     INTVAL              extra_flags;    /* concerning to extra */
     struct PackFile    *pf;
     const image_funcs  *vtable;

Modified: branches/pmc_freeze_cleanup/src/pmc/default.pmc
==============================================================================
--- branches/pmc_freeze_cleanup/src/pmc/default.pmc	Sun Dec 27 05:59:05 2009	(r43260)
+++ branches/pmc_freeze_cleanup/src/pmc/default.pmc	Sun Dec 27 06:21:32 2009	(r43261)
@@ -1058,14 +1058,16 @@
         /* default - mark prop hash */
         if (PMC_metadata(SELF) &&
             info->extra_flags != EXTRA_IS_PROP_HASH) {
+            const INTVAL old_extra_flags = info->extra_flags;
             info->extra_flags = EXTRA_IS_PROP_HASH;
-            info->extra       = PMC_metadata(SELF);
 
             /* place escape mark */
             (info->visit_pmc_now)(INTERP, SELF, info);
 
             /* place and the prop hash */
             (info->visit_pmc_now)(INTERP, PMC_metadata(SELF), info);
+
+            info->extra_flags = old_extra_flags;
         }
     }
 


More information about the parrot-commits mailing list