Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
gh-117139: Set up the tagged evaluation stack#117186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Changes from1 commit
7ca9b1109dbeca84142a525bf135d484628744357e4cc9fb88423e756b9ad920bb6def8fe65c18412d46973c41c4428279a4917ae3f7f25aadfbd43868b78e6024a4bb1a614be4fa6da7bead7feb9e9a559b237ab566e39a036f5702408cc6b1bcf3340f5e17471fe38be49a55e2018cadff67fc09ddee515536e7d7ef294be812f2f972c572ff61b2e9b411b5e4c83175700cb75c171ed3a3e66e7a9174675ce8629a3034170db1038cb8a65da5a06a9e1bcbc2a6ec3bb3de28afd8b687fda3e3269f20693b64b03af3a4aef8e3c87112bba34cec85b4ddb6019bc3db38e507933b5b411af18d1bbf021bd6889bbafd342752a49bc6be5aad59145bFile filter
Filter by extension
Conversations
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
- Loading branch information
Uh oh!
There was an error while loading.Please reload this page.
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1059,7 +1059,7 @@ PyObject_VectorcallTaggedSlow(PyObject *callable, | ||
| PyErr_NoMemory(); | ||
| return NULL; | ||
| } | ||
| _Py_untag_stack_owned(args + 1, tagged, nargs); | ||
| PyObject *res = PyObject_Vectorcall(callable, args + 1, nargsf, kwnames); | ||
| PyMem_Free(args); | ||
| return res; | ||
| @@ -1069,7 +1069,7 @@ PyObject * | ||
| PyObject_Vectorcall_Tagged(PyObject *callable, | ||
| const _PyStackRef *tagged, size_t nargsf, PyObject *kwnames) | ||
| { | ||
| #if defined(Py_GIL_DISABLED) || defined(Py_TAG_TEST) | ||
| size_t nargs = nargsf & ~PY_VECTORCALL_ARGUMENTS_OFFSET; | ||
| if (kwnames != NULL && PyTuple_CheckExact(kwnames)) { | ||
Fidget-Spinner marked this conversation as resolved. OutdatedShow resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. | ||
| nargs += PyTuple_GET_SIZE(kwnames); | ||
| @@ -1079,7 +1079,7 @@ PyObject_Vectorcall_Tagged(PyObject *callable, | ||
| return PyObject_VectorcallTaggedSlow(callable, tagged, nargsf, kwnames); | ||
| } | ||
| // + 1 to allow args[-1] to be used by PY_VECTORCALL_ARGUMENTS_OFFSET | ||
| _Py_untag_stack_owned(args + 1, tagged, nargs); | ||
| return PyObject_Vectorcall(callable, args + 1, nargsf, kwnames); | ||
| #else | ||
| (void)(PyObject_VectorcallTaggedSlow); | ||
| @@ -1098,7 +1098,7 @@ PyObject_TypeVectorcall_TaggedSlow(PyTypeObject *callable, | ||
| return NULL; | ||
| } | ||
| // + 1 to allow args[-1] to be used by PY_VECTORCALL_ARGUMENTS_OFFSET | ||
| _Py_untag_stack_owned(args + 1, tagged, nargs); | ||
| PyObject *res = callable->tp_vectorcall((PyObject *)callable, | ||
| args + 1, nargsf, kwnames); | ||
| PyMem_Free(args); | ||
| @@ -1109,14 +1109,14 @@ PyObject * | ||
| PyObject_TypeVectorcall_Tagged(PyTypeObject *callable, | ||
| const _PyStackRef *tagged, size_t nargsf, PyObject *kwnames) | ||
| { | ||
| #if defined(Py_GIL_DISABLED) || defined(Py_TAG_TEST) | ||
| size_t nargs = nargsf & ~PY_VECTORCALL_ARGUMENTS_OFFSET; | ||
| PyObject *args[MAX_UNTAG_SCRATCH]; | ||
| if (nargs >= MAX_UNTAG_SCRATCH) { | ||
| return PyObject_TypeVectorcall_TaggedSlow(callable, tagged, nargsf, kwnames); | ||
| } | ||
| // + 1 to allow args[-1] to be used by PY_VECTORCALL_ARGUMENTS_OFFSET | ||
| _Py_untag_stack_owned(args + 1, tagged, nargs); | ||
| return callable->tp_vectorcall((PyObject *)callable, args + 1, nargsf, kwnames); | ||
| #else | ||
| (void)PyObject_TypeVectorcall_TaggedSlow; | ||
| @@ -1135,7 +1135,7 @@ PyObject_PyCFunctionFastCall_TaggedSlow(PyCFunctionFast cfunc, | ||
| PyErr_NoMemory(); | ||
| return NULL; | ||
| } | ||
| _Py_untag_stack_owned(args + 1, tagged, nargs); | ||
| PyObject *res = cfunc(self, args + 1, nargsf); | ||
| PyMem_Free(args); | ||
| return res; | ||
| @@ -1146,13 +1146,13 @@ PyObject_PyCFunctionFastCall_Tagged(PyCFunctionFast cfunc, | ||
| PyObject *self, | ||
| const _PyStackRef *tagged, Py_ssize_t nargsf) | ||
| { | ||
| #if defined(Py_GIL_DISABLED) || defined(Py_TAG_TEST) | ||
| size_t nargs = nargsf & ~PY_VECTORCALL_ARGUMENTS_OFFSET; | ||
| PyObject *args[MAX_UNTAG_SCRATCH]; | ||
| if (nargs >= MAX_UNTAG_SCRATCH) { | ||
| return PyObject_PyCFunctionFastCall_TaggedSlow(cfunc, self, tagged, nargsf); | ||
| } | ||
| _Py_untag_stack_owned(args + 1, tagged, nargs); | ||
| return cfunc(self, args + 1, nargsf); | ||
| #else | ||
| (void)PyObject_PyCFunctionFastCall_TaggedSlow; | ||
| @@ -1172,7 +1172,7 @@ PyObject_PyCFunctionFastWithKeywordsCall_TaggedSlow(PyCFunctionFastWithKeywords | ||
| PyErr_NoMemory(); | ||
| return NULL; | ||
| } | ||
| _Py_untag_stack_owned(args + 1, tagged, nargs); | ||
| PyObject *res = cfunc(self, args + 1, nargsf, kwds); | ||
| PyMem_Free(args); | ||
| return res; | ||
| @@ -1184,15 +1184,15 @@ PyObject_PyCFunctionFastWithKeywordsCall_Tagged(PyCFunctionFastWithKeywords cfun | ||
| const _PyStackRef *tagged, Py_ssize_t nargsf, | ||
| PyObject *kwds) | ||
| { | ||
| #if defined(Py_GIL_DISABLED) || defined(Py_TAG_TEST) | ||
| size_t nargs = nargsf & ~PY_VECTORCALL_ARGUMENTS_OFFSET; | ||
| PyObject *args[MAX_UNTAG_SCRATCH]; | ||
| if (nargs >= MAX_UNTAG_SCRATCH) { | ||
| return PyObject_PyCFunctionFastWithKeywordsCall_TaggedSlow( | ||
| cfunc, self, tagged, nargsf, kwds | ||
| ); | ||
| } | ||
| _Py_untag_stack_owned(args + 1, tagged, nargs); | ||
| return cfunc(self, args + 1, nargsf, kwds); | ||
| #else | ||
| (void)PyObject_PyCFunctionFastWithKeywordsCall_TaggedSlow; | ||
Some generated files are not rendered by default. Learn more abouthow customized files appear on GitHub.
Uh oh!
There was an error while loading.Please reload this page.
Some generated files are not rendered by default. Learn more abouthow customized files appear on GitHub.
Uh oh!
There was an error while loading.Please reload this page.