summaryrefslogtreecommitdiffstats
path: root/Python/generated_cases.c.h
diff options
context:
space:
mode:
Diffstat (limited to 'Python/generated_cases.c.h')
-rw-r--r--Python/generated_cases.c.h28
1 files changed, 25 insertions, 3 deletions
diff --git a/Python/generated_cases.c.h b/Python/generated_cases.c.h
index ffdad70..38ea63d 100644
--- a/Python/generated_cases.c.h
+++ b/Python/generated_cases.c.h
@@ -8703,14 +8703,36 @@
tstate->c_recursion_remaining += PY_EVAL_C_STACK_UNITS;
return NULL;
}
- goto resume_with_error;
+ next_instr = frame->instr_ptr;
+ stack_pointer = _PyFrame_GetStackPointer(frame);
+ goto error;
}
- resume_with_error:
+ start_frame:
{
+ if (_Py_EnterRecursivePy(tstate)) {
+ goto exit_unwind;
+ }
next_instr = frame->instr_ptr;
stack_pointer = _PyFrame_GetStackPointer(frame);
- goto error;
+ #ifdef LLTRACE
+ {
+ int lltrace = maybe_lltrace_resume_frame(frame, GLOBALS());
+ frame->lltrace = lltrace;
+ if (lltrace < 0) {
+ goto exit_unwind;
+ }
+ }
+ #endif
+
+ #ifdef Py_DEBUG
+ /* _PyEval_EvalFrameDefault() must not be called with an exception set,
+ because it can clear it (directly or indirectly) and so the
+ caller loses its exception */
+ assert(!_PyErr_Occurred(tstate));
+ #endif
+
+ DISPATCH();
}
/* END LABELS */