GH-138355: Remove trash_delete_later from _gc_runtime_state (#138767)

Remove trash_delete_later and trash_delete_nesting from _gc_runtime_state.
This commit is contained in:
Sergey Miryanov 2025-09-17 13:25:24 -07:00 committed by GitHub
parent d873fb42f3
commit b42af37ced
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 8 deletions

View file

@ -157,6 +157,11 @@ struct _ts {
*/
unsigned long native_thread_id;
/* List of objects that still need to be cleaned up, singly linked
* via their gc headers' gc_next pointers. The list is populated by
* _PyTrash_thread_deposit_object and cleaned up by
* _PyTrash_thread_destroy_chain.
*/
PyObject *delete_later;
/* Tagged pointer to top-most critical section, or zero if there is no

View file

@ -203,12 +203,6 @@ enum _GCPhase {
#define NUM_GENERATIONS 3
struct _gc_runtime_state {
/* List of objects that still need to be cleaned up, singly linked
* via their gc headers' gc_prev pointers. */
PyObject *trash_delete_later;
/* Current call-stack depth of tp_dealloc calls. */
int trash_delete_nesting;
/* Is automatic collection enabled? */
int enabled;
int debug;

View file

@ -3051,7 +3051,7 @@ Py_ReprLeave(PyObject *obj)
/* Trashcan support. */
/* Add op to the gcstate->trash_delete_later list. Called when the current
/* Add op to the tstate->delete_later list. Called when the current
* call-stack depth gets large. op must be a gc'ed object, with refcount 0.
* Py_DECREF must already have been called on it.
*/
@ -3077,7 +3077,7 @@ _PyTrash_thread_deposit_object(PyThreadState *tstate, PyObject *op)
tstate->delete_later = op;
}
/* Deallocate all the objects in the gcstate->trash_delete_later list.
/* Deallocate all the objects in the tstate->delete_later list.
* Called when the call-stack unwinds again. */
void
_PyTrash_thread_destroy_chain(PyThreadState *tstate)