From 7e87d30f1f30d39c3005e03195f3d7648b38a1e2 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 23 Apr 2024 13:38:23 -0700 Subject: gh-118074: Immortal executors are not GC-able (#118182) Better version of gh-118117. Just check for immortality instead of an address range check. --- Python/optimizer.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Python/optimizer.c b/Python/optimizer.c index 5863336..0017965 100644 --- a/Python/optimizer.c +++ b/Python/optimizer.c @@ -397,10 +397,7 @@ executor_traverse(PyObject *o, visitproc visit, void *arg) static int executor_is_gc(PyObject *o) { - if ((PyObject *)&COLD_EXITS[0] <= o && o < (PyObject *)&COLD_EXITS[COLD_EXIT_COUNT]) { - return 0; - } - return 1; + return !_Py_IsImmortal(o); } PyTypeObject _PyUOpExecutor_Type = { -- cgit v0.12