Closed
Description
Bug report
Bug description:
This function is meant to walk the heap and visit all GCable objects. It currently ignores the permanent / frozen generation, which is a problem when calling code expects to get all extant objects.
As a concrete example, the cinder JIT compiler uses this function to scan through all Python functions on the heap and try JIT compiling them. Functions that have been frozen by gc.freeze()
or immortalize_heap()
are not processed, and thus do not get compiled.
CPython versions tested on:
3.12
Operating systems tested on:
Linux
Linked PRs
- gh-131740: Update PyUnstable_GC_VisitObjects to traverse perm gen #131744
- [3.13] gh-131740: Update PyUnstable_GC_VisitObjects to traverse perm … #131754
- [3.12] gh-131740: Update PyUnstable_GC_VisitObjects to traverse perm gen #131828
- gh-131740: minor readability fix in PyUnstable_GC_VisitObjects #131786