nontail Bug continuations
   
    Matthew Fluet
     
    Matthew Fluet <fluet@CS.Cornell.EDU>
       
    Mon, 12 Nov 2001 15:23:34 -0500 (EST)
    
    
  
> Here are the 9 cases that I see.
Cont	Handler		note
------	-------		----------------------------------------------------
None	None		tail call to nonreturning, nonraising function
None	Caller		tail call to nonreturning function that may raise
None	Some h		backend generates nontail stub
Caller	None		illegal, because the callee must restore the exnStack
Caller	Caller		tail call with no handler
Caller	Some h		backend generates nontail stub
Some l	None		nontail call to nonraising function
Some l	Caller		nontail call with no handler
Some l	Some h		nontail call with handler
Why is Caller/None illegal?  
> As an aside, I was also thinking we should consider adding in "may
> raise" and "may return" as part of SSA function types so that the cont
> and handlers can be type checked.  
No objections;  Probably easiest would be to make the returns field in
Function a Type.t vector option.