SSA

Stephen Weeks MLton@sourcelight.com
Tue, 23 Oct 2001 10:29:25 -0700


> Given a list of continuations (with distinct handlers and sizes reflecting 
> the pairing), how does the frame allocator use this information to actually 
> allocate space for the continuation?

The conts list

		     conts: {handler: Ssa.Label.t option,
			     live: Machine.Operand.t list,
			     size: int} list

is associated with a single label used at possibly many nontail
calls.  Each element corresponds to a distinct stub continuation with
its own size and liveness info.

> What is the relationship (if any) between handler inference and
> frame allocation?

None.  The IL explicitly states the desired handler at each nontail
call as a SSa.Label.t option.  Some other pass is responsible to make
sure the correct handler is instaled, but the register allocator and
liveness don't have to worry about this.