conts, handlers, and liveness

Matthew Fluet mfluet@intertrust.com
Wed, 18 Jul 2001 15:39:07 -0700 (PDT)


> > AllocateRegisters now returns a contInfo with both liveOffsets and
> > liveFrameOffsets (derived from liveBeginFrame and liveBeginNoFormals
> > respectively).
>
> Isn't the liveBeginNoFormals already available via the jumpInfo (as
> liveNoFormals)?

Yes, I guess it is.  When I was modifying allocate-registers to return
full liveness information, I changed the liveOffsets from an int list to
an Machine.Operand.t list, and also liveBeginNoFormals from a
MachineRegister.t list to a MachineOperand.t list.  The newFrame functions
in machine.fun run over one of these lists and extract stack pointers to
make the mask.

Now that I'm a little more familiar with the backend, I see that I'm
really duplicating information.  We can get by with just the jumpInfo
returning the various liveBegin lists and contInfo and handlerInfo just
having size information.  That seems a little cleaner.