Author: chromatic
Date: Thu Jun  7 01:04:35 2007
New Revision: 18855

Modified:
   trunk/src/headers.c

Log:
[GC] Mark fresh Strings as live to fix an assertion when hashing strings.

This makes another Perl 6 test pass.

Modified: trunk/src/headers.c
==============================================================================
--- trunk/src/headers.c (original)
+++ trunk/src/headers.c Thu Jun  7 01:04:35 2007
@@ -345,11 +345,16 @@
 STRING *
 new_string_header(Interp *interp, UINTVAL flags)
 {
-    STRING * const string = (STRING *)get_free_buffer(interp, (flags & 
PObj_constant_FLAG)
+    STRING * const string = (STRING *)get_free_buffer(interp,
+        (flags & PObj_constant_FLAG)
             ? interp->arena_base->constant_string_header_pool
             : interp->arena_base->string_header_pool);
-    PObj_get_FLAGS(string) |= flags | PObj_is_string_FLAG|PObj_is_COWable_FLAG;
-    string->strstart = NULL;
+
+    PObj_get_FLAGS(string) |=
+        flags | PObj_is_string_FLAG | PObj_is_COWable_FLAG | PObj_live_FLAG;
+
+    string->strstart        = NULL;
+
     return string;
 }
 

Reply via email to