[svn:parrot] r39858 - branches/tt761_keys_revamp/src/pmc

bacek at svn.parrot.org bacek at svn.parrot.org
Wed Jul 1 22:38:36 UTC 2009


Author: bacek
Date: Wed Jul  1 22:38:36 2009
New Revision: 39858
URL: https://trac.parrot.org/parrot/changeset/39858

Log:
[pmc] Workaround for premature GCing of kyes in Hash PMC.

Modified:
   branches/tt761_keys_revamp/src/pmc/hash.pmc

Modified: branches/tt761_keys_revamp/src/pmc/hash.pmc
==============================================================================
--- branches/tt761_keys_revamp/src/pmc/hash.pmc	Wed Jul  1 22:38:16 2009	(r39857)
+++ branches/tt761_keys_revamp/src/pmc/hash.pmc	Wed Jul  1 22:38:36 2009	(r39858)
@@ -132,7 +132,11 @@
         /* Currently PMCs are stringified */
         case Hash_key_type_PMC:
         case Hash_key_type_STRING:
+            /* XXX This line spotted some nasty bug in GC when Hash wasn't marked
+            propely and COWed key string was put into GC's free list.
             ret = (void *)Parrot_str_new_COW(interp, key);
+            */
+            ret = (void *)key;
             break;
         default:
             Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNIMPLEMENTED,


More information about the parrot-commits mailing list