x86 update

Stephen Weeks MLton@sourcelight.com
Tue, 17 Oct 2000 12:35:22 -0700 (PDT)


> The other question I wanted to ask was whether or not there have been any
> important changes to the GC since 20001004?  I was going to add Suresh's
> suggestion to put some frameLayout information into the code-stream.  This
> would require changes to gc.c, gc.h, c-codegen.fun and x86-codegen.fun.

There have been no runtime changes since 20001004.

> My current idea is to simply put an integer before each label which
> corresponds to the index into the frameLayouts array.  That will incur one
> extra level of indirection than the C-backend, but it should be better
> than the hashtable lookup that's currently being used.  I could avoid that
> level of indirection by putting the framesize and a pointer to the
> frameOffsets array before the label, but that would mean either
> duplicating data in the frameLayouts array or modifying the invariant
> function in gc.c to not walk through the frameLayouts array.  I'm strongly
> leaning towards the first option, because it means minor changes to
> gc.{c,h} (basically, removing the hashing and adding in the indirection
> lookup).  Also, in order to put the addresses of the frameOffsets in the
> assembly files, we would need to extern all of the frameOffsets; not
> really a problem, but it would add more to the namespace. 

I'm happy with option 1.