At 2:43 PM +0200 6/28/03, Leopold Toetsch wrote:
In the meantime interpreter->warns has moved to the context structure and gets now restored for CPS subroutine calls.

But there is a slight problem (as well as with e.g. pad_stacks)
When we have:

  warningson 1
  newsub .Sub, .Continuation, _func, _ret
  ...
  invoke

and _func turns warnings off, the warns are restored fine.

When C<warningson> is after C<newsub>, the continuation has the old state of warns. So we should update the continuation context at C<invoke> time.

Here are some possibilities to achieve this:
- invokecc (this is slow)
- a new opcode e.g. C<updatecc> (update continuation ctx)
- toss invokecc's current functionality and use this opcode to update the context and call the sub.

I like option 2. I'd also like to be able to manipulate the stacks in a context, pushing things on them, changing values on them, and generally messing about with the things, so I'm all for it.
--
Dan


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

Reply via email to