From: Harald Hanche-O. <ha...@ma...> - 2007-09-09 19:29:41
|
[ There seems to be a local SMTP problem so that the first version of this email fell into a black hole. Still trying to figure out what went wrong. My apologies if the list gets it twice after all ... ] In the function sb-vm::report-space-total (file room.lisp), we find the local declaration (declare (fixnum total-objects total-bytes cutoff-point reported-objects reported-bytes)) However, as I discovered when trying out the test code in the "GC bug" thread, at least one of these numbers (total-bytes probably) can be too large to fit in a fixnum. I imagine the point of the declaration is to avoid consing, which might be harmful in a tight memory situation when you run (room) to find out what is happening. But getting thrown willy-nilly into the debugger is surely not much better? Should that declaration just be removed? At least on 32 bit architectures? I don't know how big a fixnum is on 64 bit machines, but perhaps it is big enough that the declaration is still safe there. - Harald |