Re: Comparing Pika-syle and JNI-style bear 15 Jan 2004 01:07 UTC

On Wed, 14 Jan 2004, Per Bothner wrote:

>bear wrote:
>> I've been bitten by this while using a genetic algorithm.  I had
>> "random-looking" bit patterns (the genomes) filling almost 2Gbytes of
>> memory space, and the Boehm collector was mistaking almost half of
>> the words for possible pointers.  It eventually reached a tipping
>> point where the values it couldn't free contained enough
>> "pseudopointers" to prevent it from freeing anything else, and
>> crashed.
>That's misidentifying non-pointers as pointer, which is a performance
>issue (which in worst case can cause out-of-memory problems).

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?

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.