explicit arrays and limit checks

Stephen Weeks MLton@sourcelight.com
Sun, 17 Feb 2002 10:26:36 -0800


> With a program:
> val _ = print "Hello World!\n"
> the segfault is occuring because we're trying to allocate an object when
> frontier (or, at least what is in %edi) is greater than gcState.limit.
> This is occuring after allocating a non-pointer array, so the array is
> actually reaching into this area, but we're not initializing it yet.

Hmmm.  One other thing that I thought of is that I changed the
interface to GC_collect -- see the GC_collect macro in ccodegen.h.
There are now two arguments, amount and force, instead of one.  I
don't see any obvious problems in x86-generate-transfers wrt this, but
I thought it was worth mentioning.