Lines Matching defs:finalizers
667 /* Move the objects in unreachable with tp_del slots into `finalizers`.
673 move_legacy_finalizers(PyGC_Head *unreachable, PyGC_Head *finalizers)
678 /* March over unreachable. Move objects with finalizers into
679 * `finalizers`.
690 gc_list_move(gc, finalizers);
725 /* Move objects that are reachable from finalizers, from the unreachable set
726 * into finalizers set.
729 move_legacy_finalizer_reachable(PyGC_Head *finalizers)
732 PyGC_Head *gc = GC_NEXT(finalizers);
733 for (; gc != finalizers; gc = GC_NEXT(gc)) {
734 /* Note that the finalizers list may grow during this. */
738 (void *)finalizers);
922 * If DEBUG_SAVEALL, all objects in finalizers are appended to the module
923 * garbage list (a Python list), else only the objects in finalizers with
924 * __del__ methods are appended to garbage. All objects in finalizers are
930 PyGC_Head *finalizers, PyGC_Head *old)
935 PyGC_Head *gc = GC_NEXT(finalizers);
936 for (; gc != finalizers; gc = GC_NEXT(gc)) {
947 gc_list_merge(finalizers, old);
950 /* Run first-time finalizers (if any) on all the objects in collectable.
1132 * after finalizers may resurrect objects. In _that_ case most unreachable
1188 PyGC_Head finalizers; /* objects with, & reachable from, __del__ */
1245 * legacy finalizers (e.g. tp_del) can't safely be deleted.
1247 gc_list_init(&finalizers);
1250 move_legacy_finalizers(&unreachable, &finalizers);
1251 /* finalizers contains the unreachable objects with a legacy finalizer;
1253 * and we move those into the finalizers list too.
1255 move_legacy_finalizer_reachable(&finalizers);
1257 validate_list(&finalizers, collecting_clear_unreachable_clear);
1284 * in finalizers to be freed.
1291 for (gc = GC_NEXT(&finalizers); gc != &finalizers; gc = GC_NEXT(gc)) {
1307 handle_legacy_finalizers(tstate, gcstate, &finalizers, old);