Skip to content

Conversation

@vstinner
Copy link
Member

@vstinner vstinner commented Mar 28, 2019

Remove _ob_prev and _ob_next fields of PyObject when Python is
compiled in debug mode to make debug ABI closer to the release ABI.

Remove:

  • sys.getobjects()
  • PYTHONDUMPREFS environment variable
  • _PyCoreConfig.dump_refs
  • PyObject._ob_prev and PyObject._ob_next fields
  • _PyObject_HEAD_EXTRA and _PyObject_EXTRA_INIT macros
  • _Py_AddToAllObjects()
  • _Py_PrintReferenceAddresses()
  • _Py_PrintReferences()
  • _Py_ForgetReference(op) is replaced with _Py_INC_TPFREES(op

https://bugs.python.org/issue36465

Remove _ob_prev and _ob_next fields of PyObject when Python is
compiled in debug mode to make debug ABI closer to the release ABI.

Remove:

* sys.getobjects()
* PYTHONDUMPREFS environment variable
* _PyCoreConfig.dump_refs
* PyObject._ob_prev and PyObject._ob_next fields
* _PyObject_HEAD_EXTRA and _PyObject_EXTRA_INIT macros
* _Py_AddToAllObjects()
* _Py_PrintReferenceAddresses()
* _Py_PrintReferences()
* _Py_ForgetReference(op) is replaced with _Py_INC_TPFREES(op
@vstinner
Copy link
Member Author

vstinner commented Apr 9, 2019

IMHO it's not the right approach. I prefer to first disable Py_TRACE_REFS in debug build, and one or two releases later, decide if Py_TRACE_REFS build should be removed or not.

@vstinner vstinner closed this Apr 9, 2019
@vstinner vstinner deleted the remove_trace_refs branch April 9, 2019 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants