This page is part of the web mail archives of SRFI 50 from before July 7th, 2015. The new archives for SRFI 50 contain all messages, not just those from before July 7th, 2015.
> From: bear <bear@xxxxxxxxx> > You were referring, then, to correctness issues, where the C compiler > makes some optimization (probably an optimization involving pointer > arithmetic or pointer bit-operations) and as a result the conservative > collector erroneously frees live data that the program is using it to > refer to? Simple liveness analysis will do the trick. > I'd think that schemes might be particularly vulnerable to this since > a lot of implementations use "flag bits" in their pointers to identify > representations, types, etc. But I haven't heard of a scheme that has > such a problem being released. At least in the case of SCM and its children, that's because the conservative part of the conservative GC takes tag bits into account when deciding "is that (maybe) a pointer?". It would take really outrageous optimizations to trip that up. Hmm. Speaking of outrageous optimizations .... I wonder if variations on the "xor-doubly-linked-list" trick could be used to save registers if applied as a C optimization? :-) -t