Dan Sugalski <[EMAIL PROTECTED]> wrote:
> At 9:59 AM +0100 11/19/04, Leopold Toetsch wrote:

>>Its in and named C<returncc> since yesterday "return with current
>>continuation".

> Hrm. The name's not right,

I've proposed ret_cc and returncc, about two weeks ago the first time.
I've asked for names of the opcode. As no answer arrived I just used
that name.

> ... since there's no current continuation
> involved.

Well, "current" in the sense of context, not P1. So the comment is
better: "return with continuation in context" or such.

>>    push_eh handler, label

> Nope. The only thing that push_eh (or whatever we name it) needs is
> the address of the code to jump to if an exception's thrown. The
> exception pushing code should take care of building whatever
> structure's needed to call into it.

Ah, ok. That makes sense.

>>Allowing just one additional object doesn't properly support Python,
>>which has two optional expressions for the C<raise> statement and Python
>>attaches a traceback object to the exception.

> Hrm. Well, the traceback object could just be the interpreter
> structure at the time of the the exception. That'd be cheap enough to
> pass in. I'm fine with adding that as a second PMC parameter.

I don't think that this works. The handler continuation restores the
context, which changes the interpreter context. During unwinding the
control stack we should probably fill a (preconstructed) array-ish
object with pointers to contexts up to the handler conext.

leo

Reply via email to