Hi all,
in GC (in src/main/memory.c), FORWARD_CHILDREN() (called by PROCESS_NODES())
treats STRSXPs just like VECSXPs, i.e. it calls FORWARD_NODE() for all its
children. I claim that this is unnecessarily inefficient since the children of
a STRSXP can legitimately only be (atomic) CHARSXPs and
Hi all,
As part of RunGenCollect() (in src/main/memory.c), some maintenance on the
CHARSXP cache is done, namely unmarked nodes/CHARSXPs are removed from the hash
chains. This requires always touching all CHARSXP in the cache, irrespective of
the number of generations which were just garbage co