There is no need to keep this as the GC issues seem to be solved now.
OTOH e.g. hash.c could profit from the current status, because, when string_compare->string_transcode doesn't run GC, various pointers in hash.c wouldn't be invalidated.
If we keep disabling DOD/GC in string_transcode some comments need updating.
leo
--- parrot/string.c Tue Oct 22 11:44:47 2002 +++ parrot-leo/string.c Sat Oct 26 11:24:23 2002 @@ -363,8 +363,6 @@ * encoding. So this seems to least bad compromise. */ } - interpreter->GC_block_level++; - interpreter->DOD_block_level++; if (src->encoding == encoding && src->type == type) { dest = string_copy(interpreter, src); @@ -372,15 +370,11 @@ if (dest_ptr) { *dest_ptr = dest; } - interpreter->GC_block_level--; - interpreter->DOD_block_level--; return dest; } dest = string_make(interpreter, NULL, src->strlen * encoding->max_bytes, encoding, 0, type); - interpreter->GC_block_level--; - interpreter->DOD_block_level--; if (src->type != dest->type) { transcoder1 = chartype_lookup_transcoder(src->type, dest->type);