|
|
|
@ -28,13 +28,13 @@ typedef struct _frame { |
|
|
|
PyObject **f_stacktop; |
|
|
|
PyObject *f_trace; /* Trace function */ |
|
|
|
|
|
|
|
/* In a generator, we need to be able to swap between the exception |
|
|
|
state inside the generator and the exception state of the calling |
|
|
|
frame (which shouldn't be impacted when the generator "yields" |
|
|
|
from an except handler). |
|
|
|
These three fields exist exactly for that, and are unused for |
|
|
|
non-generator frames. See the save_exc_state and swap_exc_state |
|
|
|
functions in ceval.c for details of their use. */ |
|
|
|
/* In a generator, we need to be able to swap between the exception |
|
|
|
state inside the generator and the exception state of the calling |
|
|
|
frame (which shouldn't be impacted when the generator "yields" |
|
|
|
from an except handler). |
|
|
|
These three fields exist exactly for that, and are unused for |
|
|
|
non-generator frames. See the save_exc_state and swap_exc_state |
|
|
|
functions in ceval.c for details of their use. */ |
|
|
|
PyObject *f_exc_type, *f_exc_value, *f_exc_traceback; |
|
|
|
/* Borrowed reference to a generator, or NULL */ |
|
|
|
PyObject *f_gen; |
|
|
|
|