« Return to Thread: Continuation mechanism in RIFE?

Re: Continuation mechanism in RIFE?

by Geert Bevin :: Rate this Message:

Reply to Author | View in Thread

Hi Lui,

> As I understand RIFE supports some form of continuation using pure
> Java, and in the process rife needs to be able to clone the stack. But
> I also understand that java forbids the inspection of the stack by a

Indeed.

> running program. So, how is stack cloning exactly done in rife? What
> exactly does the bytecode manipulator do? Are there any limitations or

For the variable stack, the bytecode manipulation adds the required  
instructions to maintain a parallel stack that mimics the standard  
Java stack. It is this stack that is cloned.

> potential problems regarding effeciency etc? And how extensible is the

It turns out to be very efficient as long as you don't put a huge  
amount of data in your local variable stack. We've used it on large  
production sites without any negative impact.

> approach to other frameworks/languages? Implementing continuation in

It can and work is underway to make this reusable with the RIFE/
Continuations sub-project.

> pure java isn't easy, so maybe there is some research paper that talks
> about the rife approach?

Some has been inspired by what is explained here:
http://www.cs.kuleuven.ac.be/~eddy/BRAKES/brakes.html

> I looked through the rife site but found no mention of this. And I

Indeed, there's no detailed documentation about it available (yet).

> have no clue where to start looking in the rife-continuation source
> code :P Some general hints are greatly appreciated. :)

On a small side-note, RIFE/Continuations as an independent project is  
considered experimental as it's a quick attempt at extracting the  
continuations engine for use inside other frameworks, like for  
example WebWork. RIFE itself hasn't reintegrated the extracted  
continuations source code yet, so the engine inside RIFE is more  
stable for the moment.

Best regards,

Geert

--
Geert Bevin                       Uwyn bvba
"Use what you need"               Avenue de Scailmont 34
http://www.uwyn.com               7170 Manage, Belgium
gbevin[remove] at uwyn dot com    Tel +32 64 84 80 03

PGP Fingerprint : 4E21 6399 CD9E A384 6619  719A C8F4 D40D 309F D6A9
Public PGP key  : available at servers pgp.mit.edu, wwwkeys.pgp.net



 « Return to Thread: Continuation mechanism in RIFE?

LightInTheBox - Buy quality products at wholesale price
 
 
 
Google
rifers.org web