At 6:51 PM +0100 11/2/04, Leopold Toetsch wrote:
* The stack frame caching is back, hopefully now implemented correctly:
  1) when a return continuation is invoked the stack frame is recycled
  2) when a continuation is created, all the return continuations up the
    call chain are converted to real continuations by changing the
    vtable. This prevents 1) from happening.
  3) cloning a return continuation yields a true continuation

* When you need the return continuation of the current call (and reuse it later) use this sequence:

  .include "interpinfo.pasm"
   $P1 = interpinfo .INTERPINFO_CURRENT_CONT
   $P1 = clone $P1

I'm still inclined to make this sequence an opcode, though. The cloning is still necessary, as the return continuation is returned.

Hrm. I think the returned continuation should be usable without cloning. If we need to clone it it should be part of the continuation fetching.
--
Dan


--------------------------------------it's like this-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to