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;
}