conts, handlers, and liveness
Matthew Fluet
mfluet@intertrust.com
Wed, 18 Jul 2001 15:10:06 -0700 (PDT)
> Of course, once g has returned then x is no longer live. Thus there is a
> distinction between what's live in the stack frame and what's live at the
> beginning of the cont. That distinction is not currently made by live.fun. I
> would be happy to see it be made, by adding an extra field to the result of
> Live.live called liveBeginCont or something like that. The distinction is
> already potentially there in allocate-registers, and so shouldn't cause any
> other changes.
O.k. I make Live.live return an extra field, liveBeginFrame and now
blocks in Live.live are of the form
frameBlock -> argBlock -> bodyBlock.
AllocateRegisters now returns a contInfo with both liveOffsets and
liveFrameOffsets (derived from liveBeginFrame and liveBeginNoFormals
respectively).