Skip to content

bpo-35081: Move _PyObject_GC_TRACK() to pycore_object.h - #10276

Closed
vstinner wants to merge 1 commit into
python:masterfrom
vstinner:object_track2
Closed

bpo-35081: Move _PyObject_GC_TRACK() to pycore_object.h#10276
vstinner wants to merge 1 commit into
python:masterfrom
vstinner:object_track2

Conversation

@vstinner

@vstinnervstinner commented Nov 1, 2018

Copy link
Copy Markdown
Member
  • Create Include/internal/pycore_object.h
  • Move _PyObject_GC_TRACK() and _PyObject_GC_UNTRACK() macros to
    pycore_object.h
  • Remove _PyGC_generation0: replaced with _PyRuntime.gc.generation0
  • Replace _PyObject_GC_UNTRACK() with PyObject_GC_UnTrack()
    in _queuemodule.c. The file is compiled without Py_BUILD_CORE.
  • Python.h now automatically includes pycore_object.h

https://bugs.python.org/issue35081

@vstinner

Copy link
Copy Markdown
MemberAuthor

Python.h now automatically includes pycore_object.h

Without that, at least 33 C files has to be modified to add include pycore_object.h: see my first attempt, PR #10272.

I prefer to have smaller PR, easier to review. The automatic include can be removed later.

@vstinner

Copy link
Copy Markdown
MemberAuthor

Note for myself: PR #10275 has to be updated if this PR is merged before.

* Create Include/internal/pycore_object.h
* Move _PyObject_GC_TRACK() and _PyObject_GC_UNTRACK() macros to
pycore_object.h
* Remove _PyGC_generation0: replaced with _PyRuntime.gc.generation0
* Python.h now automatically includes pycore_object.h
@vstinner

Copy link
Copy Markdown
MemberAuthor

PR #10507 has been merged: I rewrote and rebased this change on top of master.

@vstinner

Copy link
Copy Markdown
MemberAuthor

I don't understand why compilation fails on AppVeyor:

c:\projects\cpython\python\pytime.c(581): error C2037: left of 'tv_sec' specifies undefined struct/union 'timeval' [C:\projects\cpython\PCbuild\pythoncore.vcxproj]

@vstinner

Copy link
Copy Markdown
MemberAuthor

I merged PR #10640 instead.

@vstinner
vstinner deleted the object_track2 branch November 21, 2018 21:28
Sign up for freeto 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

@vstinner@the-knights-who-say-ni@bedevere-bot