@@ -731,12 +731,7 @@ _PyCode_New(struct _PyCodeConstructor *con)
731731 }
732732
733733 Py_ssize_t size = PyBytes_GET_SIZE (con -> code ) / sizeof (_Py_CODEUNIT );
734- PyCodeObject * co ;
735- #ifdef Py_GIL_DISABLED
736- co = PyObject_GC_NewVar (PyCodeObject , & PyCode_Type , size );
737- #else
738- co = PyObject_NewVar (PyCodeObject , & PyCode_Type , size );
739- #endif
734+ PyCodeObject * co = PyObject_GC_NewVar (PyCodeObject , & PyCode_Type , size );
740735 if (co == NULL ) {
741736 Py_XDECREF (replacement_locations );
742737 PyErr_NoMemory ();
@@ -750,8 +745,8 @@ _PyCode_New(struct _PyCodeConstructor *con)
750745
751746#ifdef Py_GIL_DISABLED
752747 co -> _co_unique_id = _PyObject_AssignUniqueId ((PyObject * )co );
753- _PyObject_GC_TRACK (co );
754748#endif
749+ _PyObject_GC_TRACK (co );
755750 Py_XDECREF (replacement_locations );
756751 return co ;
757752}
@@ -2402,9 +2397,7 @@ code_dealloc(PyObject *self)
24022397 return ;
24032398 }
24042399
2405- #ifdef Py_GIL_DISABLED
24062400 PyObject_GC_UnTrack (co );
2407- #endif
24082401
24092402 _PyFunction_ClearCodeByVersion (co -> co_version );
24102403 if (co -> co_extra != NULL ) {
@@ -2459,18 +2452,16 @@ code_dealloc(PyObject *self)
24592452 }
24602453 PyMem_Free (co -> co_tlbc );
24612454#endif
2462- PyObject_Free (co );
2455+ PyObject_GC_Del (co );
24632456}
24642457
2465- #ifdef Py_GIL_DISABLED
24662458static int
24672459code_traverse (PyObject * self , visitproc visit , void * arg )
24682460{
24692461 PyCodeObject * co = _PyCodeObject_CAST (self );
24702462 Py_VISIT (co -> co_consts );
24712463 return 0 ;
24722464}
2473- #endif
24742465
24752466static PyObject *
24762467code_repr (PyObject * self )
@@ -2890,17 +2881,9 @@ PyTypeObject PyCode_Type = {
28902881 PyObject_GenericGetAttr , /* tp_getattro */
28912882 0 , /* tp_setattro */
28922883 0 , /* tp_as_buffer */
2893- #ifdef Py_GIL_DISABLED
28942884 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC , /* tp_flags */
2895- #else
2896- Py_TPFLAGS_DEFAULT , /* tp_flags */
2897- #endif
28982885 code_new__doc__ , /* tp_doc */
2899- #ifdef Py_GIL_DISABLED
29002886 code_traverse , /* tp_traverse */
2901- #else
2902- 0 , /* tp_traverse */
2903- #endif
29042887 0 , /* tp_clear */
29052888 code_richcompare , /* tp_richcompare */
29062889 offsetof(PyCodeObject , co_weakreflist ), /* tp_weaklistoffset */
0 commit comments