[Gc] Uniq() test in gctest

Peter Colson pcolson at connexus.net.au
Wed Nov 10 20:32:03 PST 2004


On 11/11/2004, at 11:01 AM, Boehm, Hans wrote:

> This is a serious problem that needs to be fixed.
>
> It means that either GC_generic_push_regs itself is not saving the
> effected registers on the stack (e.g. because setjmp doesn't save
> them), or it means that GC_push_current_stack is not pushing the
> result on the mark stack.  Certainly GC_stackbottom could also be an 
> issue,
> though that's unlikely if this is the only failure.  Does it run
> much further if you comment out this test?  Does GC_stackbottom look
> reasonable relative the stack pointer?

I did notice something else - on a Win32 system (since the 400 is 
giving such trouble) I tried running the uniq() test by itself, first 
using the Win32 GC_push_regs, then GC_generic_push_regs, and finally 
with GC_generic_push_regs simply doing a return and nothing else. In 
each case the uniq() test succeeded, i.e., all pointers were unique.

What does this say about the relationship of the push_regs routines to 
what uniq() is actually testing?


Regards,
Peter Colson.



More information about the Gc mailing list