[Stackless] Stackless for Python 2.5b2 / help required
Richard Tew
richard.m.tew at gmail.com
Fri Aug 4 23:00:50 CEST 2006
On 8/4/06, Jeff Senn <senn at maya.com> wrote:
> So I think this patch (an alternative to yours) also fixes the problem,
> but in a way that is *much* easier to understand and more consistent with the
> original intent:
>
>
> if (throwflag) { /* support for generator.throw() */
> why = WHY_EXCEPTION;
> +#ifdef STACKLESS
> + if(f->f_execute == PyEval_EvalFrame_noval) {
> + f->f_execute = PyEval_EvalFrame_value;
> + }
> +#endif
> goto on_error;
> }
If stackless_call exits the current frame knowing that
it needs the return value of the function to be put on the stack
but leaving _noval in place, then I think that it is doing
something wrong intentionally.
I don't know that the general problem of frames
getting executed with incorrect f_execute values can
be correctly identified at the start of the function.
Have you run the Python regression tests and Stackless
unit tests with your fix in place?
Richard.
_______________________________________________
Stackless mailing list
Stackless at stackless.com
http://www.stackless.com/mailman/listinfo/stackless
More information about the Stackless
mailing list