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

bacek at svn.parrot.org bacek at svn.parrot.org
Wed Jan 27 12:07:39 UTC 2010


Author: bacek
Date: Wed Jan 27 12:07:37 2010
New Revision: 43625
URL: https://trac.parrot.org/parrot/changeset/43625

Log:
Fix OrderedHash to unbreak Lua.

Modified:
   trunk/src/pmc/orderedhash.pmc

Modified: trunk/src/pmc/orderedhash.pmc
==============================================================================
--- trunk/src/pmc/orderedhash.pmc	Wed Jan 27 09:59:19 2010	(r43624)
+++ trunk/src/pmc/orderedhash.pmc	Wed Jan 27 12:07:37 2010	(r43625)
@@ -332,7 +332,13 @@
 */
 
     VTABLE void set_pmc_keyed_str(STRING *key, PMC *value) {
-        PMC *pkey = box_string(INTERP, key);
+        /* Wallpapering problem with HLL Strings as keys */
+        /* Apparently HLL registry in Parrot uses OrderedHash */
+        /* Now we have chicken and egg problem during freeze/thaw */
+        /* When we try to thaw OrderedHash which stores HLL mapping */
+        /* Reported by François Perrad */
+        PMC *pkey = pmc_new(INTERP, enum_class_String);
+        VTABLE_set_string_native(INTERP, pkey, key);
         VTABLE_set_pmc_keyed(INTERP, SELF, pkey, value);
     }
 


More information about the parrot-commits mailing list