[svn:parrot] r43366 - in branches/pmc_freeze_cleanup: . src src/pmc

plobsing at svn.parrot.org plobsing at svn.parrot.org
Sat Jan 2 02:03:36 UTC 2010


Author: plobsing
Date: Sat Jan  2 02:03:35 2010
New Revision: 43366
URL: https://trac.parrot.org/parrot/changeset/43366

Log:
eliminate need for EXTRA_IS_PROP_HASH

the prophash handling is contained in visit_todo_list() for now

TODO: get someone with an i386 regenerate t/native_pbc/*
TODO: clean up all references to EXTRA_IS_PROP_HASH
TODO: move prophash handling into default.visit

Modified:
   branches/pmc_freeze_cleanup/PBC_COMPAT
   branches/pmc_freeze_cleanup/src/pmc/default.pmc
   branches/pmc_freeze_cleanup/src/pmc_freeze.c

Modified: branches/pmc_freeze_cleanup/PBC_COMPAT
==============================================================================
--- branches/pmc_freeze_cleanup/PBC_COMPAT	Fri Jan  1 21:21:38 2010	(r43365)
+++ branches/pmc_freeze_cleanup/PBC_COMPAT	Sat Jan  2 02:03:35 2010	(r43366)
@@ -27,6 +27,7 @@
 
 # please insert tab separated entries at the top of the list
 
+5.5	2010.01.01	plobsing	change prophash handling
 5.4	2009.12.02	bacek	remove CallSignatureReturns
 5.3	2009.10.23	bacek	add CallSignatureReturns
 5.2	2009.09.16	darbelo	remove pic.ops

Modified: branches/pmc_freeze_cleanup/src/pmc/default.pmc
==============================================================================
--- branches/pmc_freeze_cleanup/src/pmc/default.pmc	Fri Jan  1 21:21:38 2010	(r43365)
+++ branches/pmc_freeze_cleanup/src/pmc/default.pmc	Sat Jan  2 02:03:35 2010	(r43366)
@@ -1055,22 +1055,6 @@
 */
 
     VTABLE void visit(visit_info *info) {
-        /* default - mark prop hash */
-        if (PMC_metadata(SELF) &&
-             info->extra_flags != EXTRA_IS_PROP_HASH) {
-            /* place escape mark */
-            {
-                const INTVAL old_extra_flags = info->extra_flags;
-                info->extra_flags = EXTRA_IS_PROP_HASH;
-
-                (info->visit_pmc_now)(INTERP, SELF, info);
-
-                info->extra_flags = old_extra_flags;
-            }
-
-            /* place and the prop hash */
-            VISIT_PMC(INTERP, info, PMC_metadata(SELF));
-        }
     }
 
 /*

Modified: branches/pmc_freeze_cleanup/src/pmc_freeze.c
==============================================================================
--- branches/pmc_freeze_cleanup/src/pmc_freeze.c	Fri Jan  1 21:21:38 2010	(r43365)
+++ branches/pmc_freeze_cleanup/src/pmc_freeze.c	Sat Jan  2 02:03:35 2010	(r43366)
@@ -602,15 +602,8 @@
         is_prophash = 1;
         /* FALL THROUGH */
       case enum_PackID_seen:
-        {
-            if (id) /* got a non-NULL PMC */
-                pmc = id_list_get(interp, info, id);
-
-            if (is_prophash) {
-                VISIT_PMC(interp, info, PMC_metadata(pmc));
-                return;
-            }
-        }
+        if (id) /* got a non-NULL PMC */
+            pmc = id_list_get(interp, info, id);
         break;
       case enum_PackID_normal:
         {
@@ -727,6 +720,8 @@
             PARROT_ASSERT(current->vtable);
 
             VTABLE_visit(interp, current, info);
+
+            VISIT_PMC(interp, info, PMC_metadata(current));
         }
         current = NULL;
     }


More information about the parrot-commits mailing list