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