17db96d56Sopenharmony_ci/*[clinic input] 27db96d56Sopenharmony_cipreserve 37db96d56Sopenharmony_ci[clinic start generated code]*/ 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciPyDoc_STRVAR(gc_enable__doc__, 67db96d56Sopenharmony_ci"enable($module, /)\n" 77db96d56Sopenharmony_ci"--\n" 87db96d56Sopenharmony_ci"\n" 97db96d56Sopenharmony_ci"Enable automatic garbage collection."); 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci#define GC_ENABLE_METHODDEF \ 127db96d56Sopenharmony_ci {"enable", (PyCFunction)gc_enable, METH_NOARGS, gc_enable__doc__}, 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_cistatic PyObject * 157db96d56Sopenharmony_cigc_enable_impl(PyObject *module); 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_cistatic PyObject * 187db96d56Sopenharmony_cigc_enable(PyObject *module, PyObject *Py_UNUSED(ignored)) 197db96d56Sopenharmony_ci{ 207db96d56Sopenharmony_ci return gc_enable_impl(module); 217db96d56Sopenharmony_ci} 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ciPyDoc_STRVAR(gc_disable__doc__, 247db96d56Sopenharmony_ci"disable($module, /)\n" 257db96d56Sopenharmony_ci"--\n" 267db96d56Sopenharmony_ci"\n" 277db96d56Sopenharmony_ci"Disable automatic garbage collection."); 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ci#define GC_DISABLE_METHODDEF \ 307db96d56Sopenharmony_ci {"disable", (PyCFunction)gc_disable, METH_NOARGS, gc_disable__doc__}, 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_cistatic PyObject * 337db96d56Sopenharmony_cigc_disable_impl(PyObject *module); 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_cistatic PyObject * 367db96d56Sopenharmony_cigc_disable(PyObject *module, PyObject *Py_UNUSED(ignored)) 377db96d56Sopenharmony_ci{ 387db96d56Sopenharmony_ci return gc_disable_impl(module); 397db96d56Sopenharmony_ci} 407db96d56Sopenharmony_ci 417db96d56Sopenharmony_ciPyDoc_STRVAR(gc_isenabled__doc__, 427db96d56Sopenharmony_ci"isenabled($module, /)\n" 437db96d56Sopenharmony_ci"--\n" 447db96d56Sopenharmony_ci"\n" 457db96d56Sopenharmony_ci"Returns true if automatic garbage collection is enabled."); 467db96d56Sopenharmony_ci 477db96d56Sopenharmony_ci#define GC_ISENABLED_METHODDEF \ 487db96d56Sopenharmony_ci {"isenabled", (PyCFunction)gc_isenabled, METH_NOARGS, gc_isenabled__doc__}, 497db96d56Sopenharmony_ci 507db96d56Sopenharmony_cistatic int 517db96d56Sopenharmony_cigc_isenabled_impl(PyObject *module); 527db96d56Sopenharmony_ci 537db96d56Sopenharmony_cistatic PyObject * 547db96d56Sopenharmony_cigc_isenabled(PyObject *module, PyObject *Py_UNUSED(ignored)) 557db96d56Sopenharmony_ci{ 567db96d56Sopenharmony_ci PyObject *return_value = NULL; 577db96d56Sopenharmony_ci int _return_value; 587db96d56Sopenharmony_ci 597db96d56Sopenharmony_ci _return_value = gc_isenabled_impl(module); 607db96d56Sopenharmony_ci if ((_return_value == -1) && PyErr_Occurred()) { 617db96d56Sopenharmony_ci goto exit; 627db96d56Sopenharmony_ci } 637db96d56Sopenharmony_ci return_value = PyBool_FromLong((long)_return_value); 647db96d56Sopenharmony_ci 657db96d56Sopenharmony_ciexit: 667db96d56Sopenharmony_ci return return_value; 677db96d56Sopenharmony_ci} 687db96d56Sopenharmony_ci 697db96d56Sopenharmony_ciPyDoc_STRVAR(gc_collect__doc__, 707db96d56Sopenharmony_ci"collect($module, /, generation=2)\n" 717db96d56Sopenharmony_ci"--\n" 727db96d56Sopenharmony_ci"\n" 737db96d56Sopenharmony_ci"Run the garbage collector.\n" 747db96d56Sopenharmony_ci"\n" 757db96d56Sopenharmony_ci"With no arguments, run a full collection. The optional argument\n" 767db96d56Sopenharmony_ci"may be an integer specifying which generation to collect. A ValueError\n" 777db96d56Sopenharmony_ci"is raised if the generation number is invalid.\n" 787db96d56Sopenharmony_ci"\n" 797db96d56Sopenharmony_ci"The number of unreachable objects is returned."); 807db96d56Sopenharmony_ci 817db96d56Sopenharmony_ci#define GC_COLLECT_METHODDEF \ 827db96d56Sopenharmony_ci {"collect", _PyCFunction_CAST(gc_collect), METH_FASTCALL|METH_KEYWORDS, gc_collect__doc__}, 837db96d56Sopenharmony_ci 847db96d56Sopenharmony_cistatic Py_ssize_t 857db96d56Sopenharmony_cigc_collect_impl(PyObject *module, int generation); 867db96d56Sopenharmony_ci 877db96d56Sopenharmony_cistatic PyObject * 887db96d56Sopenharmony_cigc_collect(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 897db96d56Sopenharmony_ci{ 907db96d56Sopenharmony_ci PyObject *return_value = NULL; 917db96d56Sopenharmony_ci static const char * const _keywords[] = {"generation", NULL}; 927db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "collect", 0}; 937db96d56Sopenharmony_ci PyObject *argsbuf[1]; 947db96d56Sopenharmony_ci Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 0; 957db96d56Sopenharmony_ci int generation = NUM_GENERATIONS - 1; 967db96d56Sopenharmony_ci Py_ssize_t _return_value; 977db96d56Sopenharmony_ci 987db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 0, 1, 0, argsbuf); 997db96d56Sopenharmony_ci if (!args) { 1007db96d56Sopenharmony_ci goto exit; 1017db96d56Sopenharmony_ci } 1027db96d56Sopenharmony_ci if (!noptargs) { 1037db96d56Sopenharmony_ci goto skip_optional_pos; 1047db96d56Sopenharmony_ci } 1057db96d56Sopenharmony_ci generation = _PyLong_AsInt(args[0]); 1067db96d56Sopenharmony_ci if (generation == -1 && PyErr_Occurred()) { 1077db96d56Sopenharmony_ci goto exit; 1087db96d56Sopenharmony_ci } 1097db96d56Sopenharmony_ciskip_optional_pos: 1107db96d56Sopenharmony_ci _return_value = gc_collect_impl(module, generation); 1117db96d56Sopenharmony_ci if ((_return_value == -1) && PyErr_Occurred()) { 1127db96d56Sopenharmony_ci goto exit; 1137db96d56Sopenharmony_ci } 1147db96d56Sopenharmony_ci return_value = PyLong_FromSsize_t(_return_value); 1157db96d56Sopenharmony_ci 1167db96d56Sopenharmony_ciexit: 1177db96d56Sopenharmony_ci return return_value; 1187db96d56Sopenharmony_ci} 1197db96d56Sopenharmony_ci 1207db96d56Sopenharmony_ciPyDoc_STRVAR(gc_set_debug__doc__, 1217db96d56Sopenharmony_ci"set_debug($module, flags, /)\n" 1227db96d56Sopenharmony_ci"--\n" 1237db96d56Sopenharmony_ci"\n" 1247db96d56Sopenharmony_ci"Set the garbage collection debugging flags.\n" 1257db96d56Sopenharmony_ci"\n" 1267db96d56Sopenharmony_ci" flags\n" 1277db96d56Sopenharmony_ci" An integer that can have the following bits turned on:\n" 1287db96d56Sopenharmony_ci" DEBUG_STATS - Print statistics during collection.\n" 1297db96d56Sopenharmony_ci" DEBUG_COLLECTABLE - Print collectable objects found.\n" 1307db96d56Sopenharmony_ci" DEBUG_UNCOLLECTABLE - Print unreachable but uncollectable objects\n" 1317db96d56Sopenharmony_ci" found.\n" 1327db96d56Sopenharmony_ci" DEBUG_SAVEALL - Save objects to gc.garbage rather than freeing them.\n" 1337db96d56Sopenharmony_ci" DEBUG_LEAK - Debug leaking programs (everything but STATS).\n" 1347db96d56Sopenharmony_ci"\n" 1357db96d56Sopenharmony_ci"Debugging information is written to sys.stderr."); 1367db96d56Sopenharmony_ci 1377db96d56Sopenharmony_ci#define GC_SET_DEBUG_METHODDEF \ 1387db96d56Sopenharmony_ci {"set_debug", (PyCFunction)gc_set_debug, METH_O, gc_set_debug__doc__}, 1397db96d56Sopenharmony_ci 1407db96d56Sopenharmony_cistatic PyObject * 1417db96d56Sopenharmony_cigc_set_debug_impl(PyObject *module, int flags); 1427db96d56Sopenharmony_ci 1437db96d56Sopenharmony_cistatic PyObject * 1447db96d56Sopenharmony_cigc_set_debug(PyObject *module, PyObject *arg) 1457db96d56Sopenharmony_ci{ 1467db96d56Sopenharmony_ci PyObject *return_value = NULL; 1477db96d56Sopenharmony_ci int flags; 1487db96d56Sopenharmony_ci 1497db96d56Sopenharmony_ci flags = _PyLong_AsInt(arg); 1507db96d56Sopenharmony_ci if (flags == -1 && PyErr_Occurred()) { 1517db96d56Sopenharmony_ci goto exit; 1527db96d56Sopenharmony_ci } 1537db96d56Sopenharmony_ci return_value = gc_set_debug_impl(module, flags); 1547db96d56Sopenharmony_ci 1557db96d56Sopenharmony_ciexit: 1567db96d56Sopenharmony_ci return return_value; 1577db96d56Sopenharmony_ci} 1587db96d56Sopenharmony_ci 1597db96d56Sopenharmony_ciPyDoc_STRVAR(gc_get_debug__doc__, 1607db96d56Sopenharmony_ci"get_debug($module, /)\n" 1617db96d56Sopenharmony_ci"--\n" 1627db96d56Sopenharmony_ci"\n" 1637db96d56Sopenharmony_ci"Get the garbage collection debugging flags."); 1647db96d56Sopenharmony_ci 1657db96d56Sopenharmony_ci#define GC_GET_DEBUG_METHODDEF \ 1667db96d56Sopenharmony_ci {"get_debug", (PyCFunction)gc_get_debug, METH_NOARGS, gc_get_debug__doc__}, 1677db96d56Sopenharmony_ci 1687db96d56Sopenharmony_cistatic int 1697db96d56Sopenharmony_cigc_get_debug_impl(PyObject *module); 1707db96d56Sopenharmony_ci 1717db96d56Sopenharmony_cistatic PyObject * 1727db96d56Sopenharmony_cigc_get_debug(PyObject *module, PyObject *Py_UNUSED(ignored)) 1737db96d56Sopenharmony_ci{ 1747db96d56Sopenharmony_ci PyObject *return_value = NULL; 1757db96d56Sopenharmony_ci int _return_value; 1767db96d56Sopenharmony_ci 1777db96d56Sopenharmony_ci _return_value = gc_get_debug_impl(module); 1787db96d56Sopenharmony_ci if ((_return_value == -1) && PyErr_Occurred()) { 1797db96d56Sopenharmony_ci goto exit; 1807db96d56Sopenharmony_ci } 1817db96d56Sopenharmony_ci return_value = PyLong_FromLong((long)_return_value); 1827db96d56Sopenharmony_ci 1837db96d56Sopenharmony_ciexit: 1847db96d56Sopenharmony_ci return return_value; 1857db96d56Sopenharmony_ci} 1867db96d56Sopenharmony_ci 1877db96d56Sopenharmony_ciPyDoc_STRVAR(gc_get_threshold__doc__, 1887db96d56Sopenharmony_ci"get_threshold($module, /)\n" 1897db96d56Sopenharmony_ci"--\n" 1907db96d56Sopenharmony_ci"\n" 1917db96d56Sopenharmony_ci"Return the current collection thresholds."); 1927db96d56Sopenharmony_ci 1937db96d56Sopenharmony_ci#define GC_GET_THRESHOLD_METHODDEF \ 1947db96d56Sopenharmony_ci {"get_threshold", (PyCFunction)gc_get_threshold, METH_NOARGS, gc_get_threshold__doc__}, 1957db96d56Sopenharmony_ci 1967db96d56Sopenharmony_cistatic PyObject * 1977db96d56Sopenharmony_cigc_get_threshold_impl(PyObject *module); 1987db96d56Sopenharmony_ci 1997db96d56Sopenharmony_cistatic PyObject * 2007db96d56Sopenharmony_cigc_get_threshold(PyObject *module, PyObject *Py_UNUSED(ignored)) 2017db96d56Sopenharmony_ci{ 2027db96d56Sopenharmony_ci return gc_get_threshold_impl(module); 2037db96d56Sopenharmony_ci} 2047db96d56Sopenharmony_ci 2057db96d56Sopenharmony_ciPyDoc_STRVAR(gc_get_count__doc__, 2067db96d56Sopenharmony_ci"get_count($module, /)\n" 2077db96d56Sopenharmony_ci"--\n" 2087db96d56Sopenharmony_ci"\n" 2097db96d56Sopenharmony_ci"Return a three-tuple of the current collection counts."); 2107db96d56Sopenharmony_ci 2117db96d56Sopenharmony_ci#define GC_GET_COUNT_METHODDEF \ 2127db96d56Sopenharmony_ci {"get_count", (PyCFunction)gc_get_count, METH_NOARGS, gc_get_count__doc__}, 2137db96d56Sopenharmony_ci 2147db96d56Sopenharmony_cistatic PyObject * 2157db96d56Sopenharmony_cigc_get_count_impl(PyObject *module); 2167db96d56Sopenharmony_ci 2177db96d56Sopenharmony_cistatic PyObject * 2187db96d56Sopenharmony_cigc_get_count(PyObject *module, PyObject *Py_UNUSED(ignored)) 2197db96d56Sopenharmony_ci{ 2207db96d56Sopenharmony_ci return gc_get_count_impl(module); 2217db96d56Sopenharmony_ci} 2227db96d56Sopenharmony_ci 2237db96d56Sopenharmony_ciPyDoc_STRVAR(gc_get_objects__doc__, 2247db96d56Sopenharmony_ci"get_objects($module, /, generation=None)\n" 2257db96d56Sopenharmony_ci"--\n" 2267db96d56Sopenharmony_ci"\n" 2277db96d56Sopenharmony_ci"Return a list of objects tracked by the collector (excluding the list returned).\n" 2287db96d56Sopenharmony_ci"\n" 2297db96d56Sopenharmony_ci" generation\n" 2307db96d56Sopenharmony_ci" Generation to extract the objects from.\n" 2317db96d56Sopenharmony_ci"\n" 2327db96d56Sopenharmony_ci"If generation is not None, return only the objects tracked by the collector\n" 2337db96d56Sopenharmony_ci"that are in that generation."); 2347db96d56Sopenharmony_ci 2357db96d56Sopenharmony_ci#define GC_GET_OBJECTS_METHODDEF \ 2367db96d56Sopenharmony_ci {"get_objects", _PyCFunction_CAST(gc_get_objects), METH_FASTCALL|METH_KEYWORDS, gc_get_objects__doc__}, 2377db96d56Sopenharmony_ci 2387db96d56Sopenharmony_cistatic PyObject * 2397db96d56Sopenharmony_cigc_get_objects_impl(PyObject *module, Py_ssize_t generation); 2407db96d56Sopenharmony_ci 2417db96d56Sopenharmony_cistatic PyObject * 2427db96d56Sopenharmony_cigc_get_objects(PyObject *module, PyObject *const *args, Py_ssize_t nargs, PyObject *kwnames) 2437db96d56Sopenharmony_ci{ 2447db96d56Sopenharmony_ci PyObject *return_value = NULL; 2457db96d56Sopenharmony_ci static const char * const _keywords[] = {"generation", NULL}; 2467db96d56Sopenharmony_ci static _PyArg_Parser _parser = {NULL, _keywords, "get_objects", 0}; 2477db96d56Sopenharmony_ci PyObject *argsbuf[1]; 2487db96d56Sopenharmony_ci Py_ssize_t noptargs = nargs + (kwnames ? PyTuple_GET_SIZE(kwnames) : 0) - 0; 2497db96d56Sopenharmony_ci Py_ssize_t generation = -1; 2507db96d56Sopenharmony_ci 2517db96d56Sopenharmony_ci args = _PyArg_UnpackKeywords(args, nargs, NULL, kwnames, &_parser, 0, 1, 0, argsbuf); 2527db96d56Sopenharmony_ci if (!args) { 2537db96d56Sopenharmony_ci goto exit; 2547db96d56Sopenharmony_ci } 2557db96d56Sopenharmony_ci if (!noptargs) { 2567db96d56Sopenharmony_ci goto skip_optional_pos; 2577db96d56Sopenharmony_ci } 2587db96d56Sopenharmony_ci if (!_Py_convert_optional_to_ssize_t(args[0], &generation)) { 2597db96d56Sopenharmony_ci goto exit; 2607db96d56Sopenharmony_ci } 2617db96d56Sopenharmony_ciskip_optional_pos: 2627db96d56Sopenharmony_ci return_value = gc_get_objects_impl(module, generation); 2637db96d56Sopenharmony_ci 2647db96d56Sopenharmony_ciexit: 2657db96d56Sopenharmony_ci return return_value; 2667db96d56Sopenharmony_ci} 2677db96d56Sopenharmony_ci 2687db96d56Sopenharmony_ciPyDoc_STRVAR(gc_get_stats__doc__, 2697db96d56Sopenharmony_ci"get_stats($module, /)\n" 2707db96d56Sopenharmony_ci"--\n" 2717db96d56Sopenharmony_ci"\n" 2727db96d56Sopenharmony_ci"Return a list of dictionaries containing per-generation statistics."); 2737db96d56Sopenharmony_ci 2747db96d56Sopenharmony_ci#define GC_GET_STATS_METHODDEF \ 2757db96d56Sopenharmony_ci {"get_stats", (PyCFunction)gc_get_stats, METH_NOARGS, gc_get_stats__doc__}, 2767db96d56Sopenharmony_ci 2777db96d56Sopenharmony_cistatic PyObject * 2787db96d56Sopenharmony_cigc_get_stats_impl(PyObject *module); 2797db96d56Sopenharmony_ci 2807db96d56Sopenharmony_cistatic PyObject * 2817db96d56Sopenharmony_cigc_get_stats(PyObject *module, PyObject *Py_UNUSED(ignored)) 2827db96d56Sopenharmony_ci{ 2837db96d56Sopenharmony_ci return gc_get_stats_impl(module); 2847db96d56Sopenharmony_ci} 2857db96d56Sopenharmony_ci 2867db96d56Sopenharmony_ciPyDoc_STRVAR(gc_is_tracked__doc__, 2877db96d56Sopenharmony_ci"is_tracked($module, obj, /)\n" 2887db96d56Sopenharmony_ci"--\n" 2897db96d56Sopenharmony_ci"\n" 2907db96d56Sopenharmony_ci"Returns true if the object is tracked by the garbage collector.\n" 2917db96d56Sopenharmony_ci"\n" 2927db96d56Sopenharmony_ci"Simple atomic objects will return false."); 2937db96d56Sopenharmony_ci 2947db96d56Sopenharmony_ci#define GC_IS_TRACKED_METHODDEF \ 2957db96d56Sopenharmony_ci {"is_tracked", (PyCFunction)gc_is_tracked, METH_O, gc_is_tracked__doc__}, 2967db96d56Sopenharmony_ci 2977db96d56Sopenharmony_ciPyDoc_STRVAR(gc_is_finalized__doc__, 2987db96d56Sopenharmony_ci"is_finalized($module, obj, /)\n" 2997db96d56Sopenharmony_ci"--\n" 3007db96d56Sopenharmony_ci"\n" 3017db96d56Sopenharmony_ci"Returns true if the object has been already finalized by the GC."); 3027db96d56Sopenharmony_ci 3037db96d56Sopenharmony_ci#define GC_IS_FINALIZED_METHODDEF \ 3047db96d56Sopenharmony_ci {"is_finalized", (PyCFunction)gc_is_finalized, METH_O, gc_is_finalized__doc__}, 3057db96d56Sopenharmony_ci 3067db96d56Sopenharmony_ciPyDoc_STRVAR(gc_freeze__doc__, 3077db96d56Sopenharmony_ci"freeze($module, /)\n" 3087db96d56Sopenharmony_ci"--\n" 3097db96d56Sopenharmony_ci"\n" 3107db96d56Sopenharmony_ci"Freeze all current tracked objects and ignore them for future collections.\n" 3117db96d56Sopenharmony_ci"\n" 3127db96d56Sopenharmony_ci"This can be used before a POSIX fork() call to make the gc copy-on-write friendly.\n" 3137db96d56Sopenharmony_ci"Note: collection before a POSIX fork() call may free pages for future allocation\n" 3147db96d56Sopenharmony_ci"which can cause copy-on-write."); 3157db96d56Sopenharmony_ci 3167db96d56Sopenharmony_ci#define GC_FREEZE_METHODDEF \ 3177db96d56Sopenharmony_ci {"freeze", (PyCFunction)gc_freeze, METH_NOARGS, gc_freeze__doc__}, 3187db96d56Sopenharmony_ci 3197db96d56Sopenharmony_cistatic PyObject * 3207db96d56Sopenharmony_cigc_freeze_impl(PyObject *module); 3217db96d56Sopenharmony_ci 3227db96d56Sopenharmony_cistatic PyObject * 3237db96d56Sopenharmony_cigc_freeze(PyObject *module, PyObject *Py_UNUSED(ignored)) 3247db96d56Sopenharmony_ci{ 3257db96d56Sopenharmony_ci return gc_freeze_impl(module); 3267db96d56Sopenharmony_ci} 3277db96d56Sopenharmony_ci 3287db96d56Sopenharmony_ciPyDoc_STRVAR(gc_unfreeze__doc__, 3297db96d56Sopenharmony_ci"unfreeze($module, /)\n" 3307db96d56Sopenharmony_ci"--\n" 3317db96d56Sopenharmony_ci"\n" 3327db96d56Sopenharmony_ci"Unfreeze all objects in the permanent generation.\n" 3337db96d56Sopenharmony_ci"\n" 3347db96d56Sopenharmony_ci"Put all objects in the permanent generation back into oldest generation."); 3357db96d56Sopenharmony_ci 3367db96d56Sopenharmony_ci#define GC_UNFREEZE_METHODDEF \ 3377db96d56Sopenharmony_ci {"unfreeze", (PyCFunction)gc_unfreeze, METH_NOARGS, gc_unfreeze__doc__}, 3387db96d56Sopenharmony_ci 3397db96d56Sopenharmony_cistatic PyObject * 3407db96d56Sopenharmony_cigc_unfreeze_impl(PyObject *module); 3417db96d56Sopenharmony_ci 3427db96d56Sopenharmony_cistatic PyObject * 3437db96d56Sopenharmony_cigc_unfreeze(PyObject *module, PyObject *Py_UNUSED(ignored)) 3447db96d56Sopenharmony_ci{ 3457db96d56Sopenharmony_ci return gc_unfreeze_impl(module); 3467db96d56Sopenharmony_ci} 3477db96d56Sopenharmony_ci 3487db96d56Sopenharmony_ciPyDoc_STRVAR(gc_get_freeze_count__doc__, 3497db96d56Sopenharmony_ci"get_freeze_count($module, /)\n" 3507db96d56Sopenharmony_ci"--\n" 3517db96d56Sopenharmony_ci"\n" 3527db96d56Sopenharmony_ci"Return the number of objects in the permanent generation."); 3537db96d56Sopenharmony_ci 3547db96d56Sopenharmony_ci#define GC_GET_FREEZE_COUNT_METHODDEF \ 3557db96d56Sopenharmony_ci {"get_freeze_count", (PyCFunction)gc_get_freeze_count, METH_NOARGS, gc_get_freeze_count__doc__}, 3567db96d56Sopenharmony_ci 3577db96d56Sopenharmony_cistatic Py_ssize_t 3587db96d56Sopenharmony_cigc_get_freeze_count_impl(PyObject *module); 3597db96d56Sopenharmony_ci 3607db96d56Sopenharmony_cistatic PyObject * 3617db96d56Sopenharmony_cigc_get_freeze_count(PyObject *module, PyObject *Py_UNUSED(ignored)) 3627db96d56Sopenharmony_ci{ 3637db96d56Sopenharmony_ci PyObject *return_value = NULL; 3647db96d56Sopenharmony_ci Py_ssize_t _return_value; 3657db96d56Sopenharmony_ci 3667db96d56Sopenharmony_ci _return_value = gc_get_freeze_count_impl(module); 3677db96d56Sopenharmony_ci if ((_return_value == -1) && PyErr_Occurred()) { 3687db96d56Sopenharmony_ci goto exit; 3697db96d56Sopenharmony_ci } 3707db96d56Sopenharmony_ci return_value = PyLong_FromSsize_t(_return_value); 3717db96d56Sopenharmony_ci 3727db96d56Sopenharmony_ciexit: 3737db96d56Sopenharmony_ci return return_value; 3747db96d56Sopenharmony_ci} 3757db96d56Sopenharmony_ci/*[clinic end generated code: output=71f7136d6e3f2323 input=a9049054013a1b77]*/ 376