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