On Tue, Jan 31, 2006 at 02:01:42PM +0100, Leopold Toetsch wrote:
> Bob Rogers wrote:
> >   From: "Leopold Toetsch via RT" <[EMAIL PROTECTED]>
> 
> >   Yep. At least as long we don't have better support for creating
> >   limited continuations that are able to return some results.
> >
> >I'm afraid I don't follow.  What would you consider better?
> 
> Limiting the callframe range, where the continuation can go. Currently 
> creating a continuation is rather expensive, as all RetContinuations up 
> the call chain are converted into full continuations. This is necessary 
> because there is no further information about the usage of the 
> continuation. It could be passed to 'main' and then 'jump' back. Thus 
> all the intermediate frames have to be kept alive, because normal 
> function return goes through these frames.

Could this be done lazily? Presumably the ret continuations only need to be
converted to full continuations just before they're returned through, or
when any (other) continuation is invoked, for as long as the newly created
continuation exists.

I've no idea what the extra book-keeping overhead of this would be, and
whether the savings would be big enough to pay for that overhead.

Nicholas Clark

Reply via email to