1+ # For up-to-date results, run:
2+ # ./python Tools/c-analyzer/c-analyzer.py check --format summary
3+ # or
4+ # ./python Tools/c-analyzer/c-analyzer.py analyze
5+
6+
7+ #######################################
8+ # non-PyObject (61)
19
210# allocator (16)
311Objects/obmalloc.c:_PyMem static PyMemAllocatorEx _PyMem
@@ -32,12 +40,7 @@ Objects/dictobject.c:empty_keys_struct static PyDictKe
3240Python/fileutils.c:_Py_open_cloexec_works int _Py_open_cloexec_works
3341
3442
35- # freelists
36- Objects/dictobject.c:keys_free_list static PyDictKeysObject *keys_free_list[PyDict_MAXFREELIST]
37- Objects/dictobject.c:numfreekeys static int numfreekeys
38-
39-
40- # other non-object (43)
43+ # other non-object (40)
4144Modules/_tracemalloc.c:allocators static struct { PyMemAllocatorEx mem; PyMemAllocatorEx raw; PyMemAllocatorEx obj; } allocators
4245Modules/_tracemalloc.c:tables_lock static PyThread_type_lock tables_lock
4346Modules/_tracemalloc.c:tracemalloc_filenames static _Py_hashtable_t *tracemalloc_filenames
@@ -81,30 +84,7 @@ Python/pylifecycle.c:fatal_error():reentrant static int reen
8184
8285
8386#######################################
84- # PyObject (960)
85-
86- # freelists (10 + 10)
87- Modules/_collectionsmodule.c:freeblocks static block *freeblocks[MAXFREEBLOCKS]
88- Modules/_collectionsmodule.c:numfreeblocks static Py_ssize_t numfreeblocks
89- Objects/dictobject.c:free_list static PyDictObject *free_list[PyDict_MAXFREELIST]
90- Objects/dictobject.c:numfree static int numfree
91- Objects/exceptions.c:memerrors_freelist static PyBaseExceptionObject *memerrors_freelist
92- Objects/exceptions.c:memerrors_numfree static int memerrors_numfree
93- Objects/floatobject.c:free_list static PyFloatObject *free_list
94- Objects/floatobject.c:numfree static int numfree
95- Objects/frameobject.c:free_list static PyFrameObject *free_list
96- Objects/frameobject.c:numfree static int numfree
97- Objects/genobject.c:ag_asend_freelist static PyAsyncGenASend *ag_asend_freelist[_PyAsyncGen_MAXFREELIST]
98- Objects/genobject.c:ag_asend_freelist_free static int ag_asend_freelist_free
99- Objects/genobject.c:ag_value_freelist static _PyAsyncGenWrappedValue *ag_value_freelist[_PyAsyncGen_MAXFREELIST]
100- Objects/genobject.c:ag_value_freelist_free static int ag_value_freelist_free
101- Objects/listobject.c:free_list static PyListObject *free_list[PyList_MAXFREELIST]
102- Objects/listobject.c:numfree static int numfree
103- Objects/tupleobject.c:free_list static PyTupleObject *free_list[PyTuple_MAXSAVESIZE]
104- Objects/tupleobject.c:numfree static int numfree[PyTuple_MAXSAVESIZE]
105- Python/context.c:ctx_freelist static PyContext *ctx_freelist
106- Python/context.c:ctx_freelist_len static int ctx_freelist_len
107-
87+ # PyObject (919)
10888
10989# singletons (7)
11090Objects/boolobject.c:_Py_FalseStruct static struct _longobject _Py_FalseStruct
@@ -116,16 +96,8 @@ Objects/object.c:_Py_NotImplementedStruct PyObject _Py_No
11696Objects/sliceobject.c:_Py_EllipsisObject PyObject _Py_EllipsisObject
11797
11898
119- # module vars (9)
120- Modules/_functoolsmodule.c:kwd_mark static PyObject *kwd_mark
121- Modules/_localemodule.c:Error static PyObject *Error
122- Modules/_threadmodule.c:ThreadError static PyObject *ThreadError
99+ # module vars (1)
123100Modules/_tracemalloc.c:unknown_filename static PyObject *unknown_filename
124- Modules/signalmodule.c:DefaultHandler static PyObject *DefaultHandler
125- Modules/signalmodule.c:IgnoreHandler static PyObject *IgnoreHandler
126- Modules/signalmodule.c:IntHandler static PyObject *IntHandler
127- Modules/signalmodule.c:ItimerError static PyObject *ItimerError
128- Objects/exceptions.c:errnomap static PyObject *errnomap
129101
130102
131103# other (non-cache) (5)
@@ -136,26 +108,15 @@ Modules/signalmodule.c:Handlers static volatile
136108Objects/setobject.c:_dummy_struct static PyObject _dummy_struct
137109
138110
139- # caches (5)
140- Modules/posixmodule.c:posix_putenv_garbage static PyObject *posix_putenv_garbage
141- Objects/sliceobject.c:slice_cache static PySliceObject *slice_cache
142- Objects/typeobject.c:method_cache static struct method_cache_entry method_cache[1 << MCACHE_SIZE_EXP]
143- Objects/unicodeobject.c:interned static PyObject *interned
111+ # caches (1)
144112Python/import.c:extensions static PyObject *extensions
145113
146114
147- # cached constants - non-str (15 )
115+ # cached constants - non-str (6 )
148116Modules/_io/_iomodule.c:_PyIO_empty_bytes PyObject *_PyIO_empty_bytes
149117Modules/_io/bufferedio.c:_PyIO_trap_eintr():eintr_int static PyObject *eintr_int
150- Modules/posixmodule.c:billion static PyObject *billion
151- Modules/posixmodule.c:wait_helper():struct_rusage static PyObject *struct_rusage
152- Objects/bytesobject.c:characters static PyBytesObject *characters[UCHAR_MAX + 1]
153- Objects/bytesobject.c:nullstring static PyBytesObject *nullstring
154- Objects/codeobject.c:PyCode_NewEmpty():nulltuple static PyObject *nulltuple
155- Objects/dictobject.c:empty_values static PyObject *empty_values[1]
118+ Objects/dictobject.c:empty_values_struct static PyDictValues
156119Objects/listobject.c:indexerr static PyObject *indexerr
157- Objects/longobject.c:small_ints static PyLongObject small_ints[NSMALLNEGINTS + NSMALLPOSINTS]
158- Objects/setobject.c:emptyfrozenset static PyObject *emptyfrozenset
159120Python/context.c:_token_missing static PyObject *_token_missing
160121Python/hamt.c:_empty_hamt static PyHamtObject *_empty_hamt
161122
@@ -662,15 +623,6 @@ Modules/itertoolsmodule.c:takewhile_type static PyTypeOb
662623Modules/itertoolsmodule.c:tee_type static PyTypeObject tee_type
663624Modules/itertoolsmodule.c:teedataobject_type static PyTypeObject teedataobject_type
664625Modules/itertoolsmodule.c:ziplongest_type static PyTypeObject ziplongest_type
665- Modules/posixmodule.c:DirEntryType static PyTypeObject DirEntryType
666- Modules/posixmodule.c:ScandirIteratorType static PyTypeObject ScandirIteratorType
667- Modules/posixmodule.c:SchedParamType static PyTypeObject* SchedParamType
668- Modules/posixmodule.c:StatResultType static PyTypeObject* StatResultType
669- Modules/posixmodule.c:StatVFSResultType static PyTypeObject* StatVFSResultType
670- Modules/posixmodule.c:TerminalSizeType static PyTypeObject* TerminalSizeType
671- Modules/posixmodule.c:TimesResultType static PyTypeObject* TimesResultType
672- Modules/posixmodule.c:UnameResultType static PyTypeObject* UnameResultType
673- Modules/posixmodule.c:WaitidResultType static PyTypeObject* WaitidResultType
674626Modules/signalmodule.c:SiginfoType static PyTypeObject SiginfoType
675627Modules/timemodule.c:StructTimeType static PyTypeObject StructTimeType
676628Modules/xxsubtype.c:spamdict_type static PyTypeObject spamdict_type
0 commit comments