https://github.com/python/cpython/commit/263d56e1e23c711e3abafcae6707cbeb66d15e93
commit: 263d56e1e23c711e3abafcae6707cbeb66d15e93
branch: main
author: Mark Shannon <[email protected]>
committer: markshannon <[email protected]>
date: 2025-02-26T08:54:24Z
summary:
GH-130396: Increase trashcan overhead (GH-130552)
Double trashcan overhead
files:
M Include/cpython/object.h
diff --git a/Include/cpython/object.h b/Include/cpython/object.h
index f466091e07e465..70cf0b51f140a9 100644
--- a/Include/cpython/object.h
+++ b/Include/cpython/object.h
@@ -494,13 +494,13 @@ PyAPI_FUNC(int)
_Py_ReachedRecursionLimitWithMargin(PyThreadState *tstate, int m
#define Py_TRASHCAN_BEGIN(op, dealloc) \
do { \
PyThreadState *tstate = PyThreadState_Get(); \
- if (_Py_ReachedRecursionLimitWithMargin(tstate, 1) &&
Py_TYPE(op)->tp_dealloc == (destructor)dealloc) { \
+ if (_Py_ReachedRecursionLimitWithMargin(tstate, 2) &&
Py_TYPE(op)->tp_dealloc == (destructor)dealloc) { \
_PyTrash_thread_deposit_object(tstate, (PyObject *)op); \
break; \
}
/* The body of the deallocator is here. */
#define Py_TRASHCAN_END \
- if (tstate->delete_later && !_Py_ReachedRecursionLimitWithMargin(tstate,
2)) { \
+ if (tstate->delete_later && !_Py_ReachedRecursionLimitWithMargin(tstate,
4)) { \
_PyTrash_thread_destroy_chain(tstate); \
} \
} while (0);
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]