17db96d56Sopenharmony_ci/*[clinic input]
27db96d56Sopenharmony_cipreserve
37db96d56Sopenharmony_ci[clinic start generated code]*/
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ciPyDoc_STRVAR(_opcode_stack_effect__doc__,
67db96d56Sopenharmony_ci"stack_effect($module, opcode, oparg=None, /, *, jump=None)\n"
77db96d56Sopenharmony_ci"--\n"
87db96d56Sopenharmony_ci"\n"
97db96d56Sopenharmony_ci"Compute the stack effect of the opcode.");
107db96d56Sopenharmony_ci
117db96d56Sopenharmony_ci#define _OPCODE_STACK_EFFECT_METHODDEF    \
127db96d56Sopenharmony_ci    {"stack_effect", _PyCFunction_CAST(_opcode_stack_effect), METH_FASTCALL|METH_KEYWORDS, _opcode_stack_effect__doc__},
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_cistatic int
157db96d56Sopenharmony_ci_opcode_stack_effect_impl(PyObject *module, int opcode, PyObject *oparg,
167db96d56Sopenharmony_ci                          PyObject *jump);
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_cistatic PyObject *
197db96d56Sopenharmony_ci_opcode_stack_effect(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames)
207db96d56Sopenharmony_ci{
217db96d56Sopenharmony_ci    PyObject *return_value = NULL;
227db96d56Sopenharmony_ci    static const char * const _keywords[] = {"", "", "jump", NULL};
237db96d56Sopenharmony_ci    static _PyArg_Parser _parser = {NULL, _keywords, "stack_effect", 0};
247db96d56Sopenharmony_ci    PyObject *argsbuf[3];
257db96d56Sopenharmony_ci    Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 1;
267db96d56Sopenharmony_ci    int opcode;
277db96d56Sopenharmony_ci    PyObject *oparg = Py_None;
287db96d56Sopenharmony_ci    PyObject *jump = Py_None;
297db96d56Sopenharmony_ci    int _return_value;
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_ci    args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 1, 2, 0, argsbuf);
327db96d56Sopenharmony_ci    if (!args) {
337db96d56Sopenharmony_ci        goto exit;
347db96d56Sopenharmony_ci    }
357db96d56Sopenharmony_ci    opcode = _PyLong_AsInt(args[0]);
367db96d56Sopenharmony_ci    if (opcode == -1 && PyErr_Occurred()) {
377db96d56Sopenharmony_ci        goto exit;
387db96d56Sopenharmony_ci    }
397db96d56Sopenharmony_ci    if (nargs < 2) {
407db96d56Sopenharmony_ci        goto skip_optional_posonly;
417db96d56Sopenharmony_ci    }
427db96d56Sopenharmony_ci    noptargs--;
437db96d56Sopenharmony_ci    oparg = args[1];
447db96d56Sopenharmony_ciskip_optional_posonly:
457db96d56Sopenharmony_ci    if (!noptargs) {
467db96d56Sopenharmony_ci        goto skip_optional_kwonly;
477db96d56Sopenharmony_ci    }
487db96d56Sopenharmony_ci    jump = args[2];
497db96d56Sopenharmony_ciskip_optional_kwonly:
507db96d56Sopenharmony_ci    _return_value = _opcode_stack_effect_impl(module, opcode, oparg, jump);
517db96d56Sopenharmony_ci    if ((_return_value == -1) && PyErr_Occurred()) {
527db96d56Sopenharmony_ci        goto exit;
537db96d56Sopenharmony_ci    }
547db96d56Sopenharmony_ci    return_value = PyLong_FromLong((long)_return_value);
557db96d56Sopenharmony_ci
567db96d56Sopenharmony_ciexit:
577db96d56Sopenharmony_ci    return return_value;
587db96d56Sopenharmony_ci}
597db96d56Sopenharmony_ci
607db96d56Sopenharmony_ciPyDoc_STRVAR(_opcode_get_specialization_stats__doc__,
617db96d56Sopenharmony_ci"get_specialization_stats($module, /)\n"
627db96d56Sopenharmony_ci"--\n"
637db96d56Sopenharmony_ci"\n"
647db96d56Sopenharmony_ci"Return the specialization stats");
657db96d56Sopenharmony_ci
667db96d56Sopenharmony_ci#define _OPCODE_GET_SPECIALIZATION_STATS_METHODDEF    \
677db96d56Sopenharmony_ci    {"get_specialization_stats", (PyCFunction)_opcode_get_specialization_stats, METH_NOARGS, _opcode_get_specialization_stats__doc__},
687db96d56Sopenharmony_ci
697db96d56Sopenharmony_cistatic PyObject *
707db96d56Sopenharmony_ci_opcode_get_specialization_stats_impl(PyObject *module);
717db96d56Sopenharmony_ci
727db96d56Sopenharmony_cistatic PyObject *
737db96d56Sopenharmony_ci_opcode_get_specialization_stats(PyObject *module, PyObject *Py_UNUSED(ignored))
747db96d56Sopenharmony_ci{
757db96d56Sopenharmony_ci    return _opcode_get_specialization_stats_impl(module);
767db96d56Sopenharmony_ci}
777db96d56Sopenharmony_ci/*[clinic end generated code: output=b904260bf022f953 input=a9049054013a1b77]*/
78