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.