Fred Gilham wrote:
> I don't know if this is relevant, but I was able to run 
> 
> (progn (my-time (parse-programs 1024 1000 10000)) (finish-off))
> 
> with a dynamic-space-size set to 1700.  This is X86, FreeBSD with 1G
> of memory and 2G swap.  I had to change x11-allocate.h so it would let
> me use a dynamic-space-size greater than 1024Mb.
> 
> I notice, btw, that several statistics counters seem to overflow:
> 

I get errors on Sparc.  :-)

Anyway, here is a simple way to get funny results without running Dick 
King's code.

(defvar *x* (make-array 100000000 :element-type 'double-float))
(room)

That's 100 million floats, taking up 800 million bytes.

Several issues here.  In room.lisp, almost everything is declared 
fixnum.  Obviously, that's not right with the big heaps we have now.  I 
replaced them with (unsigned-byte 32).  That fixes many things, but 
another problem is that sap+ is declared to take a fixnum offset.  I 
think that should probably be a (signed-byte 32).

With these fixes, this example produces some output.  However, room is 
very consy, so if you do it a few too many times, you can crash Lisp 
because the heap overflows with the garbage.  :-(

Ray



Reply via email to