SSA

Matthew Fluet fluet@CS.Cornell.EDU
Fri, 19 Oct 2001 13:36:22 -0400 (EDT)


> > We could (?) always put the exnStack element in a place relative to the
> > stack, say in the word immediately below stackBottom.  (Although that sort
> > of messes with getting stacks mod 8 aligned.)  The GC_thread struct
> > seems a little overly abstract -- it doesn't seem as though two threads
> > with different exnStacks could point to the same execution stack?
> 
> Yes, I think you're right.  We could flatten the GC_stack data
> structure into the GC_thread data structure.  That would be nice,
> would save a little space, simplify the runtime a little, and enable
> tracing the exception stack.  

I like tracing the exception stack; it seems a little more natural than
the stub continuation label that fakes the liveness of both the cont and
handler.  I think I'll take a crack at this over the weekend.

> I don't see any problem with alignment
> -- with three words before the stack, one just has to ensure the first
> word of the thread is aligned to 4 mod 8.  So I guess we'll need two
> bits for alignment to represent {0, 4, DontCare}.

Yeah, I mentioned the alignment before looking at the GC_stack struct;
Just adjusting the alignment of a thread/stack object to account for the
additional data should work fine.