<div dir="auto"><div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Apr 10, 2019, 04:04 Victor Stinner <<a href="mailto:vstinner@redhat.com">vstinner@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Le mar. 9 avr. 2019 à 22:16, Steve Dower <<a href="mailto:steve.dower@python.org" target="_blank" rel="noreferrer">steve.dower@python.org</a>> a écrit :<br>
> What are the other changes that would be required?<br>
<br>
I don't know.<br>
<br>
> And is there another<br>
> way to get the same functionality without ABI modifications?<br>
<br>
Py_TRACE_REFS is a double linked list of *all* Python objects. To get<br>
this functionality, you need to store the list somewhere. I don't know<br>
how to maintain such list outside the PyObject structure.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I don't think that I ever used sys.getobjects(), whereas many projects<br>
use gc.get_objects() which is also available in release builds (not<br>
only in debug builds).</blockquote></div></div><div dir="auto"><br></div><div dir="auto">Can anyone explain what pydebug builds are... for? Confession: I've never used them myself, and don't know why I would want to.</div><div dir="auto"><br></div><div dir="auto">(I have to assume that most of Steve's Windows downloads are from folks who thought they were downloading a python debugger.)</div><div dir="auto"><br></div><div dir="auto">-n</div><div dir="auto"></div></div>