This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: conservative scanning and infinite streams



> On i586-pc-linux-gnu, cells-allocated is stuck at 67 (bug?) while
> gc-time-taken increase at a constant rate per cycle. On
> sparc-sun-solaris2.6, cells-allocated starts around 30000, increases
> gradually up to 300000, jumps back to 30000 a few times and eventually
> it seems to increase without bound (now at 4500000)

Hmm.  But the overall size of the process remains constant on Linux,
and grows without (apparent) bound on Solaris?

The SPARC ABI does end up leaving a lot of holes on the stack, where
old references might stick around.  I wouldn't be surprised if this
turned out to be a genuine conservative GC problem.

I remember Hans Boehm talking about all the tricks his GC does to
clear the stack whenever possible.

Just for kicks, could you try putting a call to
SCM_FLUSH_REGISTER_WINDOWS at the top of the function SCM_CEVAL in
eval.c?

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]