mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
part 2 of Neil Schemenauer's GC patches:
This patch modifies the type structures of objects that participate in GC. The object's tp_basicsize is increased when GC is enabled. GC information is prefixed to the object to maintain binary compatibility. GC objects also define the tp_flag Py_TPFLAGS_GC.
This commit is contained in:
parent
d22162bac7
commit
d08b4c4524
7 changed files with 36 additions and 20 deletions
|
@ -1087,7 +1087,7 @@ PyTypeObject PyDict_Type = {
|
|||
PyObject_HEAD_INIT(&PyType_Type)
|
||||
0,
|
||||
"dictionary",
|
||||
sizeof(dictobject),
|
||||
sizeof(dictobject) + PyGC_INFO_SIZE,
|
||||
0,
|
||||
(destructor)dict_dealloc, /*tp_dealloc*/
|
||||
(printfunc)dict_print, /*tp_print*/
|
||||
|
@ -1104,7 +1104,7 @@ PyTypeObject PyDict_Type = {
|
|||
0, /* tp_getattro */
|
||||
0, /* tp_setattro */
|
||||
0, /* tp_as_buffer */
|
||||
Py_TPFLAGS_DEFAULT, /*tp_flags*/
|
||||
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_GC, /*tp_flags*/
|
||||
0, /* tp_doc */
|
||||
(traverseproc)dict_traverse, /* tp_traverse */
|
||||
(inquiry)dict_tp_clear, /* tp_clear */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue