[Python-Dev] No longer enable Py_TRACE_REFS by default in debug build (original) (raw)
Nathaniel Smith njs at pobox.com
Wed Apr 10 15:27:03 EDT 2019
- Previous message (by thread): [Python-Dev] No longer enable Py_TRACE_REFS by default in debug build
- Next message (by thread): [Python-Dev] No longer enable Py_TRACE_REFS by default in debug build
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, Apr 10, 2019, 04:04 Victor Stinner <vstinner at redhat.com> wrote:
Le mar. 9 avr. 2019 à 22:16, Steve Dower <steve.dower at python.org> a écrit : > What are the other changes that would be required?
I don't know. > And is there another > way to get the same functionality without ABI modifications? PyTRACEREFS is a double linked list of all Python objects. To get this functionality, you need to store the list somewhere. I don't know how to maintain such list outside the PyObject structure.
I assume these pointers get updated from some generic allocation/free code. Could that code instead overallocate by 16 bytes, use the first 16 bytes to hold the pointers, and then return the PyObject* as (actual allocated pointer + 16)? Basically the "container_of" trick.
I don't think that I ever used sys.getobjects(), whereas many projects
use gc.getobjects() which is also available in release builds (not only in debug builds).
Can anyone explain what pydebug builds are... for? Confession: I've never used them myself, and don't know why I would want to.
(I have to assume that most of Steve's Windows downloads are from folks who thought they were downloading a python debugger.)
-n -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20190410/b19228f0/attachment.html>
- Previous message (by thread): [Python-Dev] No longer enable Py_TRACE_REFS by default in debug build
- Next message (by thread): [Python-Dev] No longer enable Py_TRACE_REFS by default in debug build
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]