mirror of
https://github.com/python/cpython.git
synced 2025-07-17 00:05:20 +00:00
[3.11] GH-99460: Emscripten trampolines on optimized METH_O and METH_NOARGS code paths (gh-99461) (#99514)
Manual backport of GH-99461.
This commit is contained in:
parent
0a208d5e24
commit
a06fb519af
1 changed files with 3 additions and 3 deletions
|
@ -5025,7 +5025,7 @@ handle_eval_breaker:
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
PyObject *arg = TOP();
|
PyObject *arg = TOP();
|
||||||
PyObject *res = cfunc(PyCFunction_GET_SELF(callable), arg);
|
PyObject *res = _PyCFunction_TrampolineCall(cfunc, PyCFunction_GET_SELF(callable), arg);
|
||||||
_Py_LeaveRecursiveCallTstate(tstate);
|
_Py_LeaveRecursiveCallTstate(tstate);
|
||||||
assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL));
|
assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL));
|
||||||
|
|
||||||
|
@ -5226,7 +5226,7 @@ handle_eval_breaker:
|
||||||
if (_Py_EnterRecursiveCallTstate(tstate, " while calling a Python object")) {
|
if (_Py_EnterRecursiveCallTstate(tstate, " while calling a Python object")) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
PyObject *res = cfunc(self, arg);
|
PyObject *res = _PyCFunction_TrampolineCall(cfunc, self, arg);
|
||||||
_Py_LeaveRecursiveCallTstate(tstate);
|
_Py_LeaveRecursiveCallTstate(tstate);
|
||||||
assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL));
|
assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL));
|
||||||
Py_DECREF(self);
|
Py_DECREF(self);
|
||||||
|
@ -5298,7 +5298,7 @@ handle_eval_breaker:
|
||||||
if (_Py_EnterRecursiveCallTstate(tstate, " while calling a Python object")) {
|
if (_Py_EnterRecursiveCallTstate(tstate, " while calling a Python object")) {
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
PyObject *res = cfunc(self, NULL);
|
PyObject *res = _PyCFunction_TrampolineCall(cfunc, self, NULL);
|
||||||
_Py_LeaveRecursiveCallTstate(tstate);
|
_Py_LeaveRecursiveCallTstate(tstate);
|
||||||
assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL));
|
assert((res != NULL) ^ (_PyErr_Occurred(tstate) != NULL));
|
||||||
Py_DECREF(self);
|
Py_DECREF(self);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue