Skip to content

Conversation

@vstinner
Copy link
Member

@vstinnervstinner commented Nov 1, 2018

  • 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
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
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
MemberAuthor

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

@vstinner
Copy link
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
MemberAuthor

I merged PR #10640 instead.

@vstinnervstinner 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