Boost logo

Boost :

From: Jose (jmalv04_at_[hidden])
Date: 2006-09-14 14:34:07


Hi, Giovanni,

I found 2 papers that shed some light on the solution using one-shot
continuations. The key is to detect when the continuation is invoked a
second time and provide a suitable error

Interaction-Safe State for the Web
http://www.cs.brown.edu/~sk/Publications/Papers/Published/mk-int-safe-state-web/

The Influence of Browsers on
Evaluators<http://www-spi.lip6.fr/%7Equeinnec/PDF/webcont.pdf>
http://www-spi.lip6.fr/~queinnec/PDF/webcont.pdf

On 9/14/06, Jose <jmalv04_at_[hidden]> wrote:
>
> On 9/14/06, Giovanni Piero Deretta <gpderetta_at_[hidden]> wrote:
>
> [ .. description on how RIFE implements full continuations in Java .. ]
>
>
> These are a too great limitation for a general purpose library like
> > mine (even RIFE provieds a way to disable full continuations with
> > setCloneContinuation(false)). Also walking the stack to search for
> > object to copy cannot be implemented portably (or even non portably),
> > unless one where to be restricted to never allocate non builtin stack
> > objects and have all heap allocated objects inherit from a common
> > base. This would kill performance, would be a very non iodimatic c++
> > and still be hard to do and very fragile.
> >
> > Theoretically compiler support could make coroutine copying possible
> > and even relatively cheap (no much more than the cost of copying every
> > single local object in scope) . In fact some compilers know at every
> > moment the set of all objects alive in the stack for unwinding
> > purposes.
> >
> > For the time being my library is stuck with non-copyable coroutines.
>
>
> Then I see two interesting and not mutually exclusive paths to follow:
>
> - implement the one shot continuation examples, although the multiple
> web cont. implementations out there seem to do full cont. (at least
> Scheme, Java, Ruby, ..)
>
> - experiment with an implementation for Linux only, and check whether
> performance and
> fragility are major issues (the interpreted versions out there don't seem
> to complain about
> that but I am not sure they are used in high performance cases)
>
> Thank you for helping me understand this complex topic !
>
>
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk