Coverage Report

Created: 2026-03-08 06:40

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/cpython/Include/object.h
Line
Count
Source
1
#ifndef Py_OBJECT_H
2
#define Py_OBJECT_H
3
#ifdef __cplusplus
4
extern "C" {
5
#endif
6
7
8
/* Object and type object interface */
9
10
/*
11
Objects are structures allocated on the heap.  Special rules apply to
12
the use of objects to ensure they are properly garbage-collected.
13
Objects are never allocated statically or on the stack; they must be
14
accessed through special macros and functions only.  (Type objects are
15
exceptions to the first rule; the standard types are represented by
16
statically initialized type objects, although work on type/class unification
17
for Python 2.2 made it possible to have heap-allocated type objects too).
18
19
An object has a 'reference count' that is increased or decreased when a
20
pointer to the object is copied or deleted; when the reference count
21
reaches zero there are no references to the object left and it can be
22
removed from the heap.
23
24
An object has a 'type' that determines what it represents and what kind
25
of data it contains.  An object's type is fixed when it is created.
26
Types themselves are represented as objects; an object contains a
27
pointer to the corresponding type object.  The type itself has a type
28
pointer pointing to the object representing the type 'type', which
29
contains a pointer to itself!.
30
31
Objects do not float around in memory; once allocated an object keeps
32
the same size and address.  Objects that must hold variable-size data
33
can contain pointers to variable-size parts of the object.  Not all
34
objects of the same type have the same size; but the size cannot change
35
after allocation.  (These restrictions are made so a reference to an
36
object can be simply a pointer -- moving an object would require
37
updating all the pointers, and changing an object's size would require
38
moving it if there was another object right next to it.)
39
40
Objects are always accessed through pointers of the type 'PyObject *'.
41
The type 'PyObject' is a structure that only contains the reference count
42
and the type pointer.  The actual memory allocated for an object
43
contains other data that can only be accessed after casting the pointer
44
to a pointer to a longer structure type.  This longer type must start
45
with the reference count and type fields; the macro PyObject_HEAD should be
46
used for this (to accommodate for future changes).  The implementation
47
of a particular object type can cast the object pointer to the proper
48
type and back.
49
50
A standard interface exists for objects that contain an array of items
51
whose size is determined when the object is allocated.
52
*/
53
54
/* Py_DEBUG implies Py_REF_DEBUG. */
55
#if defined(Py_DEBUG) && !defined(Py_REF_DEBUG)
56
#  define Py_REF_DEBUG
57
#endif
58
59
#if defined(_Py_OPAQUE_PYOBJECT) && !defined(Py_LIMITED_API)
60
#   error "_Py_OPAQUE_PYOBJECT only makes sense with Py_LIMITED_API"
61
#endif
62
63
#ifndef _Py_OPAQUE_PYOBJECT
64
/* PyObject_HEAD defines the initial segment of every PyObject. */
65
#define PyObject_HEAD                   PyObject ob_base;
66
67
// Kept for backward compatibility. It was needed by Py_TRACE_REFS build.
68
#define _PyObject_EXTRA_INIT
69
70
/* Make all uses of PyObject_HEAD_INIT immortal.
71
 *
72
 * Statically allocated objects might be shared between
73
 * interpreters, so must be marked as immortal.
74
 *
75
 * Before changing this, see the check in PyModuleDef_Init().
76
 */
77
#if defined(Py_GIL_DISABLED)
78
#define PyObject_HEAD_INIT(type)    \
79
    {                               \
80
        0,                          \
81
        _Py_STATICALLY_ALLOCATED_FLAG, \
82
        { 0 },                      \
83
        0,                          \
84
        _Py_IMMORTAL_REFCNT_LOCAL,  \
85
        0,                          \
86
        (type),                     \
87
    },
88
#else
89
#define PyObject_HEAD_INIT(type)    \
90
295M
    {                               \
91
295M
        { _Py_STATIC_IMMORTAL_INITIAL_REFCNT },    \
92
295M
        (type)                      \
93
295M
    },
94
#endif
95
96
#define PyVarObject_HEAD_INIT(type, size) \
97
295M
    {                                     \
98
295M
        PyObject_HEAD_INIT(type)          \
99
295M
        (size)                            \
100
295M
    },
101
102
/* PyObject_VAR_HEAD defines the initial segment of all variable-size
103
 * container objects.  These end with a declaration of an array with 1
104
 * element, but enough space is malloc'ed so that the array actually
105
 * has room for ob_size elements.  Note that ob_size is an element count,
106
 * not necessarily a byte count.
107
 */
108
#define PyObject_VAR_HEAD      PyVarObject ob_base;
109
#endif // !defined(_Py_OPAQUE_PYOBJECT)
110
111
#define Py_INVALID_SIZE (Py_ssize_t)-1
112
113
/* PyObjects are given a minimum alignment so that the least significant bits
114
 * of an object pointer become available for other purposes.
115
 * This must be an integer literal with the value (1 << _PyGC_PREV_SHIFT), number of bytes.
116
 */
117
#define _PyObject_MIN_ALIGNMENT 4
118
119
/* Nothing is actually declared to be a PyObject, but every pointer to
120
 * a Python object can be cast to a PyObject*.  This is inheritance built
121
 * by hand.  Similarly every pointer to a variable-size Python object can,
122
 * in addition, be cast to PyVarObject*.
123
 */
124
#ifdef _Py_OPAQUE_PYOBJECT
125
  /* PyObject is opaque */
126
#elif !defined(Py_GIL_DISABLED)
127
struct _object {
128
    _Py_ANONYMOUS union {
129
#if SIZEOF_VOID_P > 4
130
        PY_INT64_T ob_refcnt_full; /* This field is needed for efficient initialization with Clang on ARM */
131
        struct {
132
#  if PY_BIG_ENDIAN
133
            uint16_t ob_flags;
134
            uint16_t ob_overflow;
135
            uint32_t ob_refcnt;
136
#  else
137
            uint32_t ob_refcnt;
138
            uint16_t ob_overflow;
139
            uint16_t ob_flags;
140
#  endif
141
        };
142
#else
143
        Py_ssize_t ob_refcnt;  // part of stable ABI; do not change
144
#endif
145
        _Py_ALIGNED_DEF(_PyObject_MIN_ALIGNMENT, char) _aligner;
146
    };
147
148
    PyTypeObject *ob_type;  // part of stable ABI; do not change
149
};
150
#else
151
// Objects that are not owned by any thread use a thread id (tid) of zero.
152
// This includes both immortal objects and objects whose reference count
153
// fields have been merged.
154
#define _Py_UNOWNED_TID             0
155
156
struct _object {
157
    // ob_tid stores the thread id (or zero). It is also used by the GC and the
158
    // trashcan mechanism as a linked list pointer and by the GC to store the
159
    // computed "gc_refs" refcount.
160
    _Py_ALIGNED_DEF(_PyObject_MIN_ALIGNMENT, uintptr_t) ob_tid;
161
    uint16_t ob_flags;
162
    PyMutex ob_mutex;           // per-object lock
163
    uint8_t ob_gc_bits;         // gc-related state
164
    uint32_t ob_ref_local;      // local reference count
165
    Py_ssize_t ob_ref_shared;   // shared (atomic) reference count
166
    PyTypeObject *ob_type;
167
};
168
#endif // !defined(_Py_OPAQUE_PYOBJECT)
169
170
/* Cast argument to PyObject* type. */
171
247G
#define _PyObject_CAST(op) _Py_CAST(PyObject*, (op))
172
173
#ifndef _Py_OPAQUE_PYOBJECT
174
struct PyVarObject {
175
    PyObject ob_base;
176
    Py_ssize_t ob_size; // Number of items in variable part. Part of stable ABI
177
};
178
#endif
179
typedef struct PyVarObject PyVarObject;
180
181
/* Cast argument to PyVarObject* type. */
182
15.1G
#define _PyVarObject_CAST(op) _Py_CAST(PyVarObject*, (op))
183
184
185
// Test if the 'x' object is the 'y' object, the same as "x is y" in Python.
186
PyAPI_FUNC(int) Py_Is(PyObject *x, PyObject *y);
187
525M
#define Py_Is(x, y) ((x) == (y))
188
189
#if defined(Py_GIL_DISABLED) && !defined(Py_LIMITED_API)
190
PyAPI_FUNC(uintptr_t) _Py_GetThreadLocal_Addr(void);
191
192
static inline uintptr_t
193
_Py_ThreadId(void)
194
{
195
    uintptr_t tid;
196
#if defined(_MSC_VER) && defined(_M_X64)
197
    tid = __readgsqword(48);
198
#elif defined(_MSC_VER) && defined(_M_IX86)
199
    tid = __readfsdword(24);
200
#elif defined(_MSC_VER) && defined(_M_ARM64)
201
    tid = __getReg(18);
202
#elif defined(__MINGW32__) && defined(_M_X64)
203
    tid = __readgsqword(48);
204
#elif defined(__MINGW32__) && defined(_M_IX86)
205
    tid = __readfsdword(24);
206
#elif defined(__MINGW32__) && defined(_M_ARM64)
207
    tid = __getReg(18);
208
#elif defined(__i386__)
209
    __asm__("movl %%gs:0, %0" : "=r" (tid));  // 32-bit always uses GS
210
#elif defined(__MACH__) && defined(__x86_64__)
211
    __asm__("movq %%gs:0, %0" : "=r" (tid));  // x86_64 macOSX uses GS
212
#elif defined(__x86_64__)
213
   __asm__("movq %%fs:0, %0" : "=r" (tid));  // x86_64 Linux, BSD uses FS
214
#elif defined(__arm__) && __ARM_ARCH >= 7
215
    __asm__ ("mrc p15, 0, %0, c13, c0, 3\nbic %0, %0, #3" : "=r" (tid));
216
#elif defined(__aarch64__) && defined(__APPLE__)
217
    __asm__ ("mrs %0, tpidrro_el0" : "=r" (tid));
218
#elif defined(__aarch64__)
219
    __asm__ ("mrs %0, tpidr_el0" : "=r" (tid));
220
#elif defined(__powerpc64__)
221
    #if defined(__clang__) && _Py__has_builtin(__builtin_thread_pointer)
222
    tid = (uintptr_t)__builtin_thread_pointer();
223
    #else
224
    // r13 is reserved for use as system thread ID by the Power 64-bit ABI.
225
    register uintptr_t tp __asm__ ("r13");
226
    __asm__("" : "=r" (tp));
227
    tid = tp;
228
    #endif
229
#elif defined(__powerpc__)
230
    #if defined(__clang__) && _Py__has_builtin(__builtin_thread_pointer)
231
    tid = (uintptr_t)__builtin_thread_pointer();
232
    #else
233
    // r2 is reserved for use as system thread ID by the Power 32-bit ABI.
234
    register uintptr_t tp __asm__ ("r2");
235
    __asm__ ("" : "=r" (tp));
236
    tid = tp;
237
    #endif
238
#elif defined(__s390__) && defined(__GNUC__)
239
    // Both GCC and Clang have supported __builtin_thread_pointer
240
    // for s390 from long time ago.
241
    tid = (uintptr_t)__builtin_thread_pointer();
242
#elif defined(__riscv)
243
    #if defined(__clang__) && _Py__has_builtin(__builtin_thread_pointer)
244
    tid = (uintptr_t)__builtin_thread_pointer();
245
    #else
246
    // tp is Thread Pointer provided by the RISC-V ABI.
247
    __asm__ ("mv %0, tp" : "=r" (tid));
248
    #endif
249
#else
250
    // Fallback to a portable implementation if we do not have a faster
251
    // platform-specific implementation.
252
    tid = _Py_GetThreadLocal_Addr();
253
#endif
254
  return tid;
255
}
256
257
static inline Py_ALWAYS_INLINE int
258
_Py_IsOwnedByCurrentThread(PyObject *ob)
259
{
260
#ifdef _Py_THREAD_SANITIZER
261
    return _Py_atomic_load_uintptr_relaxed(&ob->ob_tid) == _Py_ThreadId();
262
#else
263
    return ob->ob_tid == _Py_ThreadId();
264
#endif
265
}
266
#endif
267
268
PyAPI_DATA(PyTypeObject) PyLong_Type;
269
PyAPI_DATA(PyTypeObject) PyBool_Type;
270
271
/* Definitions for the stable ABI */
272
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= _Py_PACK_VERSION(3, 14)
273
PyAPI_FUNC(PyTypeObject*) Py_TYPE(PyObject *ob);
274
#endif
275
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= _Py_PACK_VERSION(3, 15)
276
PyAPI_FUNC(Py_ssize_t) Py_SIZE(PyObject *ob);
277
PyAPI_FUNC(int) Py_IS_TYPE(PyObject *ob, PyTypeObject *type);
278
PyAPI_FUNC(void) Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size);
279
#endif
280
281
#ifndef _Py_OPAQUE_PYOBJECT
282
283
static inline void
284
Py_SET_TYPE(PyObject *ob, PyTypeObject *type)
285
1.45G
{
286
1.45G
    ob->ob_type = type;
287
1.45G
}
bytesobject.c:Py_SET_TYPE
Line
Count
Source
285
86.3M
{
286
86.3M
    ob->ob_type = type;
287
86.3M
}
Unexecuted instantiation: call.c:Py_SET_TYPE
Unexecuted instantiation: exceptions.c:Py_SET_TYPE
Unexecuted instantiation: genericaliasobject.c:Py_SET_TYPE
floatobject.c:Py_SET_TYPE
Line
Count
Source
285
1.27M
{
286
1.27M
    ob->ob_type = type;
287
1.27M
}
Unexecuted instantiation: listobject.c:Py_SET_TYPE
longobject.c:Py_SET_TYPE
Line
Count
Source
285
131M
{
286
131M
    ob->ob_type = type;
287
131M
}
Unexecuted instantiation: dictobject.c:Py_SET_TYPE
Unexecuted instantiation: memoryobject.c:Py_SET_TYPE
moduleobject.c:Py_SET_TYPE
Line
Count
Source
285
1.08k
{
286
1.08k
    ob->ob_type = type;
287
1.08k
}
object.c:Py_SET_TYPE
Line
Count
Source
285
3.02M
{
286
3.02M
    ob->ob_type = type;
287
3.02M
}
Unexecuted instantiation: obmalloc.c:Py_SET_TYPE
Unexecuted instantiation: picklebufobject.c:Py_SET_TYPE
Unexecuted instantiation: rangeobject.c:Py_SET_TYPE
Unexecuted instantiation: setobject.c:Py_SET_TYPE
Unexecuted instantiation: sliceobject.c:Py_SET_TYPE
structseq.c:Py_SET_TYPE
Line
Count
Source
285
272
{
286
272
    ob->ob_type = type;
287
272
}
Unexecuted instantiation: templateobject.c:Py_SET_TYPE
Unexecuted instantiation: tupleobject.c:Py_SET_TYPE
typeobject.c:Py_SET_TYPE
Line
Count
Source
285
182M
{
286
182M
    ob->ob_type = type;
287
182M
}
Unexecuted instantiation: typevarobject.c:Py_SET_TYPE
Unexecuted instantiation: unicode_format.c:Py_SET_TYPE
Unexecuted instantiation: unicode_formatter.c:Py_SET_TYPE
Unexecuted instantiation: unicode_writer.c:Py_SET_TYPE
Unexecuted instantiation: unicodectype.c:Py_SET_TYPE
unicodeobject.c:Py_SET_TYPE
Line
Count
Source
285
568M
{
286
568M
    ob->ob_type = type;
287
568M
}
Unexecuted instantiation: unionobject.c:Py_SET_TYPE
Unexecuted instantiation: weakrefobject.c:Py_SET_TYPE
Unexecuted instantiation: _warnings.c:Py_SET_TYPE
Unexecuted instantiation: bltinmodule.c:Py_SET_TYPE
Unexecuted instantiation: ceval.c:Py_SET_TYPE
Unexecuted instantiation: codecs.c:Py_SET_TYPE
Unexecuted instantiation: codegen.c:Py_SET_TYPE
Unexecuted instantiation: compile.c:Py_SET_TYPE
Unexecuted instantiation: context.c:Py_SET_TYPE
Unexecuted instantiation: errors.c:Py_SET_TYPE
Unexecuted instantiation: flowgraph.c:Py_SET_TYPE
Unexecuted instantiation: frame.c:Py_SET_TYPE
Unexecuted instantiation: future.c:Py_SET_TYPE
gc.c:Py_SET_TYPE
Line
Count
Source
285
482M
{
286
482M
    ob->ob_type = type;
287
482M
}
Unexecuted instantiation: gc_gil.c:Py_SET_TYPE
Unexecuted instantiation: getargs.c:Py_SET_TYPE
Unexecuted instantiation: ceval_gil.c:Py_SET_TYPE
Unexecuted instantiation: hamt.c:Py_SET_TYPE
Unexecuted instantiation: hashtable.c:Py_SET_TYPE
Unexecuted instantiation: import.c:Py_SET_TYPE
Unexecuted instantiation: importdl.c:Py_SET_TYPE
Unexecuted instantiation: initconfig.c:Py_SET_TYPE
Unexecuted instantiation: instrumentation.c:Py_SET_TYPE
Unexecuted instantiation: instruction_sequence.c:Py_SET_TYPE
Unexecuted instantiation: intrinsics.c:Py_SET_TYPE
Unexecuted instantiation: legacy_tracing.c:Py_SET_TYPE
Unexecuted instantiation: lock.c:Py_SET_TYPE
Unexecuted instantiation: marshal.c:Py_SET_TYPE
Unexecuted instantiation: modsupport.c:Py_SET_TYPE
Unexecuted instantiation: mysnprintf.c:Py_SET_TYPE
Unexecuted instantiation: parking_lot.c:Py_SET_TYPE
Unexecuted instantiation: preconfig.c:Py_SET_TYPE
Unexecuted instantiation: pyarena.c:Py_SET_TYPE
Unexecuted instantiation: pyctype.c:Py_SET_TYPE
Unexecuted instantiation: pyhash.c:Py_SET_TYPE
Unexecuted instantiation: pylifecycle.c:Py_SET_TYPE
Unexecuted instantiation: pymath.c:Py_SET_TYPE
Unexecuted instantiation: pystate.c:Py_SET_TYPE
Unexecuted instantiation: pythonrun.c:Py_SET_TYPE
Unexecuted instantiation: pytime.c:Py_SET_TYPE
Unexecuted instantiation: qsbr.c:Py_SET_TYPE
Unexecuted instantiation: bootstrap_hash.c:Py_SET_TYPE
Unexecuted instantiation: specialize.c:Py_SET_TYPE
Unexecuted instantiation: structmember.c:Py_SET_TYPE
Unexecuted instantiation: symtable.c:Py_SET_TYPE
Unexecuted instantiation: sysmodule.c:Py_SET_TYPE
Unexecuted instantiation: thread.c:Py_SET_TYPE
Unexecuted instantiation: traceback.c:Py_SET_TYPE
Unexecuted instantiation: tracemalloc.c:Py_SET_TYPE
Unexecuted instantiation: getopt.c:Py_SET_TYPE
Unexecuted instantiation: pystrcmp.c:Py_SET_TYPE
Unexecuted instantiation: pystrtod.c:Py_SET_TYPE
Unexecuted instantiation: pystrhex.c:Py_SET_TYPE
Unexecuted instantiation: dtoa.c:Py_SET_TYPE
Unexecuted instantiation: fileutils.c:Py_SET_TYPE
Unexecuted instantiation: suggestions.c:Py_SET_TYPE
Unexecuted instantiation: perf_trampoline.c:Py_SET_TYPE
Unexecuted instantiation: perf_jit_trampoline.c:Py_SET_TYPE
Unexecuted instantiation: remote_debugging.c:Py_SET_TYPE
Unexecuted instantiation: dynload_shlib.c:Py_SET_TYPE
Unexecuted instantiation: config.c:Py_SET_TYPE
Unexecuted instantiation: gcmodule.c:Py_SET_TYPE
Unexecuted instantiation: _asynciomodule.c:Py_SET_TYPE
Unexecuted instantiation: atexitmodule.c:Py_SET_TYPE
Unexecuted instantiation: faulthandler.c:Py_SET_TYPE
Unexecuted instantiation: posixmodule.c:Py_SET_TYPE
Unexecuted instantiation: signalmodule.c:Py_SET_TYPE
Unexecuted instantiation: _tracemalloc.c:Py_SET_TYPE
Unexecuted instantiation: _suggestions.c:Py_SET_TYPE
_datetimemodule.c:Py_SET_TYPE
Line
Count
Source
285
20.9k
{
286
20.9k
    ob->ob_type = type;
287
20.9k
}
Unexecuted instantiation: _codecsmodule.c:Py_SET_TYPE
Unexecuted instantiation: _collectionsmodule.c:Py_SET_TYPE
Unexecuted instantiation: errnomodule.c:Py_SET_TYPE
Unexecuted instantiation: _iomodule.c:Py_SET_TYPE
Unexecuted instantiation: iobase.c:Py_SET_TYPE
Unexecuted instantiation: fileio.c:Py_SET_TYPE
Unexecuted instantiation: bytesio.c:Py_SET_TYPE
Unexecuted instantiation: bufferedio.c:Py_SET_TYPE
Unexecuted instantiation: textio.c:Py_SET_TYPE
Unexecuted instantiation: stringio.c:Py_SET_TYPE
itertoolsmodule.c:Py_SET_TYPE
Line
Count
Source
285
30
{
286
30
    ob->ob_type = type;
287
30
}
Unexecuted instantiation: sre.c:Py_SET_TYPE
Unexecuted instantiation: _sysconfig.c:Py_SET_TYPE
Unexecuted instantiation: _threadmodule.c:Py_SET_TYPE
Unexecuted instantiation: timemodule.c:Py_SET_TYPE
Unexecuted instantiation: _typesmodule.c:Py_SET_TYPE
Unexecuted instantiation: _typingmodule.c:Py_SET_TYPE
Unexecuted instantiation: _weakref.c:Py_SET_TYPE
Unexecuted instantiation: _abc.c:Py_SET_TYPE
Unexecuted instantiation: _functoolsmodule.c:Py_SET_TYPE
Unexecuted instantiation: _localemodule.c:Py_SET_TYPE
Unexecuted instantiation: _opcode.c:Py_SET_TYPE
Unexecuted instantiation: _operator.c:Py_SET_TYPE
Unexecuted instantiation: _stat.c:Py_SET_TYPE
Unexecuted instantiation: symtablemodule.c:Py_SET_TYPE
Unexecuted instantiation: pwdmodule.c:Py_SET_TYPE
Unexecuted instantiation: getpath.c:Py_SET_TYPE
Unexecuted instantiation: frozen.c:Py_SET_TYPE
Unexecuted instantiation: getbuildinfo.c:Py_SET_TYPE
Unexecuted instantiation: peg_api.c:Py_SET_TYPE
Unexecuted instantiation: file_tokenizer.c:Py_SET_TYPE
Unexecuted instantiation: helpers.c:Py_SET_TYPE
Unexecuted instantiation: myreadline.c:Py_SET_TYPE
Unexecuted instantiation: abstract.c:Py_SET_TYPE
Unexecuted instantiation: boolobject.c:Py_SET_TYPE
Unexecuted instantiation: bytes_methods.c:Py_SET_TYPE
Unexecuted instantiation: bytearrayobject.c:Py_SET_TYPE
Unexecuted instantiation: capsule.c:Py_SET_TYPE
Unexecuted instantiation: cellobject.c:Py_SET_TYPE
Unexecuted instantiation: classobject.c:Py_SET_TYPE
Unexecuted instantiation: codeobject.c:Py_SET_TYPE
complexobject.c:Py_SET_TYPE
Line
Count
Source
285
2.92k
{
286
2.92k
    ob->ob_type = type;
287
2.92k
}
Unexecuted instantiation: descrobject.c:Py_SET_TYPE
Unexecuted instantiation: enumobject.c:Py_SET_TYPE
Unexecuted instantiation: genobject.c:Py_SET_TYPE
Unexecuted instantiation: fileobject.c:Py_SET_TYPE
Unexecuted instantiation: frameobject.c:Py_SET_TYPE
Unexecuted instantiation: funcobject.c:Py_SET_TYPE
Unexecuted instantiation: interpolationobject.c:Py_SET_TYPE
Unexecuted instantiation: iterobject.c:Py_SET_TYPE
Unexecuted instantiation: lazyimportobject.c:Py_SET_TYPE
Unexecuted instantiation: odictobject.c:Py_SET_TYPE
Unexecuted instantiation: methodobject.c:Py_SET_TYPE
Unexecuted instantiation: namespaceobject.c:Py_SET_TYPE
Unexecuted instantiation: _contextvars.c:Py_SET_TYPE
Unexecuted instantiation: Python-ast.c:Py_SET_TYPE
Unexecuted instantiation: Python-tokenize.c:Py_SET_TYPE
Unexecuted instantiation: asdl.c:Py_SET_TYPE
Unexecuted instantiation: assemble.c:Py_SET_TYPE
Unexecuted instantiation: ast.c:Py_SET_TYPE
Unexecuted instantiation: ast_preprocess.c:Py_SET_TYPE
Unexecuted instantiation: ast_unparse.c:Py_SET_TYPE
Unexecuted instantiation: critical_section.c:Py_SET_TYPE
Unexecuted instantiation: crossinterp.c:Py_SET_TYPE
Unexecuted instantiation: getcopyright.c:Py_SET_TYPE
Unexecuted instantiation: getplatform.c:Py_SET_TYPE
Unexecuted instantiation: getversion.c:Py_SET_TYPE
Unexecuted instantiation: optimizer.c:Py_SET_TYPE
Unexecuted instantiation: pathconfig.c:Py_SET_TYPE
Unexecuted instantiation: pegen.c:Py_SET_TYPE
Unexecuted instantiation: pegen_errors.c:Py_SET_TYPE
Unexecuted instantiation: parser.c:Py_SET_TYPE
Unexecuted instantiation: buffer.c:Py_SET_TYPE
Unexecuted instantiation: lexer.c:Py_SET_TYPE
Unexecuted instantiation: state.c:Py_SET_TYPE
Unexecuted instantiation: readline_tokenizer.c:Py_SET_TYPE
Unexecuted instantiation: string_tokenizer.c:Py_SET_TYPE
Unexecuted instantiation: utf8_tokenizer.c:Py_SET_TYPE
Unexecuted instantiation: getcompiler.c:Py_SET_TYPE
Unexecuted instantiation: mystrtoul.c:Py_SET_TYPE
Unexecuted instantiation: token.c:Py_SET_TYPE
Unexecuted instantiation: action_helpers.c:Py_SET_TYPE
Unexecuted instantiation: string_parser.c:Py_SET_TYPE
288
289
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < _Py_PACK_VERSION(3, 11)
290
// Non-limited API & limited API 3.11 & below: use static inline functions and
291
// use _PyObject_CAST so that users don't need their own casts
292
42.9G
#  define Py_TYPE(ob) _Py_TYPE_impl(_PyObject_CAST(ob))
293
13.2G
#  define Py_SIZE(ob) _Py_SIZE_impl(_PyObject_CAST(ob))
294
23.0G
#  define Py_IS_TYPE(ob, type) _Py_IS_TYPE_impl(_PyObject_CAST(ob), (type))
295
1.70G
#  define Py_SET_SIZE(ob, size) _Py_SET_SIZE_impl(_PyVarObject_CAST(ob), (size))
296
1.45G
#  define Py_SET_TYPE(ob, type) Py_SET_TYPE(_PyObject_CAST(ob), type)
297
#elif Py_LIMITED_API+0 < _Py_PACK_VERSION(3, 15)
298
// Limited API 3.11-3.14: use static inline functions, without casts
299
#  define Py_SIZE(ob) _Py_SIZE_impl(ob)
300
#  define Py_IS_TYPE(ob, type) _Py_IS_TYPE_impl((ob), (type))
301
#  define Py_SET_SIZE(ob, size) _Py_SET_SIZE_impl((ob), (size))
302
#  if Py_LIMITED_API+0 < _Py_PACK_VERSION(3, 14)
303
//   Py_TYPE() is static inline only on Limited API 3.13 and below
304
#    define Py_TYPE(ob) _Py_TYPE_impl(ob)
305
#  endif
306
#else
307
// Limited API 3.15+: use function calls
308
#endif
309
310
static inline
311
PyTypeObject* _Py_TYPE_impl(PyObject *ob)
312
55.8G
{
313
55.8G
    return ob->ob_type;
314
55.8G
}
bytesobject.c:_Py_TYPE_impl
Line
Count
Source
312
281M
{
313
281M
    return ob->ob_type;
314
281M
}
call.c:_Py_TYPE_impl
Line
Count
Source
312
723M
{
313
723M
    return ob->ob_type;
314
723M
}
exceptions.c:_Py_TYPE_impl
Line
Count
Source
312
100M
{
313
100M
    return ob->ob_type;
314
100M
}
genericaliasobject.c:_Py_TYPE_impl
Line
Count
Source
312
3.91k
{
313
3.91k
    return ob->ob_type;
314
3.91k
}
floatobject.c:_Py_TYPE_impl
Line
Count
Source
312
32.0M
{
313
32.0M
    return ob->ob_type;
314
32.0M
}
listobject.c:_Py_TYPE_impl
Line
Count
Source
312
842M
{
313
842M
    return ob->ob_type;
314
842M
}
longobject.c:_Py_TYPE_impl
Line
Count
Source
312
2.15G
{
313
2.15G
    return ob->ob_type;
314
2.15G
}
dictobject.c:_Py_TYPE_impl
Line
Count
Source
312
7.70G
{
313
7.70G
    return ob->ob_type;
314
7.70G
}
memoryobject.c:_Py_TYPE_impl
Line
Count
Source
312
191k
{
313
191k
    return ob->ob_type;
314
191k
}
moduleobject.c:_Py_TYPE_impl
Line
Count
Source
312
31.7M
{
313
31.7M
    return ob->ob_type;
314
31.7M
}
object.c:_Py_TYPE_impl
Line
Count
Source
312
10.6G
{
313
10.6G
    return ob->ob_type;
314
10.6G
}
Unexecuted instantiation: obmalloc.c:_Py_TYPE_impl
Unexecuted instantiation: picklebufobject.c:_Py_TYPE_impl
rangeobject.c:_Py_TYPE_impl
Line
Count
Source
312
4.91M
{
313
4.91M
    return ob->ob_type;
314
4.91M
}
setobject.c:_Py_TYPE_impl
Line
Count
Source
312
494M
{
313
494M
    return ob->ob_type;
314
494M
}
sliceobject.c:_Py_TYPE_impl
Line
Count
Source
312
1.63M
{
313
1.63M
    return ob->ob_type;
314
1.63M
}
structseq.c:_Py_TYPE_impl
Line
Count
Source
312
1.06M
{
313
1.06M
    return ob->ob_type;
314
1.06M
}
templateobject.c:_Py_TYPE_impl
Line
Count
Source
312
12
{
313
12
    return ob->ob_type;
314
12
}
tupleobject.c:_Py_TYPE_impl
Line
Count
Source
312
4.04G
{
313
4.04G
    return ob->ob_type;
314
4.04G
}
typeobject.c:_Py_TYPE_impl
Line
Count
Source
312
1.82G
{
313
1.82G
    return ob->ob_type;
314
1.82G
}
typevarobject.c:_Py_TYPE_impl
Line
Count
Source
312
658k
{
313
658k
    return ob->ob_type;
314
658k
}
unicode_format.c:_Py_TYPE_impl
Line
Count
Source
312
177M
{
313
177M
    return ob->ob_type;
314
177M
}
unicode_formatter.c:_Py_TYPE_impl
Line
Count
Source
312
16.3M
{
313
16.3M
    return ob->ob_type;
314
16.3M
}
unicode_writer.c:_Py_TYPE_impl
Line
Count
Source
312
10.6M
{
313
10.6M
    return ob->ob_type;
314
10.6M
}
Unexecuted instantiation: unicodectype.c:_Py_TYPE_impl
unicodeobject.c:_Py_TYPE_impl
Line
Count
Source
312
2.96G
{
313
2.96G
    return ob->ob_type;
314
2.96G
}
unionobject.c:_Py_TYPE_impl
Line
Count
Source
312
6.71k
{
313
6.71k
    return ob->ob_type;
314
6.71k
}
weakrefobject.c:_Py_TYPE_impl
Line
Count
Source
312
153M
{
313
153M
    return ob->ob_type;
314
153M
}
_warnings.c:_Py_TYPE_impl
Line
Count
Source
312
24.2M
{
313
24.2M
    return ob->ob_type;
314
24.2M
}
bltinmodule.c:_Py_TYPE_impl
Line
Count
Source
312
487M
{
313
487M
    return ob->ob_type;
314
487M
}
ceval.c:_Py_TYPE_impl
Line
Count
Source
312
15.0G
{
313
15.0G
    return ob->ob_type;
314
15.0G
}
codecs.c:_Py_TYPE_impl
Line
Count
Source
312
4.54M
{
313
4.54M
    return ob->ob_type;
314
4.54M
}
codegen.c:_Py_TYPE_impl
Line
Count
Source
312
341
{
313
341
    return ob->ob_type;
314
341
}
compile.c:_Py_TYPE_impl
Line
Count
Source
312
109k
{
313
109k
    return ob->ob_type;
314
109k
}
context.c:_Py_TYPE_impl
Line
Count
Source
312
223k
{
313
223k
    return ob->ob_type;
314
223k
}
errors.c:_Py_TYPE_impl
Line
Count
Source
312
537M
{
313
537M
    return ob->ob_type;
314
537M
}
flowgraph.c:_Py_TYPE_impl
Line
Count
Source
312
42.5k
{
313
42.5k
    return ob->ob_type;
314
42.5k
}
Unexecuted instantiation: frame.c:_Py_TYPE_impl
Unexecuted instantiation: future.c:_Py_TYPE_impl
gc.c:_Py_TYPE_impl
Line
Count
Source
312
2.17G
{
313
2.17G
    return ob->ob_type;
314
2.17G
}
Unexecuted instantiation: gc_gil.c:_Py_TYPE_impl
getargs.c:_Py_TYPE_impl
Line
Count
Source
312
24.2M
{
313
24.2M
    return ob->ob_type;
314
24.2M
}
Unexecuted instantiation: ceval_gil.c:_Py_TYPE_impl
Unexecuted instantiation: hamt.c:_Py_TYPE_impl
Unexecuted instantiation: hashtable.c:_Py_TYPE_impl
import.c:_Py_TYPE_impl
Line
Count
Source
312
4.26M
{
313
4.26M
    return ob->ob_type;
314
4.26M
}
importdl.c:_Py_TYPE_impl
Line
Count
Source
312
2.34k
{
313
2.34k
    return ob->ob_type;
314
2.34k
}
initconfig.c:_Py_TYPE_impl
Line
Count
Source
312
952
{
313
952
    return ob->ob_type;
314
952
}
Unexecuted instantiation: instrumentation.c:_Py_TYPE_impl
Unexecuted instantiation: instruction_sequence.c:_Py_TYPE_impl
intrinsics.c:_Py_TYPE_impl
Line
Count
Source
312
71.1k
{
313
71.1k
    return ob->ob_type;
314
71.1k
}
Unexecuted instantiation: legacy_tracing.c:_Py_TYPE_impl
Unexecuted instantiation: lock.c:_Py_TYPE_impl
marshal.c:_Py_TYPE_impl
Line
Count
Source
312
228k
{
313
228k
    return ob->ob_type;
314
228k
}
modsupport.c:_Py_TYPE_impl
Line
Count
Source
312
2.78M
{
313
2.78M
    return ob->ob_type;
314
2.78M
}
Unexecuted instantiation: mysnprintf.c:_Py_TYPE_impl
Unexecuted instantiation: parking_lot.c:_Py_TYPE_impl
Unexecuted instantiation: preconfig.c:_Py_TYPE_impl
Unexecuted instantiation: pyarena.c:_Py_TYPE_impl
Unexecuted instantiation: pyctype.c:_Py_TYPE_impl
Unexecuted instantiation: pyhash.c:_Py_TYPE_impl
pylifecycle.c:_Py_TYPE_impl
Line
Count
Source
312
34
{
313
34
    return ob->ob_type;
314
34
}
Unexecuted instantiation: pymath.c:_Py_TYPE_impl
Unexecuted instantiation: pystate.c:_Py_TYPE_impl
pythonrun.c:_Py_TYPE_impl
Line
Count
Source
312
129k
{
313
129k
    return ob->ob_type;
314
129k
}
Unexecuted instantiation: pytime.c:_Py_TYPE_impl
Unexecuted instantiation: qsbr.c:_Py_TYPE_impl
Unexecuted instantiation: bootstrap_hash.c:_Py_TYPE_impl
specialize.c:_Py_TYPE_impl
Line
Count
Source
312
208M
{
313
208M
    return ob->ob_type;
314
208M
}
structmember.c:_Py_TYPE_impl
Line
Count
Source
312
5
{
313
5
    return ob->ob_type;
314
5
}
symtable.c:_Py_TYPE_impl
Line
Count
Source
312
74.9k
{
313
74.9k
    return ob->ob_type;
314
74.9k
}
sysmodule.c:_Py_TYPE_impl
Line
Count
Source
312
1.49M
{
313
1.49M
    return ob->ob_type;
314
1.49M
}
Unexecuted instantiation: thread.c:_Py_TYPE_impl
traceback.c:_Py_TYPE_impl
Line
Count
Source
312
47.6M
{
313
47.6M
    return ob->ob_type;
314
47.6M
}
Unexecuted instantiation: tracemalloc.c:_Py_TYPE_impl
Unexecuted instantiation: getopt.c:_Py_TYPE_impl
Unexecuted instantiation: pystrcmp.c:_Py_TYPE_impl
Unexecuted instantiation: pystrtod.c:_Py_TYPE_impl
Unexecuted instantiation: pystrhex.c:_Py_TYPE_impl
Unexecuted instantiation: dtoa.c:_Py_TYPE_impl
Unexecuted instantiation: fileutils.c:_Py_TYPE_impl
Unexecuted instantiation: suggestions.c:_Py_TYPE_impl
Unexecuted instantiation: perf_trampoline.c:_Py_TYPE_impl
Unexecuted instantiation: perf_jit_trampoline.c:_Py_TYPE_impl
Unexecuted instantiation: remote_debugging.c:_Py_TYPE_impl
Unexecuted instantiation: dynload_shlib.c:_Py_TYPE_impl
Unexecuted instantiation: config.c:_Py_TYPE_impl
Unexecuted instantiation: gcmodule.c:_Py_TYPE_impl
Unexecuted instantiation: _asynciomodule.c:_Py_TYPE_impl
Unexecuted instantiation: atexitmodule.c:_Py_TYPE_impl
Unexecuted instantiation: faulthandler.c:_Py_TYPE_impl
posixmodule.c:_Py_TYPE_impl
Line
Count
Source
312
5.36M
{
313
5.36M
    return ob->ob_type;
314
5.36M
}
Unexecuted instantiation: signalmodule.c:_Py_TYPE_impl
Unexecuted instantiation: _tracemalloc.c:_Py_TYPE_impl
Unexecuted instantiation: _suggestions.c:_Py_TYPE_impl
_datetimemodule.c:_Py_TYPE_impl
Line
Count
Source
312
147k
{
313
147k
    return ob->ob_type;
314
147k
}
_codecsmodule.c:_Py_TYPE_impl
Line
Count
Source
312
1.85M
{
313
1.85M
    return ob->ob_type;
314
1.85M
}
_collectionsmodule.c:_Py_TYPE_impl
Line
Count
Source
312
284k
{
313
284k
    return ob->ob_type;
314
284k
}
Unexecuted instantiation: errnomodule.c:_Py_TYPE_impl
_iomodule.c:_Py_TYPE_impl
Line
Count
Source
312
76.3k
{
313
76.3k
    return ob->ob_type;
314
76.3k
}
iobase.c:_Py_TYPE_impl
Line
Count
Source
312
58.5k
{
313
58.5k
    return ob->ob_type;
314
58.5k
}
fileio.c:_Py_TYPE_impl
Line
Count
Source
312
112k
{
313
112k
    return ob->ob_type;
314
112k
}
bytesio.c:_Py_TYPE_impl
Line
Count
Source
312
92.9k
{
313
92.9k
    return ob->ob_type;
314
92.9k
}
bufferedio.c:_Py_TYPE_impl
Line
Count
Source
312
162k
{
313
162k
    return ob->ob_type;
314
162k
}
textio.c:_Py_TYPE_impl
Line
Count
Source
312
954k
{
313
954k
    return ob->ob_type;
314
954k
}
stringio.c:_Py_TYPE_impl
Line
Count
Source
312
27.0M
{
313
27.0M
    return ob->ob_type;
314
27.0M
}
itertoolsmodule.c:_Py_TYPE_impl
Line
Count
Source
312
148k
{
313
148k
    return ob->ob_type;
314
148k
}
sre.c:_Py_TYPE_impl
Line
Count
Source
312
209M
{
313
209M
    return ob->ob_type;
314
209M
}
Unexecuted instantiation: _sysconfig.c:_Py_TYPE_impl
_threadmodule.c:_Py_TYPE_impl
Line
Count
Source
312
28.6M
{
313
28.6M
    return ob->ob_type;
314
28.6M
}
timemodule.c:_Py_TYPE_impl
Line
Count
Source
312
384
{
313
384
    return ob->ob_type;
314
384
}
Unexecuted instantiation: _typesmodule.c:_Py_TYPE_impl
Unexecuted instantiation: _typingmodule.c:_Py_TYPE_impl
_weakref.c:_Py_TYPE_impl
Line
Count
Source
312
51.5k
{
313
51.5k
    return ob->ob_type;
314
51.5k
}
_abc.c:_Py_TYPE_impl
Line
Count
Source
312
472k
{
313
472k
    return ob->ob_type;
314
472k
}
_functoolsmodule.c:_Py_TYPE_impl
Line
Count
Source
312
2.15M
{
313
2.15M
    return ob->ob_type;
314
2.15M
}
Unexecuted instantiation: _localemodule.c:_Py_TYPE_impl
Unexecuted instantiation: _opcode.c:_Py_TYPE_impl
_operator.c:_Py_TYPE_impl
Line
Count
Source
312
1.62M
{
313
1.62M
    return ob->ob_type;
314
1.62M
}
_stat.c:_Py_TYPE_impl
Line
Count
Source
312
2.05k
{
313
2.05k
    return ob->ob_type;
314
2.05k
}
Unexecuted instantiation: symtablemodule.c:_Py_TYPE_impl
Unexecuted instantiation: pwdmodule.c:_Py_TYPE_impl
getpath.c:_Py_TYPE_impl
Line
Count
Source
312
952
{
313
952
    return ob->ob_type;
314
952
}
Unexecuted instantiation: frozen.c:_Py_TYPE_impl
Unexecuted instantiation: getbuildinfo.c:_Py_TYPE_impl
Unexecuted instantiation: peg_api.c:_Py_TYPE_impl
Unexecuted instantiation: file_tokenizer.c:_Py_TYPE_impl
Unexecuted instantiation: helpers.c:_Py_TYPE_impl
Unexecuted instantiation: myreadline.c:_Py_TYPE_impl
abstract.c:_Py_TYPE_impl
Line
Count
Source
312
3.03G
{
313
3.03G
    return ob->ob_type;
314
3.03G
}
Unexecuted instantiation: boolobject.c:_Py_TYPE_impl
bytes_methods.c:_Py_TYPE_impl
Line
Count
Source
312
858k
{
313
858k
    return ob->ob_type;
314
858k
}
bytearrayobject.c:_Py_TYPE_impl
Line
Count
Source
312
390M
{
313
390M
    return ob->ob_type;
314
390M
}
capsule.c:_Py_TYPE_impl
Line
Count
Source
312
9.56k
{
313
9.56k
    return ob->ob_type;
314
9.56k
}
cellobject.c:_Py_TYPE_impl
Line
Count
Source
312
9.76k
{
313
9.76k
    return ob->ob_type;
314
9.76k
}
classobject.c:_Py_TYPE_impl
Line
Count
Source
312
40.4M
{
313
40.4M
    return ob->ob_type;
314
40.4M
}
codeobject.c:_Py_TYPE_impl
Line
Count
Source
312
7.02M
{
313
7.02M
    return ob->ob_type;
314
7.02M
}
complexobject.c:_Py_TYPE_impl
Line
Count
Source
312
8.15k
{
313
8.15k
    return ob->ob_type;
314
8.15k
}
descrobject.c:_Py_TYPE_impl
Line
Count
Source
312
1.02G
{
313
1.02G
    return ob->ob_type;
314
1.02G
}
enumobject.c:_Py_TYPE_impl
Line
Count
Source
312
159M
{
313
159M
    return ob->ob_type;
314
159M
}
genobject.c:_Py_TYPE_impl
Line
Count
Source
312
66.4M
{
313
66.4M
    return ob->ob_type;
314
66.4M
}
fileobject.c:_Py_TYPE_impl
Line
Count
Source
312
7.66k
{
313
7.66k
    return ob->ob_type;
314
7.66k
}
frameobject.c:_Py_TYPE_impl
Line
Count
Source
312
84
{
313
84
    return ob->ob_type;
314
84
}
funcobject.c:_Py_TYPE_impl
Line
Count
Source
312
140k
{
313
140k
    return ob->ob_type;
314
140k
}
Unexecuted instantiation: interpolationobject.c:_Py_TYPE_impl
iterobject.c:_Py_TYPE_impl
Line
Count
Source
312
3.41M
{
313
3.41M
    return ob->ob_type;
314
3.41M
}
lazyimportobject.c:_Py_TYPE_impl
Line
Count
Source
312
380
{
313
380
    return ob->ob_type;
314
380
}
odictobject.c:_Py_TYPE_impl
Line
Count
Source
312
18.9k
{
313
18.9k
    return ob->ob_type;
314
18.9k
}
methodobject.c:_Py_TYPE_impl
Line
Count
Source
312
281k
{
313
281k
    return ob->ob_type;
314
281k
}
namespaceobject.c:_Py_TYPE_impl
Line
Count
Source
312
521
{
313
521
    return ob->ob_type;
314
521
}
Unexecuted instantiation: _contextvars.c:_Py_TYPE_impl
Python-ast.c:_Py_TYPE_impl
Line
Count
Source
312
720k
{
313
720k
    return ob->ob_type;
314
720k
}
Python-tokenize.c:_Py_TYPE_impl
Line
Count
Source
312
24
{
313
24
    return ob->ob_type;
314
24
}
Unexecuted instantiation: asdl.c:_Py_TYPE_impl
Unexecuted instantiation: assemble.c:_Py_TYPE_impl
ast.c:_Py_TYPE_impl
Line
Count
Source
312
6.08k
{
313
6.08k
    return ob->ob_type;
314
6.08k
}
ast_preprocess.c:_Py_TYPE_impl
Line
Count
Source
312
103
{
313
103
    return ob->ob_type;
314
103
}
Unexecuted instantiation: ast_unparse.c:_Py_TYPE_impl
Unexecuted instantiation: critical_section.c:_Py_TYPE_impl
crossinterp.c:_Py_TYPE_impl
Line
Count
Source
312
34
{
313
34
    return ob->ob_type;
314
34
}
Unexecuted instantiation: getcopyright.c:_Py_TYPE_impl
Unexecuted instantiation: getplatform.c:_Py_TYPE_impl
Unexecuted instantiation: getversion.c:_Py_TYPE_impl
Unexecuted instantiation: optimizer.c:_Py_TYPE_impl
Unexecuted instantiation: pathconfig.c:_Py_TYPE_impl
pegen.c:_Py_TYPE_impl
Line
Count
Source
312
146k
{
313
146k
    return ob->ob_type;
314
146k
}
Unexecuted instantiation: pegen_errors.c:_Py_TYPE_impl
Unexecuted instantiation: parser.c:_Py_TYPE_impl
Unexecuted instantiation: buffer.c:_Py_TYPE_impl
Unexecuted instantiation: lexer.c:_Py_TYPE_impl
Unexecuted instantiation: state.c:_Py_TYPE_impl
readline_tokenizer.c:_Py_TYPE_impl
Line
Count
Source
312
344
{
313
344
    return ob->ob_type;
314
344
}
Unexecuted instantiation: string_tokenizer.c:_Py_TYPE_impl
Unexecuted instantiation: utf8_tokenizer.c:_Py_TYPE_impl
Unexecuted instantiation: getcompiler.c:_Py_TYPE_impl
Unexecuted instantiation: mystrtoul.c:_Py_TYPE_impl
Unexecuted instantiation: token.c:_Py_TYPE_impl
action_helpers.c:_Py_TYPE_impl
Line
Count
Source
312
140k
{
313
140k
    return ob->ob_type;
314
140k
}
Unexecuted instantiation: string_parser.c:_Py_TYPE_impl
315
316
// bpo-39573: The Py_SET_SIZE() function must be used to set an object size.
317
static inline Py_ssize_t
318
_Py_SIZE_impl(PyObject *ob)
319
13.3G
{
320
13.3G
    assert(Py_TYPE(ob) != &PyLong_Type);
321
13.3G
    assert(Py_TYPE(ob) != &PyBool_Type);
322
13.3G
    return  _PyVarObject_CAST(ob)->ob_size;
323
13.3G
}
bytesobject.c:_Py_SIZE_impl
Line
Count
Source
319
294M
{
320
294M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
294M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
294M
    return  _PyVarObject_CAST(ob)->ob_size;
323
294M
}
call.c:_Py_SIZE_impl
Line
Count
Source
319
128M
{
320
128M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
128M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
128M
    return  _PyVarObject_CAST(ob)->ob_size;
323
128M
}
exceptions.c:_Py_SIZE_impl
Line
Count
Source
319
20.6M
{
320
20.6M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
20.6M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
20.6M
    return  _PyVarObject_CAST(ob)->ob_size;
323
20.6M
}
genericaliasobject.c:_Py_SIZE_impl
Line
Count
Source
319
668
{
320
668
    assert(Py_TYPE(ob) != &PyLong_Type);
321
668
    assert(Py_TYPE(ob) != &PyBool_Type);
322
668
    return  _PyVarObject_CAST(ob)->ob_size;
323
668
}
floatobject.c:_Py_SIZE_impl
Line
Count
Source
319
540k
{
320
540k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
540k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
540k
    return  _PyVarObject_CAST(ob)->ob_size;
323
540k
}
listobject.c:_Py_SIZE_impl
Line
Count
Source
319
2.44G
{
320
2.44G
    assert(Py_TYPE(ob) != &PyLong_Type);
321
2.44G
    assert(Py_TYPE(ob) != &PyBool_Type);
322
2.44G
    return  _PyVarObject_CAST(ob)->ob_size;
323
2.44G
}
longobject.c:_Py_SIZE_impl
Line
Count
Source
319
14.2M
{
320
14.2M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
14.2M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
14.2M
    return  _PyVarObject_CAST(ob)->ob_size;
323
14.2M
}
dictobject.c:_Py_SIZE_impl
Line
Count
Source
319
103k
{
320
103k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
103k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
103k
    return  _PyVarObject_CAST(ob)->ob_size;
323
103k
}
memoryobject.c:_Py_SIZE_impl
Line
Count
Source
319
91.9k
{
320
91.9k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
91.9k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
91.9k
    return  _PyVarObject_CAST(ob)->ob_size;
323
91.9k
}
moduleobject.c:_Py_SIZE_impl
Line
Count
Source
319
8.08k
{
320
8.08k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
8.08k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
8.08k
    return  _PyVarObject_CAST(ob)->ob_size;
323
8.08k
}
object.c:_Py_SIZE_impl
Line
Count
Source
319
7.42M
{
320
7.42M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
7.42M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
7.42M
    return  _PyVarObject_CAST(ob)->ob_size;
323
7.42M
}
Unexecuted instantiation: obmalloc.c:_Py_SIZE_impl
Unexecuted instantiation: picklebufobject.c:_Py_SIZE_impl
Unexecuted instantiation: rangeobject.c:_Py_SIZE_impl
Unexecuted instantiation: setobject.c:_Py_SIZE_impl
Unexecuted instantiation: sliceobject.c:_Py_SIZE_impl
structseq.c:_Py_SIZE_impl
Line
Count
Source
319
471k
{
320
471k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
471k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
471k
    return  _PyVarObject_CAST(ob)->ob_size;
323
471k
}
Unexecuted instantiation: templateobject.c:_Py_SIZE_impl
tupleobject.c:_Py_SIZE_impl
Line
Count
Source
319
6.53G
{
320
6.53G
    assert(Py_TYPE(ob) != &PyLong_Type);
321
6.53G
    assert(Py_TYPE(ob) != &PyBool_Type);
322
6.53G
    return  _PyVarObject_CAST(ob)->ob_size;
323
6.53G
}
typeobject.c:_Py_SIZE_impl
Line
Count
Source
319
982M
{
320
982M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
982M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
982M
    return  _PyVarObject_CAST(ob)->ob_size;
323
982M
}
typevarobject.c:_Py_SIZE_impl
Line
Count
Source
319
1.12k
{
320
1.12k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
1.12k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
1.12k
    return  _PyVarObject_CAST(ob)->ob_size;
323
1.12k
}
Unexecuted instantiation: unicode_format.c:_Py_SIZE_impl
Unexecuted instantiation: unicode_formatter.c:_Py_SIZE_impl
Unexecuted instantiation: unicode_writer.c:_Py_SIZE_impl
Unexecuted instantiation: unicodectype.c:_Py_SIZE_impl
unicodeobject.c:_Py_SIZE_impl
Line
Count
Source
319
95.2M
{
320
95.2M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
95.2M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
95.2M
    return  _PyVarObject_CAST(ob)->ob_size;
323
95.2M
}
unionobject.c:_Py_SIZE_impl
Line
Count
Source
319
1.65k
{
320
1.65k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
1.65k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
1.65k
    return  _PyVarObject_CAST(ob)->ob_size;
323
1.65k
}
Unexecuted instantiation: weakrefobject.c:_Py_SIZE_impl
_warnings.c:_Py_SIZE_impl
Line
Count
Source
319
3.33M
{
320
3.33M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
3.33M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
3.33M
    return  _PyVarObject_CAST(ob)->ob_size;
323
3.33M
}
bltinmodule.c:_Py_SIZE_impl
Line
Count
Source
319
85.3M
{
320
85.3M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
85.3M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
85.3M
    return  _PyVarObject_CAST(ob)->ob_size;
323
85.3M
}
ceval.c:_Py_SIZE_impl
Line
Count
Source
319
2.18G
{
320
2.18G
    assert(Py_TYPE(ob) != &PyLong_Type);
321
2.18G
    assert(Py_TYPE(ob) != &PyBool_Type);
322
2.18G
    return  _PyVarObject_CAST(ob)->ob_size;
323
2.18G
}
codecs.c:_Py_SIZE_impl
Line
Count
Source
319
1.49M
{
320
1.49M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
1.49M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
1.49M
    return  _PyVarObject_CAST(ob)->ob_size;
323
1.49M
}
codegen.c:_Py_SIZE_impl
Line
Count
Source
319
182
{
320
182
    assert(Py_TYPE(ob) != &PyLong_Type);
321
182
    assert(Py_TYPE(ob) != &PyBool_Type);
322
182
    return  _PyVarObject_CAST(ob)->ob_size;
323
182
}
compile.c:_Py_SIZE_impl
Line
Count
Source
319
32.3k
{
320
32.3k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
32.3k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
32.3k
    return  _PyVarObject_CAST(ob)->ob_size;
323
32.3k
}
Unexecuted instantiation: context.c:_Py_SIZE_impl
Unexecuted instantiation: errors.c:_Py_SIZE_impl
flowgraph.c:_Py_SIZE_impl
Line
Count
Source
319
31.2k
{
320
31.2k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
31.2k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
31.2k
    return  _PyVarObject_CAST(ob)->ob_size;
323
31.2k
}
Unexecuted instantiation: frame.c:_Py_SIZE_impl
Unexecuted instantiation: future.c:_Py_SIZE_impl
gc.c:_Py_SIZE_impl
Line
Count
Source
319
376k
{
320
376k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
376k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
376k
    return  _PyVarObject_CAST(ob)->ob_size;
323
376k
}
Unexecuted instantiation: gc_gil.c:_Py_SIZE_impl
getargs.c:_Py_SIZE_impl
Line
Count
Source
319
18.4M
{
320
18.4M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
18.4M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
18.4M
    return  _PyVarObject_CAST(ob)->ob_size;
323
18.4M
}
Unexecuted instantiation: ceval_gil.c:_Py_SIZE_impl
Unexecuted instantiation: hamt.c:_Py_SIZE_impl
Unexecuted instantiation: hashtable.c:_Py_SIZE_impl
import.c:_Py_SIZE_impl
Line
Count
Source
319
418
{
320
418
    assert(Py_TYPE(ob) != &PyLong_Type);
321
418
    assert(Py_TYPE(ob) != &PyBool_Type);
322
418
    return  _PyVarObject_CAST(ob)->ob_size;
323
418
}
Unexecuted instantiation: importdl.c:_Py_SIZE_impl
initconfig.c:_Py_SIZE_impl
Line
Count
Source
319
136
{
320
136
    assert(Py_TYPE(ob) != &PyLong_Type);
321
136
    assert(Py_TYPE(ob) != &PyBool_Type);
322
136
    return  _PyVarObject_CAST(ob)->ob_size;
323
136
}
Unexecuted instantiation: instrumentation.c:_Py_SIZE_impl
Unexecuted instantiation: instruction_sequence.c:_Py_SIZE_impl
intrinsics.c:_Py_SIZE_impl
Line
Count
Source
319
17.5M
{
320
17.5M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
17.5M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
17.5M
    return  _PyVarObject_CAST(ob)->ob_size;
323
17.5M
}
Unexecuted instantiation: legacy_tracing.c:_Py_SIZE_impl
Unexecuted instantiation: lock.c:_Py_SIZE_impl
marshal.c:_Py_SIZE_impl
Line
Count
Source
319
2.13M
{
320
2.13M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
2.13M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
2.13M
    return  _PyVarObject_CAST(ob)->ob_size;
323
2.13M
}
Unexecuted instantiation: modsupport.c:_Py_SIZE_impl
Unexecuted instantiation: mysnprintf.c:_Py_SIZE_impl
Unexecuted instantiation: parking_lot.c:_Py_SIZE_impl
Unexecuted instantiation: preconfig.c:_Py_SIZE_impl
Unexecuted instantiation: pyarena.c:_Py_SIZE_impl
Unexecuted instantiation: pyctype.c:_Py_SIZE_impl
Unexecuted instantiation: pyhash.c:_Py_SIZE_impl
Unexecuted instantiation: pylifecycle.c:_Py_SIZE_impl
Unexecuted instantiation: pymath.c:_Py_SIZE_impl
Unexecuted instantiation: pystate.c:_Py_SIZE_impl
pythonrun.c:_Py_SIZE_impl
Line
Count
Source
319
18.2k
{
320
18.2k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
18.2k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
18.2k
    return  _PyVarObject_CAST(ob)->ob_size;
323
18.2k
}
Unexecuted instantiation: pytime.c:_Py_SIZE_impl
Unexecuted instantiation: qsbr.c:_Py_SIZE_impl
Unexecuted instantiation: bootstrap_hash.c:_Py_SIZE_impl
specialize.c:_Py_SIZE_impl
Line
Count
Source
319
8.88k
{
320
8.88k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
8.88k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
8.88k
    return  _PyVarObject_CAST(ob)->ob_size;
323
8.88k
}
Unexecuted instantiation: structmember.c:_Py_SIZE_impl
symtable.c:_Py_SIZE_impl
Line
Count
Source
319
35.0k
{
320
35.0k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
35.0k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
35.0k
    return  _PyVarObject_CAST(ob)->ob_size;
323
35.0k
}
Unexecuted instantiation: sysmodule.c:_Py_SIZE_impl
Unexecuted instantiation: thread.c:_Py_SIZE_impl
Unexecuted instantiation: traceback.c:_Py_SIZE_impl
Unexecuted instantiation: tracemalloc.c:_Py_SIZE_impl
Unexecuted instantiation: getopt.c:_Py_SIZE_impl
Unexecuted instantiation: pystrcmp.c:_Py_SIZE_impl
Unexecuted instantiation: pystrtod.c:_Py_SIZE_impl
Unexecuted instantiation: pystrhex.c:_Py_SIZE_impl
Unexecuted instantiation: dtoa.c:_Py_SIZE_impl
Unexecuted instantiation: fileutils.c:_Py_SIZE_impl
Unexecuted instantiation: suggestions.c:_Py_SIZE_impl
Unexecuted instantiation: perf_trampoline.c:_Py_SIZE_impl
Unexecuted instantiation: perf_jit_trampoline.c:_Py_SIZE_impl
Unexecuted instantiation: remote_debugging.c:_Py_SIZE_impl
Unexecuted instantiation: dynload_shlib.c:_Py_SIZE_impl
Unexecuted instantiation: config.c:_Py_SIZE_impl
Unexecuted instantiation: gcmodule.c:_Py_SIZE_impl
Unexecuted instantiation: _asynciomodule.c:_Py_SIZE_impl
atexitmodule.c:_Py_SIZE_impl
Line
Count
Source
319
10
{
320
10
    assert(Py_TYPE(ob) != &PyLong_Type);
321
10
    assert(Py_TYPE(ob) != &PyBool_Type);
322
10
    return  _PyVarObject_CAST(ob)->ob_size;
323
10
}
Unexecuted instantiation: faulthandler.c:_Py_SIZE_impl
posixmodule.c:_Py_SIZE_impl
Line
Count
Source
319
1.57M
{
320
1.57M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
1.57M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
1.57M
    return  _PyVarObject_CAST(ob)->ob_size;
323
1.57M
}
Unexecuted instantiation: signalmodule.c:_Py_SIZE_impl
Unexecuted instantiation: _tracemalloc.c:_Py_SIZE_impl
Unexecuted instantiation: _suggestions.c:_Py_SIZE_impl
_datetimemodule.c:_Py_SIZE_impl
Line
Count
Source
319
62.8k
{
320
62.8k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
62.8k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
62.8k
    return  _PyVarObject_CAST(ob)->ob_size;
323
62.8k
}
Unexecuted instantiation: _codecsmodule.c:_Py_SIZE_impl
_collectionsmodule.c:_Py_SIZE_impl
Line
Count
Source
319
207M
{
320
207M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
207M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
207M
    return  _PyVarObject_CAST(ob)->ob_size;
323
207M
}
Unexecuted instantiation: errnomodule.c:_Py_SIZE_impl
Unexecuted instantiation: _iomodule.c:_Py_SIZE_impl
Unexecuted instantiation: iobase.c:_Py_SIZE_impl
fileio.c:_Py_SIZE_impl
Line
Count
Source
319
34.4k
{
320
34.4k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
34.4k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
34.4k
    return  _PyVarObject_CAST(ob)->ob_size;
323
34.4k
}
bytesio.c:_Py_SIZE_impl
Line
Count
Source
319
303k
{
320
303k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
303k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
303k
    return  _PyVarObject_CAST(ob)->ob_size;
323
303k
}
bufferedio.c:_Py_SIZE_impl
Line
Count
Source
319
34.4k
{
320
34.4k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
34.4k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
34.4k
    return  _PyVarObject_CAST(ob)->ob_size;
323
34.4k
}
textio.c:_Py_SIZE_impl
Line
Count
Source
319
18.5k
{
320
18.5k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
18.5k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
18.5k
    return  _PyVarObject_CAST(ob)->ob_size;
323
18.5k
}
stringio.c:_Py_SIZE_impl
Line
Count
Source
319
37.8k
{
320
37.8k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
37.8k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
37.8k
    return  _PyVarObject_CAST(ob)->ob_size;
323
37.8k
}
itertoolsmodule.c:_Py_SIZE_impl
Line
Count
Source
319
6.86k
{
320
6.86k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
6.86k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
6.86k
    return  _PyVarObject_CAST(ob)->ob_size;
323
6.86k
}
sre.c:_Py_SIZE_impl
Line
Count
Source
319
36.4M
{
320
36.4M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
36.4M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
36.4M
    return  _PyVarObject_CAST(ob)->ob_size;
323
36.4M
}
Unexecuted instantiation: _sysconfig.c:_Py_SIZE_impl
Unexecuted instantiation: _threadmodule.c:_Py_SIZE_impl
Unexecuted instantiation: timemodule.c:_Py_SIZE_impl
Unexecuted instantiation: _typesmodule.c:_Py_SIZE_impl
Unexecuted instantiation: _typingmodule.c:_Py_SIZE_impl
Unexecuted instantiation: _weakref.c:_Py_SIZE_impl
_abc.c:_Py_SIZE_impl
Line
Count
Source
319
59.2k
{
320
59.2k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
59.2k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
59.2k
    return  _PyVarObject_CAST(ob)->ob_size;
323
59.2k
}
_functoolsmodule.c:_Py_SIZE_impl
Line
Count
Source
319
371k
{
320
371k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
371k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
371k
    return  _PyVarObject_CAST(ob)->ob_size;
323
371k
}
Unexecuted instantiation: _localemodule.c:_Py_SIZE_impl
Unexecuted instantiation: _opcode.c:_Py_SIZE_impl
_operator.c:_Py_SIZE_impl
Line
Count
Source
319
1.33M
{
320
1.33M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
1.33M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
1.33M
    return  _PyVarObject_CAST(ob)->ob_size;
323
1.33M
}
Unexecuted instantiation: _stat.c:_Py_SIZE_impl
Unexecuted instantiation: symtablemodule.c:_Py_SIZE_impl
Unexecuted instantiation: pwdmodule.c:_Py_SIZE_impl
getpath.c:_Py_SIZE_impl
Line
Count
Source
319
306
{
320
306
    assert(Py_TYPE(ob) != &PyLong_Type);
321
306
    assert(Py_TYPE(ob) != &PyBool_Type);
322
306
    return  _PyVarObject_CAST(ob)->ob_size;
323
306
}
Unexecuted instantiation: frozen.c:_Py_SIZE_impl
Unexecuted instantiation: getbuildinfo.c:_Py_SIZE_impl
Unexecuted instantiation: peg_api.c:_Py_SIZE_impl
Unexecuted instantiation: file_tokenizer.c:_Py_SIZE_impl
Unexecuted instantiation: helpers.c:_Py_SIZE_impl
Unexecuted instantiation: myreadline.c:_Py_SIZE_impl
abstract.c:_Py_SIZE_impl
Line
Count
Source
319
1.62M
{
320
1.62M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
1.62M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
1.62M
    return  _PyVarObject_CAST(ob)->ob_size;
323
1.62M
}
Unexecuted instantiation: boolobject.c:_Py_SIZE_impl
bytes_methods.c:_Py_SIZE_impl
Line
Count
Source
319
160k
{
320
160k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
160k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
160k
    return  _PyVarObject_CAST(ob)->ob_size;
323
160k
}
bytearrayobject.c:_Py_SIZE_impl
Line
Count
Source
319
243M
{
320
243M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
243M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
243M
    return  _PyVarObject_CAST(ob)->ob_size;
323
243M
}
Unexecuted instantiation: capsule.c:_Py_SIZE_impl
Unexecuted instantiation: cellobject.c:_Py_SIZE_impl
classobject.c:_Py_SIZE_impl
Line
Count
Source
319
40
{
320
40
    assert(Py_TYPE(ob) != &PyLong_Type);
321
40
    assert(Py_TYPE(ob) != &PyBool_Type);
322
40
    return  _PyVarObject_CAST(ob)->ob_size;
323
40
}
codeobject.c:_Py_SIZE_impl
Line
Count
Source
319
5.10M
{
320
5.10M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
5.10M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
5.10M
    return  _PyVarObject_CAST(ob)->ob_size;
323
5.10M
}
Unexecuted instantiation: complexobject.c:_Py_SIZE_impl
descrobject.c:_Py_SIZE_impl
Line
Count
Source
319
16.0M
{
320
16.0M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
16.0M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
16.0M
    return  _PyVarObject_CAST(ob)->ob_size;
323
16.0M
}
enumobject.c:_Py_SIZE_impl
Line
Count
Source
319
6.03k
{
320
6.03k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
6.03k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
6.03k
    return  _PyVarObject_CAST(ob)->ob_size;
323
6.03k
}
Unexecuted instantiation: genobject.c:_Py_SIZE_impl
Unexecuted instantiation: fileobject.c:_Py_SIZE_impl
frameobject.c:_Py_SIZE_impl
Line
Count
Source
319
42
{
320
42
    assert(Py_TYPE(ob) != &PyLong_Type);
321
42
    assert(Py_TYPE(ob) != &PyBool_Type);
322
42
    return  _PyVarObject_CAST(ob)->ob_size;
323
42
}
funcobject.c:_Py_SIZE_impl
Line
Count
Source
319
9.51k
{
320
9.51k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
9.51k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
9.51k
    return  _PyVarObject_CAST(ob)->ob_size;
323
9.51k
}
Unexecuted instantiation: interpolationobject.c:_Py_SIZE_impl
Unexecuted instantiation: iterobject.c:_Py_SIZE_impl
Unexecuted instantiation: lazyimportobject.c:_Py_SIZE_impl
odictobject.c:_Py_SIZE_impl
Line
Count
Source
319
28.4k
{
320
28.4k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
28.4k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
28.4k
    return  _PyVarObject_CAST(ob)->ob_size;
323
28.4k
}
Unexecuted instantiation: methodobject.c:_Py_SIZE_impl
Unexecuted instantiation: namespaceobject.c:_Py_SIZE_impl
Unexecuted instantiation: _contextvars.c:_Py_SIZE_impl
Python-ast.c:_Py_SIZE_impl
Line
Count
Source
319
690
{
320
690
    assert(Py_TYPE(ob) != &PyLong_Type);
321
690
    assert(Py_TYPE(ob) != &PyBool_Type);
322
690
    return  _PyVarObject_CAST(ob)->ob_size;
323
690
}
Python-tokenize.c:_Py_SIZE_impl
Line
Count
Source
319
20
{
320
20
    assert(Py_TYPE(ob) != &PyLong_Type);
321
20
    assert(Py_TYPE(ob) != &PyBool_Type);
322
20
    return  _PyVarObject_CAST(ob)->ob_size;
323
20
}
Unexecuted instantiation: asdl.c:_Py_SIZE_impl
assemble.c:_Py_SIZE_impl
Line
Count
Source
319
358k
{
320
358k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
358k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
358k
    return  _PyVarObject_CAST(ob)->ob_size;
323
358k
}
Unexecuted instantiation: ast.c:_Py_SIZE_impl
Unexecuted instantiation: ast_preprocess.c:_Py_SIZE_impl
Unexecuted instantiation: ast_unparse.c:_Py_SIZE_impl
Unexecuted instantiation: critical_section.c:_Py_SIZE_impl
Unexecuted instantiation: crossinterp.c:_Py_SIZE_impl
Unexecuted instantiation: getcopyright.c:_Py_SIZE_impl
Unexecuted instantiation: getplatform.c:_Py_SIZE_impl
Unexecuted instantiation: getversion.c:_Py_SIZE_impl
Unexecuted instantiation: optimizer.c:_Py_SIZE_impl
Unexecuted instantiation: pathconfig.c:_Py_SIZE_impl
Unexecuted instantiation: pegen.c:_Py_SIZE_impl
Unexecuted instantiation: pegen_errors.c:_Py_SIZE_impl
Unexecuted instantiation: parser.c:_Py_SIZE_impl
Unexecuted instantiation: buffer.c:_Py_SIZE_impl
lexer.c:_Py_SIZE_impl
Line
Count
Source
319
370
{
320
370
    assert(Py_TYPE(ob) != &PyLong_Type);
321
370
    assert(Py_TYPE(ob) != &PyBool_Type);
322
370
    return  _PyVarObject_CAST(ob)->ob_size;
323
370
}
Unexecuted instantiation: state.c:_Py_SIZE_impl
readline_tokenizer.c:_Py_SIZE_impl
Line
Count
Source
319
4
{
320
4
    assert(Py_TYPE(ob) != &PyLong_Type);
321
4
    assert(Py_TYPE(ob) != &PyBool_Type);
322
4
    return  _PyVarObject_CAST(ob)->ob_size;
323
4
}
Unexecuted instantiation: string_tokenizer.c:_Py_SIZE_impl
Unexecuted instantiation: utf8_tokenizer.c:_Py_SIZE_impl
Unexecuted instantiation: getcompiler.c:_Py_SIZE_impl
Unexecuted instantiation: mystrtoul.c:_Py_SIZE_impl
Unexecuted instantiation: token.c:_Py_SIZE_impl
action_helpers.c:_Py_SIZE_impl
Line
Count
Source
319
3.88k
{
320
3.88k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
3.88k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
3.88k
    return  _PyVarObject_CAST(ob)->ob_size;
323
3.88k
}
Unexecuted instantiation: string_parser.c:_Py_SIZE_impl
324
325
static inline int
326
_Py_IS_TYPE_impl(PyObject *ob, PyTypeObject *type)
327
15.7G
{
328
15.7G
    return Py_TYPE(ob) == type;
329
15.7G
}
bytesobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
54.3M
{
328
54.3M
    return Py_TYPE(ob) == type;
329
54.3M
}
Unexecuted instantiation: call.c:_Py_IS_TYPE_impl
exceptions.c:_Py_IS_TYPE_impl
Line
Count
Source
327
45.7M
{
328
45.7M
    return Py_TYPE(ob) == type;
329
45.7M
}
genericaliasobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
244
{
328
244
    return Py_TYPE(ob) == type;
329
244
}
floatobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
20.0M
{
328
20.0M
    return Py_TYPE(ob) == type;
329
20.0M
}
listobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
466M
{
328
466M
    return Py_TYPE(ob) == type;
329
466M
}
longobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
1.02G
{
328
1.02G
    return Py_TYPE(ob) == type;
329
1.02G
}
dictobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
4.97G
{
328
4.97G
    return Py_TYPE(ob) == type;
329
4.97G
}
memoryobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
99.4k
{
328
99.4k
    return Py_TYPE(ob) == type;
329
99.4k
}
moduleobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
31.6M
{
328
31.6M
    return Py_TYPE(ob) == type;
329
31.6M
}
object.c:_Py_IS_TYPE_impl
Line
Count
Source
327
623M
{
328
623M
    return Py_TYPE(ob) == type;
329
623M
}
Unexecuted instantiation: obmalloc.c:_Py_IS_TYPE_impl
Unexecuted instantiation: picklebufobject.c:_Py_IS_TYPE_impl
rangeobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
1.63M
{
328
1.63M
    return Py_TYPE(ob) == type;
329
1.63M
}
setobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
489M
{
328
489M
    return Py_TYPE(ob) == type;
329
489M
}
sliceobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
80
{
328
80
    return Py_TYPE(ob) == type;
329
80
}
Unexecuted instantiation: structseq.c:_Py_IS_TYPE_impl
Unexecuted instantiation: templateobject.c:_Py_IS_TYPE_impl
tupleobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
652M
{
328
652M
    return Py_TYPE(ob) == type;
329
652M
}
typeobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
282M
{
328
282M
    return Py_TYPE(ob) == type;
329
282M
}
typevarobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
16
{
328
16
    return Py_TYPE(ob) == type;
329
16
}
unicode_format.c:_Py_IS_TYPE_impl
Line
Count
Source
327
85.8M
{
328
85.8M
    return Py_TYPE(ob) == type;
329
85.8M
}
unicode_formatter.c:_Py_IS_TYPE_impl
Line
Count
Source
327
16.3M
{
328
16.3M
    return Py_TYPE(ob) == type;
329
16.3M
}
Unexecuted instantiation: unicode_writer.c:_Py_IS_TYPE_impl
Unexecuted instantiation: unicodectype.c:_Py_IS_TYPE_impl
unicodeobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
395M
{
328
395M
    return Py_TYPE(ob) == type;
329
395M
}
unionobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
3.03k
{
328
3.03k
    return Py_TYPE(ob) == type;
329
3.03k
}
weakrefobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
2.19M
{
328
2.19M
    return Py_TYPE(ob) == type;
329
2.19M
}
_warnings.c:_Py_IS_TYPE_impl
Line
Count
Source
327
3.28M
{
328
3.28M
    return Py_TYPE(ob) == type;
329
3.28M
}
bltinmodule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
50.4M
{
328
50.4M
    return Py_TYPE(ob) == type;
329
50.4M
}
ceval.c:_Py_IS_TYPE_impl
Line
Count
Source
327
4.83G
{
328
4.83G
    return Py_TYPE(ob) == type;
329
4.83G
}
codecs.c:_Py_IS_TYPE_impl
Line
Count
Source
327
2.16M
{
328
2.16M
    return Py_TYPE(ob) == type;
329
2.16M
}
Unexecuted instantiation: codegen.c:_Py_IS_TYPE_impl
compile.c:_Py_IS_TYPE_impl
Line
Count
Source
327
109k
{
328
109k
    return Py_TYPE(ob) == type;
329
109k
}
context.c:_Py_IS_TYPE_impl
Line
Count
Source
327
223k
{
328
223k
    return Py_TYPE(ob) == type;
329
223k
}
Unexecuted instantiation: errors.c:_Py_IS_TYPE_impl
flowgraph.c:_Py_IS_TYPE_impl
Line
Count
Source
327
42.4k
{
328
42.4k
    return Py_TYPE(ob) == type;
329
42.4k
}
Unexecuted instantiation: frame.c:_Py_IS_TYPE_impl
Unexecuted instantiation: future.c:_Py_IS_TYPE_impl
gc.c:_Py_IS_TYPE_impl
Line
Count
Source
327
239M
{
328
239M
    return Py_TYPE(ob) == type;
329
239M
}
Unexecuted instantiation: gc_gil.c:_Py_IS_TYPE_impl
getargs.c:_Py_IS_TYPE_impl
Line
Count
Source
327
10.5M
{
328
10.5M
    return Py_TYPE(ob) == type;
329
10.5M
}
Unexecuted instantiation: ceval_gil.c:_Py_IS_TYPE_impl
Unexecuted instantiation: hamt.c:_Py_IS_TYPE_impl
Unexecuted instantiation: hashtable.c:_Py_IS_TYPE_impl
import.c:_Py_IS_TYPE_impl
Line
Count
Source
327
8.85k
{
328
8.85k
    return Py_TYPE(ob) == type;
329
8.85k
}
importdl.c:_Py_IS_TYPE_impl
Line
Count
Source
327
1.88k
{
328
1.88k
    return Py_TYPE(ob) == type;
329
1.88k
}
initconfig.c:_Py_IS_TYPE_impl
Line
Count
Source
327
272
{
328
272
    return Py_TYPE(ob) == type;
329
272
}
Unexecuted instantiation: instrumentation.c:_Py_IS_TYPE_impl
Unexecuted instantiation: instruction_sequence.c:_Py_IS_TYPE_impl
intrinsics.c:_Py_IS_TYPE_impl
Line
Count
Source
327
34.4k
{
328
34.4k
    return Py_TYPE(ob) == type;
329
34.4k
}
Unexecuted instantiation: legacy_tracing.c:_Py_IS_TYPE_impl
Unexecuted instantiation: lock.c:_Py_IS_TYPE_impl
marshal.c:_Py_IS_TYPE_impl
Line
Count
Source
327
228k
{
328
228k
    return Py_TYPE(ob) == type;
329
228k
}
modsupport.c:_Py_IS_TYPE_impl
Line
Count
Source
327
21.4k
{
328
21.4k
    return Py_TYPE(ob) == type;
329
21.4k
}
Unexecuted instantiation: mysnprintf.c:_Py_IS_TYPE_impl
Unexecuted instantiation: parking_lot.c:_Py_IS_TYPE_impl
Unexecuted instantiation: preconfig.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pyarena.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pyctype.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pyhash.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pylifecycle.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pymath.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pystate.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pythonrun.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pytime.c:_Py_IS_TYPE_impl
Unexecuted instantiation: qsbr.c:_Py_IS_TYPE_impl
Unexecuted instantiation: bootstrap_hash.c:_Py_IS_TYPE_impl
specialize.c:_Py_IS_TYPE_impl
Line
Count
Source
327
186M
{
328
186M
    return Py_TYPE(ob) == type;
329
186M
}
structmember.c:_Py_IS_TYPE_impl
Line
Count
Source
327
5
{
328
5
    return Py_TYPE(ob) == type;
329
5
}
Unexecuted instantiation: symtable.c:_Py_IS_TYPE_impl
sysmodule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
2.02k
{
328
2.02k
    return Py_TYPE(ob) == type;
329
2.02k
}
Unexecuted instantiation: thread.c:_Py_IS_TYPE_impl
traceback.c:_Py_IS_TYPE_impl
Line
Count
Source
327
47.6M
{
328
47.6M
    return Py_TYPE(ob) == type;
329
47.6M
}
Unexecuted instantiation: tracemalloc.c:_Py_IS_TYPE_impl
Unexecuted instantiation: getopt.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pystrcmp.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pystrtod.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pystrhex.c:_Py_IS_TYPE_impl
Unexecuted instantiation: dtoa.c:_Py_IS_TYPE_impl
Unexecuted instantiation: fileutils.c:_Py_IS_TYPE_impl
Unexecuted instantiation: suggestions.c:_Py_IS_TYPE_impl
Unexecuted instantiation: perf_trampoline.c:_Py_IS_TYPE_impl
Unexecuted instantiation: perf_jit_trampoline.c:_Py_IS_TYPE_impl
Unexecuted instantiation: remote_debugging.c:_Py_IS_TYPE_impl
Unexecuted instantiation: dynload_shlib.c:_Py_IS_TYPE_impl
Unexecuted instantiation: config.c:_Py_IS_TYPE_impl
Unexecuted instantiation: gcmodule.c:_Py_IS_TYPE_impl
Unexecuted instantiation: _asynciomodule.c:_Py_IS_TYPE_impl
Unexecuted instantiation: atexitmodule.c:_Py_IS_TYPE_impl
Unexecuted instantiation: faulthandler.c:_Py_IS_TYPE_impl
posixmodule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
520k
{
328
520k
    return Py_TYPE(ob) == type;
329
520k
}
Unexecuted instantiation: signalmodule.c:_Py_IS_TYPE_impl
Unexecuted instantiation: _tracemalloc.c:_Py_IS_TYPE_impl
Unexecuted instantiation: _suggestions.c:_Py_IS_TYPE_impl
_datetimemodule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
41.1k
{
328
41.1k
    return Py_TYPE(ob) == type;
329
41.1k
}
Unexecuted instantiation: _codecsmodule.c:_Py_IS_TYPE_impl
Unexecuted instantiation: _collectionsmodule.c:_Py_IS_TYPE_impl
Unexecuted instantiation: errnomodule.c:_Py_IS_TYPE_impl
Unexecuted instantiation: _iomodule.c:_Py_IS_TYPE_impl
Unexecuted instantiation: iobase.c:_Py_IS_TYPE_impl
fileio.c:_Py_IS_TYPE_impl
Line
Count
Source
327
34.4k
{
328
34.4k
    return Py_TYPE(ob) == type;
329
34.4k
}
bytesio.c:_Py_IS_TYPE_impl
Line
Count
Source
327
39.2k
{
328
39.2k
    return Py_TYPE(ob) == type;
329
39.2k
}
bufferedio.c:_Py_IS_TYPE_impl
Line
Count
Source
327
68.9k
{
328
68.9k
    return Py_TYPE(ob) == type;
329
68.9k
}
textio.c:_Py_IS_TYPE_impl
Line
Count
Source
327
242k
{
328
242k
    return Py_TYPE(ob) == type;
329
242k
}
stringio.c:_Py_IS_TYPE_impl
Line
Count
Source
327
26.8M
{
328
26.8M
    return Py_TYPE(ob) == type;
329
26.8M
}
Unexecuted instantiation: itertoolsmodule.c:_Py_IS_TYPE_impl
sre.c:_Py_IS_TYPE_impl
Line
Count
Source
327
97.9k
{
328
97.9k
    return Py_TYPE(ob) == type;
329
97.9k
}
Unexecuted instantiation: _sysconfig.c:_Py_IS_TYPE_impl
_threadmodule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
13.9M
{
328
13.9M
    return Py_TYPE(ob) == type;
329
13.9M
}
timemodule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
192
{
328
192
    return Py_TYPE(ob) == type;
329
192
}
Unexecuted instantiation: _typesmodule.c:_Py_IS_TYPE_impl
Unexecuted instantiation: _typingmodule.c:_Py_IS_TYPE_impl
_weakref.c:_Py_IS_TYPE_impl
Line
Count
Source
327
17.1k
{
328
17.1k
    return Py_TYPE(ob) == type;
329
17.1k
}
_abc.c:_Py_IS_TYPE_impl
Line
Count
Source
327
142k
{
328
142k
    return Py_TYPE(ob) == type;
329
142k
}
_functoolsmodule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
248k
{
328
248k
    return Py_TYPE(ob) == type;
329
248k
}
Unexecuted instantiation: _localemodule.c:_Py_IS_TYPE_impl
Unexecuted instantiation: _opcode.c:_Py_IS_TYPE_impl
_operator.c:_Py_IS_TYPE_impl
Line
Count
Source
327
1.33M
{
328
1.33M
    return Py_TYPE(ob) == type;
329
1.33M
}
Unexecuted instantiation: _stat.c:_Py_IS_TYPE_impl
Unexecuted instantiation: symtablemodule.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pwdmodule.c:_Py_IS_TYPE_impl
getpath.c:_Py_IS_TYPE_impl
Line
Count
Source
327
34
{
328
34
    return Py_TYPE(ob) == type;
329
34
}
Unexecuted instantiation: frozen.c:_Py_IS_TYPE_impl
Unexecuted instantiation: getbuildinfo.c:_Py_IS_TYPE_impl
Unexecuted instantiation: peg_api.c:_Py_IS_TYPE_impl
Unexecuted instantiation: file_tokenizer.c:_Py_IS_TYPE_impl
Unexecuted instantiation: helpers.c:_Py_IS_TYPE_impl
Unexecuted instantiation: myreadline.c:_Py_IS_TYPE_impl
abstract.c:_Py_IS_TYPE_impl
Line
Count
Source
327
499M
{
328
499M
    return Py_TYPE(ob) == type;
329
499M
}
Unexecuted instantiation: boolobject.c:_Py_IS_TYPE_impl
Unexecuted instantiation: bytes_methods.c:_Py_IS_TYPE_impl
bytearrayobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
113M
{
328
113M
    return Py_TYPE(ob) == type;
329
113M
}
capsule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
9.56k
{
328
9.56k
    return Py_TYPE(ob) == type;
329
9.56k
}
cellobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
9.76k
{
328
9.76k
    return Py_TYPE(ob) == type;
329
9.76k
}
Unexecuted instantiation: classobject.c:_Py_IS_TYPE_impl
codeobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
4.90M
{
328
4.90M
    return Py_TYPE(ob) == type;
329
4.90M
}
complexobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
8.15k
{
328
8.15k
    return Py_TYPE(ob) == type;
329
8.15k
}
descrobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
516M
{
328
516M
    return Py_TYPE(ob) == type;
329
516M
}
Unexecuted instantiation: enumobject.c:_Py_IS_TYPE_impl
genobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
66.3M
{
328
66.3M
    return Py_TYPE(ob) == type;
329
66.3M
}
Unexecuted instantiation: fileobject.c:_Py_IS_TYPE_impl
frameobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
42
{
328
42
    return Py_TYPE(ob) == type;
329
42
}
funcobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
28.4k
{
328
28.4k
    return Py_TYPE(ob) == type;
329
28.4k
}
Unexecuted instantiation: interpolationobject.c:_Py_IS_TYPE_impl
Unexecuted instantiation: iterobject.c:_Py_IS_TYPE_impl
Unexecuted instantiation: lazyimportobject.c:_Py_IS_TYPE_impl
odictobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
18.9k
{
328
18.9k
    return Py_TYPE(ob) == type;
329
18.9k
}
methodobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
188k
{
328
188k
    return Py_TYPE(ob) == type;
329
188k
}
Unexecuted instantiation: namespaceobject.c:_Py_IS_TYPE_impl
Unexecuted instantiation: _contextvars.c:_Py_IS_TYPE_impl
Python-ast.c:_Py_IS_TYPE_impl
Line
Count
Source
327
192
{
328
192
    return Py_TYPE(ob) == type;
329
192
}
Unexecuted instantiation: Python-tokenize.c:_Py_IS_TYPE_impl
Unexecuted instantiation: asdl.c:_Py_IS_TYPE_impl
Unexecuted instantiation: assemble.c:_Py_IS_TYPE_impl
ast.c:_Py_IS_TYPE_impl
Line
Count
Source
327
6.08k
{
328
6.08k
    return Py_TYPE(ob) == type;
329
6.08k
}
Unexecuted instantiation: ast_preprocess.c:_Py_IS_TYPE_impl
Unexecuted instantiation: ast_unparse.c:_Py_IS_TYPE_impl
Unexecuted instantiation: critical_section.c:_Py_IS_TYPE_impl
Unexecuted instantiation: crossinterp.c:_Py_IS_TYPE_impl
Unexecuted instantiation: getcopyright.c:_Py_IS_TYPE_impl
Unexecuted instantiation: getplatform.c:_Py_IS_TYPE_impl
Unexecuted instantiation: getversion.c:_Py_IS_TYPE_impl
Unexecuted instantiation: optimizer.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pathconfig.c:_Py_IS_TYPE_impl
pegen.c:_Py_IS_TYPE_impl
Line
Count
Source
327
102k
{
328
102k
    return Py_TYPE(ob) == type;
329
102k
}
Unexecuted instantiation: pegen_errors.c:_Py_IS_TYPE_impl
Unexecuted instantiation: parser.c:_Py_IS_TYPE_impl
Unexecuted instantiation: buffer.c:_Py_IS_TYPE_impl
Unexecuted instantiation: lexer.c:_Py_IS_TYPE_impl
Unexecuted instantiation: state.c:_Py_IS_TYPE_impl
Unexecuted instantiation: readline_tokenizer.c:_Py_IS_TYPE_impl
Unexecuted instantiation: string_tokenizer.c:_Py_IS_TYPE_impl
Unexecuted instantiation: utf8_tokenizer.c:_Py_IS_TYPE_impl
Unexecuted instantiation: getcompiler.c:_Py_IS_TYPE_impl
Unexecuted instantiation: mystrtoul.c:_Py_IS_TYPE_impl
Unexecuted instantiation: token.c:_Py_IS_TYPE_impl
action_helpers.c:_Py_IS_TYPE_impl
Line
Count
Source
327
140k
{
328
140k
    return Py_TYPE(ob) == type;
329
140k
}
Unexecuted instantiation: string_parser.c:_Py_IS_TYPE_impl
330
331
static inline void
332
_Py_SET_SIZE_impl(PyVarObject *ob, Py_ssize_t size)
333
1.70G
{
334
1.70G
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
1.70G
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
1.70G
    ob->ob_size = size;
340
1.70G
#endif
341
1.70G
}
bytesobject.c:_Py_SET_SIZE_impl
Line
Count
Source
333
91.8M
{
334
91.8M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
91.8M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
91.8M
    ob->ob_size = size;
340
91.8M
#endif
341
91.8M
}
Unexecuted instantiation: call.c:_Py_SET_SIZE_impl
Unexecuted instantiation: exceptions.c:_Py_SET_SIZE_impl
Unexecuted instantiation: genericaliasobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: floatobject.c:_Py_SET_SIZE_impl
listobject.c:_Py_SET_SIZE_impl
Line
Count
Source
333
878M
{
334
878M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
878M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
878M
    ob->ob_size = size;
340
878M
#endif
341
878M
}
Unexecuted instantiation: longobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: dictobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: memoryobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: moduleobject.c:_Py_SET_SIZE_impl
object.c:_Py_SET_SIZE_impl
Line
Count
Source
333
206k
{
334
206k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
206k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
206k
    ob->ob_size = size;
340
206k
#endif
341
206k
}
Unexecuted instantiation: obmalloc.c:_Py_SET_SIZE_impl
Unexecuted instantiation: picklebufobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: rangeobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: setobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: sliceobject.c:_Py_SET_SIZE_impl
structseq.c:_Py_SET_SIZE_impl
Line
Count
Source
333
429k
{
334
429k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
429k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
429k
    ob->ob_size = size;
340
429k
#endif
341
429k
}
Unexecuted instantiation: templateobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: tupleobject.c:_Py_SET_SIZE_impl
typeobject.c:_Py_SET_SIZE_impl
Line
Count
Source
333
2.38M
{
334
2.38M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
2.38M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
2.38M
    ob->ob_size = size;
340
2.38M
#endif
341
2.38M
}
Unexecuted instantiation: typevarobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: unicode_format.c:_Py_SET_SIZE_impl
Unexecuted instantiation: unicode_formatter.c:_Py_SET_SIZE_impl
Unexecuted instantiation: unicode_writer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: unicodectype.c:_Py_SET_SIZE_impl
unicodeobject.c:_Py_SET_SIZE_impl
Line
Count
Source
333
25.6M
{
334
25.6M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
25.6M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
25.6M
    ob->ob_size = size;
340
25.6M
#endif
341
25.6M
}
Unexecuted instantiation: unionobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: weakrefobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _warnings.c:_Py_SET_SIZE_impl
Unexecuted instantiation: bltinmodule.c:_Py_SET_SIZE_impl
ceval.c:_Py_SET_SIZE_impl
Line
Count
Source
333
322M
{
334
322M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
322M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
322M
    ob->ob_size = size;
340
322M
#endif
341
322M
}
Unexecuted instantiation: codecs.c:_Py_SET_SIZE_impl
Unexecuted instantiation: codegen.c:_Py_SET_SIZE_impl
Unexecuted instantiation: compile.c:_Py_SET_SIZE_impl
Unexecuted instantiation: context.c:_Py_SET_SIZE_impl
Unexecuted instantiation: errors.c:_Py_SET_SIZE_impl
Unexecuted instantiation: flowgraph.c:_Py_SET_SIZE_impl
Unexecuted instantiation: frame.c:_Py_SET_SIZE_impl
Unexecuted instantiation: future.c:_Py_SET_SIZE_impl
gc.c:_Py_SET_SIZE_impl
Line
Count
Source
333
232M
{
334
232M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
232M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
232M
    ob->ob_size = size;
340
232M
#endif
341
232M
}
Unexecuted instantiation: gc_gil.c:_Py_SET_SIZE_impl
Unexecuted instantiation: getargs.c:_Py_SET_SIZE_impl
Unexecuted instantiation: ceval_gil.c:_Py_SET_SIZE_impl
Unexecuted instantiation: hamt.c:_Py_SET_SIZE_impl
Unexecuted instantiation: hashtable.c:_Py_SET_SIZE_impl
Unexecuted instantiation: import.c:_Py_SET_SIZE_impl
Unexecuted instantiation: importdl.c:_Py_SET_SIZE_impl
Unexecuted instantiation: initconfig.c:_Py_SET_SIZE_impl
Unexecuted instantiation: instrumentation.c:_Py_SET_SIZE_impl
Unexecuted instantiation: instruction_sequence.c:_Py_SET_SIZE_impl
Unexecuted instantiation: intrinsics.c:_Py_SET_SIZE_impl
Unexecuted instantiation: legacy_tracing.c:_Py_SET_SIZE_impl
Unexecuted instantiation: lock.c:_Py_SET_SIZE_impl
Unexecuted instantiation: marshal.c:_Py_SET_SIZE_impl
Unexecuted instantiation: modsupport.c:_Py_SET_SIZE_impl
Unexecuted instantiation: mysnprintf.c:_Py_SET_SIZE_impl
Unexecuted instantiation: parking_lot.c:_Py_SET_SIZE_impl
Unexecuted instantiation: preconfig.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pyarena.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pyctype.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pyhash.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pylifecycle.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pymath.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pystate.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pythonrun.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pytime.c:_Py_SET_SIZE_impl
Unexecuted instantiation: qsbr.c:_Py_SET_SIZE_impl
Unexecuted instantiation: bootstrap_hash.c:_Py_SET_SIZE_impl
Unexecuted instantiation: specialize.c:_Py_SET_SIZE_impl
Unexecuted instantiation: structmember.c:_Py_SET_SIZE_impl
Unexecuted instantiation: symtable.c:_Py_SET_SIZE_impl
Unexecuted instantiation: sysmodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: thread.c:_Py_SET_SIZE_impl
Unexecuted instantiation: traceback.c:_Py_SET_SIZE_impl
Unexecuted instantiation: tracemalloc.c:_Py_SET_SIZE_impl
Unexecuted instantiation: getopt.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pystrcmp.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pystrtod.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pystrhex.c:_Py_SET_SIZE_impl
Unexecuted instantiation: dtoa.c:_Py_SET_SIZE_impl
Unexecuted instantiation: fileutils.c:_Py_SET_SIZE_impl
Unexecuted instantiation: suggestions.c:_Py_SET_SIZE_impl
Unexecuted instantiation: perf_trampoline.c:_Py_SET_SIZE_impl
Unexecuted instantiation: perf_jit_trampoline.c:_Py_SET_SIZE_impl
Unexecuted instantiation: remote_debugging.c:_Py_SET_SIZE_impl
Unexecuted instantiation: dynload_shlib.c:_Py_SET_SIZE_impl
Unexecuted instantiation: config.c:_Py_SET_SIZE_impl
Unexecuted instantiation: gcmodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _asynciomodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: atexitmodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: faulthandler.c:_Py_SET_SIZE_impl
Unexecuted instantiation: posixmodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: signalmodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _tracemalloc.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _suggestions.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _datetimemodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _codecsmodule.c:_Py_SET_SIZE_impl
_collectionsmodule.c:_Py_SET_SIZE_impl
Line
Count
Source
333
103M
{
334
103M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
103M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
103M
    ob->ob_size = size;
340
103M
#endif
341
103M
}
Unexecuted instantiation: errnomodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _iomodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: iobase.c:_Py_SET_SIZE_impl
Unexecuted instantiation: fileio.c:_Py_SET_SIZE_impl
Unexecuted instantiation: bytesio.c:_Py_SET_SIZE_impl
Unexecuted instantiation: bufferedio.c:_Py_SET_SIZE_impl
Unexecuted instantiation: textio.c:_Py_SET_SIZE_impl
Unexecuted instantiation: stringio.c:_Py_SET_SIZE_impl
Unexecuted instantiation: itertoolsmodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: sre.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _sysconfig.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _threadmodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: timemodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _typesmodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _typingmodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _weakref.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _abc.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _functoolsmodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _localemodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _opcode.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _operator.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _stat.c:_Py_SET_SIZE_impl
Unexecuted instantiation: symtablemodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pwdmodule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: getpath.c:_Py_SET_SIZE_impl
Unexecuted instantiation: frozen.c:_Py_SET_SIZE_impl
Unexecuted instantiation: getbuildinfo.c:_Py_SET_SIZE_impl
Unexecuted instantiation: peg_api.c:_Py_SET_SIZE_impl
Unexecuted instantiation: file_tokenizer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: helpers.c:_Py_SET_SIZE_impl
Unexecuted instantiation: myreadline.c:_Py_SET_SIZE_impl
abstract.c:_Py_SET_SIZE_impl
Line
Count
Source
333
1.18k
{
334
1.18k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
1.18k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
1.18k
    ob->ob_size = size;
340
1.18k
#endif
341
1.18k
}
Unexecuted instantiation: boolobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: bytes_methods.c:_Py_SET_SIZE_impl
bytearrayobject.c:_Py_SET_SIZE_impl
Line
Count
Source
333
45.2M
{
334
45.2M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
45.2M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
45.2M
    ob->ob_size = size;
340
45.2M
#endif
341
45.2M
}
Unexecuted instantiation: capsule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: cellobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: classobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: codeobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: complexobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: descrobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: enumobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: genobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: fileobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: frameobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: funcobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: interpolationobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: iterobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: lazyimportobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: odictobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: methodobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: namespaceobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _contextvars.c:_Py_SET_SIZE_impl
Unexecuted instantiation: Python-ast.c:_Py_SET_SIZE_impl
Unexecuted instantiation: Python-tokenize.c:_Py_SET_SIZE_impl
Unexecuted instantiation: asdl.c:_Py_SET_SIZE_impl
Unexecuted instantiation: assemble.c:_Py_SET_SIZE_impl
Unexecuted instantiation: ast.c:_Py_SET_SIZE_impl
Unexecuted instantiation: ast_preprocess.c:_Py_SET_SIZE_impl
Unexecuted instantiation: ast_unparse.c:_Py_SET_SIZE_impl
Unexecuted instantiation: critical_section.c:_Py_SET_SIZE_impl
Unexecuted instantiation: crossinterp.c:_Py_SET_SIZE_impl
Unexecuted instantiation: getcopyright.c:_Py_SET_SIZE_impl
Unexecuted instantiation: getplatform.c:_Py_SET_SIZE_impl
Unexecuted instantiation: getversion.c:_Py_SET_SIZE_impl
Unexecuted instantiation: optimizer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pathconfig.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pegen.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pegen_errors.c:_Py_SET_SIZE_impl
Unexecuted instantiation: parser.c:_Py_SET_SIZE_impl
Unexecuted instantiation: buffer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: lexer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: state.c:_Py_SET_SIZE_impl
Unexecuted instantiation: readline_tokenizer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: string_tokenizer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: utf8_tokenizer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: getcompiler.c:_Py_SET_SIZE_impl
Unexecuted instantiation: mystrtoul.c:_Py_SET_SIZE_impl
Unexecuted instantiation: token.c:_Py_SET_SIZE_impl
Unexecuted instantiation: action_helpers.c:_Py_SET_SIZE_impl
Unexecuted instantiation: string_parser.c:_Py_SET_SIZE_impl
342
343
#endif // !defined(_Py_OPAQUE_PYOBJECT)
344
345
346
/*
347
Type objects contain a string containing the type name (to help somewhat
348
in debugging), the allocation parameters (see PyObject_New() and
349
PyObject_NewVar()),
350
and methods for accessing objects of the type.  Methods are optional, a
351
nil pointer meaning that particular kind of access is not available for
352
this type.  The Py_DECREF() macro uses the tp_dealloc method without
353
checking for a nil pointer; it should always be implemented except if
354
the implementation can guarantee that the reference count will never
355
reach zero (e.g., for statically allocated type objects).
356
357
NB: the methods for certain type groups are now contained in separate
358
method blocks.
359
*/
360
361
typedef PyObject * (*unaryfunc)(PyObject *);
362
typedef PyObject * (*binaryfunc)(PyObject *, PyObject *);
363
typedef PyObject * (*ternaryfunc)(PyObject *, PyObject *, PyObject *);
364
typedef int (*inquiry)(PyObject *);
365
typedef Py_ssize_t (*lenfunc)(PyObject *);
366
typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t);
367
typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t);
368
typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *);
369
typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *);
370
typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *);
371
372
typedef int (*objobjproc)(PyObject *, PyObject *);
373
typedef int (*visitproc)(PyObject *, void *);
374
typedef int (*traverseproc)(PyObject *, visitproc, void *);
375
376
377
typedef void (*freefunc)(void *);
378
typedef void (*destructor)(PyObject *);
379
typedef PyObject *(*getattrfunc)(PyObject *, char *);
380
typedef PyObject *(*getattrofunc)(PyObject *, PyObject *);
381
typedef int (*setattrfunc)(PyObject *, char *, PyObject *);
382
typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *);
383
typedef PyObject *(*reprfunc)(PyObject *);
384
typedef Py_hash_t (*hashfunc)(PyObject *);
385
typedef PyObject *(*richcmpfunc) (PyObject *, PyObject *, int);
386
typedef PyObject *(*getiterfunc) (PyObject *);
387
typedef PyObject *(*iternextfunc) (PyObject *);
388
typedef PyObject *(*descrgetfunc) (PyObject *, PyObject *, PyObject *);
389
typedef int (*descrsetfunc) (PyObject *, PyObject *, PyObject *);
390
typedef int (*initproc)(PyObject *, PyObject *, PyObject *);
391
typedef PyObject *(*newfunc)(PyTypeObject *, PyObject *, PyObject *);
392
typedef PyObject *(*allocfunc)(PyTypeObject *, Py_ssize_t);
393
394
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030c0000 // 3.12
395
typedef PyObject *(*vectorcallfunc)(PyObject *callable, PyObject *const *args,
396
                                    size_t nargsf, PyObject *kwnames);
397
#endif
398
399
typedef struct{
400
    int slot;    /* slot id, see below */
401
    void *pfunc; /* function pointer */
402
} PyType_Slot;
403
404
typedef struct{
405
    const char* name;
406
    int basicsize;
407
    int itemsize;
408
    unsigned int flags;
409
    PyType_Slot *slots; /* terminated by slot==0. */
410
} PyType_Spec;
411
412
PyAPI_FUNC(PyObject*) PyType_FromSpec(PyType_Spec*);
413
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
414
PyAPI_FUNC(PyObject*) PyType_FromSpecWithBases(PyType_Spec*, PyObject*);
415
#endif
416
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03040000
417
PyAPI_FUNC(void*) PyType_GetSlot(PyTypeObject*, int);
418
#endif
419
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000
420
PyAPI_FUNC(PyObject*) PyType_FromModuleAndSpec(PyObject *, PyType_Spec *, PyObject *);
421
PyAPI_FUNC(PyObject *) PyType_GetModule(PyTypeObject *);
422
PyAPI_FUNC(void *) PyType_GetModuleState(PyTypeObject *);
423
#endif
424
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030B0000
425
PyAPI_FUNC(PyObject *) PyType_GetName(PyTypeObject *);
426
PyAPI_FUNC(PyObject *) PyType_GetQualName(PyTypeObject *);
427
#endif
428
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030D0000
429
PyAPI_FUNC(PyObject *) PyType_GetFullyQualifiedName(PyTypeObject *type);
430
PyAPI_FUNC(PyObject *) PyType_GetModuleName(PyTypeObject *type);
431
#endif
432
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000
433
PyAPI_FUNC(PyObject *) PyType_FromMetaclass(PyTypeObject*, PyObject*, PyType_Spec*, PyObject*);
434
PyAPI_FUNC(void *) PyObject_GetTypeData(PyObject *obj, PyTypeObject *cls);
435
PyAPI_FUNC(Py_ssize_t) PyType_GetTypeDataSize(PyTypeObject *cls);
436
#endif
437
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030E0000
438
PyAPI_FUNC(int) PyType_GetBaseByToken(PyTypeObject *, void *, PyTypeObject **);
439
30
#define Py_TP_USE_SPEC NULL
440
#endif
441
442
/* Generic type check */
443
PyAPI_FUNC(int) PyType_IsSubtype(PyTypeObject *, PyTypeObject *);
444
445
919M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
919M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
919M
}
Unexecuted instantiation: bytesobject.c:PyObject_TypeCheck
Unexecuted instantiation: call.c:PyObject_TypeCheck
exceptions.c:PyObject_TypeCheck
Line
Count
Source
445
1.22M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
1.22M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
1.22M
}
genericaliasobject.c:PyObject_TypeCheck
Line
Count
Source
445
152
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
152
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
152
}
floatobject.c:PyObject_TypeCheck
Line
Count
Source
445
9.40M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
9.40M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
9.40M
}
Unexecuted instantiation: listobject.c:PyObject_TypeCheck
longobject.c:PyObject_TypeCheck
Line
Count
Source
445
4.47M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
4.47M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
4.47M
}
dictobject.c:PyObject_TypeCheck
Line
Count
Source
445
20.9M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
20.9M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
20.9M
}
Unexecuted instantiation: memoryobject.c:PyObject_TypeCheck
moduleobject.c:PyObject_TypeCheck
Line
Count
Source
445
24.3M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
24.3M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
24.3M
}
Unexecuted instantiation: object.c:PyObject_TypeCheck
Unexecuted instantiation: obmalloc.c:PyObject_TypeCheck
Unexecuted instantiation: picklebufobject.c:PyObject_TypeCheck
Unexecuted instantiation: rangeobject.c:PyObject_TypeCheck
Unexecuted instantiation: setobject.c:PyObject_TypeCheck
Unexecuted instantiation: sliceobject.c:PyObject_TypeCheck
Unexecuted instantiation: structseq.c:PyObject_TypeCheck
Unexecuted instantiation: templateobject.c:PyObject_TypeCheck
Unexecuted instantiation: tupleobject.c:PyObject_TypeCheck
typeobject.c:PyObject_TypeCheck
Line
Count
Source
445
145M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
145M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
145M
}
Unexecuted instantiation: typevarobject.c:PyObject_TypeCheck
Unexecuted instantiation: unicode_format.c:PyObject_TypeCheck
Unexecuted instantiation: unicode_formatter.c:PyObject_TypeCheck
Unexecuted instantiation: unicode_writer.c:PyObject_TypeCheck
Unexecuted instantiation: unicodectype.c:PyObject_TypeCheck
Unexecuted instantiation: unicodeobject.c:PyObject_TypeCheck
unionobject.c:PyObject_TypeCheck
Line
Count
Source
445
316
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
316
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
316
}
weakrefobject.c:PyObject_TypeCheck
Line
Count
Source
445
1.06M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
1.06M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
1.06M
}
_warnings.c:PyObject_TypeCheck
Line
Count
Source
445
2.05M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
2.05M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
2.05M
}
bltinmodule.c:PyObject_TypeCheck
Line
Count
Source
445
9.18M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
9.18M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
9.18M
}
ceval.c:PyObject_TypeCheck
Line
Count
Source
445
62
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
62
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
62
}
codecs.c:PyObject_TypeCheck
Line
Count
Source
445
610k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
610k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
610k
}
Unexecuted instantiation: codegen.c:PyObject_TypeCheck
Unexecuted instantiation: compile.c:PyObject_TypeCheck
Unexecuted instantiation: context.c:PyObject_TypeCheck
Unexecuted instantiation: errors.c:PyObject_TypeCheck
Unexecuted instantiation: flowgraph.c:PyObject_TypeCheck
Unexecuted instantiation: frame.c:PyObject_TypeCheck
Unexecuted instantiation: future.c:PyObject_TypeCheck
gc.c:PyObject_TypeCheck
Line
Count
Source
445
10.8M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
10.8M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
10.8M
}
Unexecuted instantiation: gc_gil.c:PyObject_TypeCheck
Unexecuted instantiation: getargs.c:PyObject_TypeCheck
Unexecuted instantiation: ceval_gil.c:PyObject_TypeCheck
Unexecuted instantiation: hamt.c:PyObject_TypeCheck
Unexecuted instantiation: hashtable.c:PyObject_TypeCheck
import.c:PyObject_TypeCheck
Line
Count
Source
445
8.38k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
8.38k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
8.38k
}
importdl.c:PyObject_TypeCheck
Line
Count
Source
445
944
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
944
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
944
}
Unexecuted instantiation: initconfig.c:PyObject_TypeCheck
Unexecuted instantiation: instrumentation.c:PyObject_TypeCheck
Unexecuted instantiation: instruction_sequence.c:PyObject_TypeCheck
Unexecuted instantiation: intrinsics.c:PyObject_TypeCheck
Unexecuted instantiation: legacy_tracing.c:PyObject_TypeCheck
Unexecuted instantiation: lock.c:PyObject_TypeCheck
Unexecuted instantiation: marshal.c:PyObject_TypeCheck
modsupport.c:PyObject_TypeCheck
Line
Count
Source
445
21.4k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
21.4k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
21.4k
}
Unexecuted instantiation: mysnprintf.c:PyObject_TypeCheck
Unexecuted instantiation: parking_lot.c:PyObject_TypeCheck
Unexecuted instantiation: preconfig.c:PyObject_TypeCheck
Unexecuted instantiation: pyarena.c:PyObject_TypeCheck
Unexecuted instantiation: pyctype.c:PyObject_TypeCheck
Unexecuted instantiation: pyhash.c:PyObject_TypeCheck
Unexecuted instantiation: pylifecycle.c:PyObject_TypeCheck
Unexecuted instantiation: pymath.c:PyObject_TypeCheck
Unexecuted instantiation: pystate.c:PyObject_TypeCheck
Unexecuted instantiation: pythonrun.c:PyObject_TypeCheck
Unexecuted instantiation: pytime.c:PyObject_TypeCheck
Unexecuted instantiation: qsbr.c:PyObject_TypeCheck
Unexecuted instantiation: bootstrap_hash.c:PyObject_TypeCheck
specialize.c:PyObject_TypeCheck
Line
Count
Source
445
17.7k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
17.7k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
17.7k
}
Unexecuted instantiation: structmember.c:PyObject_TypeCheck
Unexecuted instantiation: symtable.c:PyObject_TypeCheck
Unexecuted instantiation: sysmodule.c:PyObject_TypeCheck
Unexecuted instantiation: thread.c:PyObject_TypeCheck
Unexecuted instantiation: traceback.c:PyObject_TypeCheck
Unexecuted instantiation: tracemalloc.c:PyObject_TypeCheck
Unexecuted instantiation: getopt.c:PyObject_TypeCheck
Unexecuted instantiation: pystrcmp.c:PyObject_TypeCheck
Unexecuted instantiation: pystrtod.c:PyObject_TypeCheck
Unexecuted instantiation: pystrhex.c:PyObject_TypeCheck
Unexecuted instantiation: dtoa.c:PyObject_TypeCheck
Unexecuted instantiation: fileutils.c:PyObject_TypeCheck
Unexecuted instantiation: suggestions.c:PyObject_TypeCheck
Unexecuted instantiation: perf_trampoline.c:PyObject_TypeCheck
Unexecuted instantiation: perf_jit_trampoline.c:PyObject_TypeCheck
Unexecuted instantiation: remote_debugging.c:PyObject_TypeCheck
Unexecuted instantiation: dynload_shlib.c:PyObject_TypeCheck
Unexecuted instantiation: config.c:PyObject_TypeCheck
Unexecuted instantiation: gcmodule.c:PyObject_TypeCheck
Unexecuted instantiation: _asynciomodule.c:PyObject_TypeCheck
Unexecuted instantiation: atexitmodule.c:PyObject_TypeCheck
Unexecuted instantiation: faulthandler.c:PyObject_TypeCheck
Unexecuted instantiation: posixmodule.c:PyObject_TypeCheck
Unexecuted instantiation: signalmodule.c:PyObject_TypeCheck
Unexecuted instantiation: _tracemalloc.c:PyObject_TypeCheck
Unexecuted instantiation: _suggestions.c:PyObject_TypeCheck
_datetimemodule.c:PyObject_TypeCheck
Line
Count
Source
445
41.1k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
41.1k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
41.1k
}
Unexecuted instantiation: _codecsmodule.c:PyObject_TypeCheck
Unexecuted instantiation: _collectionsmodule.c:PyObject_TypeCheck
Unexecuted instantiation: errnomodule.c:PyObject_TypeCheck
Unexecuted instantiation: _iomodule.c:PyObject_TypeCheck
Unexecuted instantiation: iobase.c:PyObject_TypeCheck
Unexecuted instantiation: fileio.c:PyObject_TypeCheck
Unexecuted instantiation: bytesio.c:PyObject_TypeCheck
Unexecuted instantiation: bufferedio.c:PyObject_TypeCheck
Unexecuted instantiation: textio.c:PyObject_TypeCheck
Unexecuted instantiation: stringio.c:PyObject_TypeCheck
Unexecuted instantiation: itertoolsmodule.c:PyObject_TypeCheck
Unexecuted instantiation: sre.c:PyObject_TypeCheck
Unexecuted instantiation: _sysconfig.c:PyObject_TypeCheck
Unexecuted instantiation: _threadmodule.c:PyObject_TypeCheck
Unexecuted instantiation: timemodule.c:PyObject_TypeCheck
Unexecuted instantiation: _typesmodule.c:PyObject_TypeCheck
Unexecuted instantiation: _typingmodule.c:PyObject_TypeCheck
_weakref.c:PyObject_TypeCheck
Line
Count
Source
445
17.1k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
17.1k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
17.1k
}
Unexecuted instantiation: _abc.c:PyObject_TypeCheck
_functoolsmodule.c:PyObject_TypeCheck
Line
Count
Source
445
247k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
247k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
247k
}
Unexecuted instantiation: _localemodule.c:PyObject_TypeCheck
Unexecuted instantiation: _opcode.c:PyObject_TypeCheck
Unexecuted instantiation: _operator.c:PyObject_TypeCheck
Unexecuted instantiation: _stat.c:PyObject_TypeCheck
Unexecuted instantiation: symtablemodule.c:PyObject_TypeCheck
Unexecuted instantiation: pwdmodule.c:PyObject_TypeCheck
Unexecuted instantiation: getpath.c:PyObject_TypeCheck
Unexecuted instantiation: frozen.c:PyObject_TypeCheck
Unexecuted instantiation: getbuildinfo.c:PyObject_TypeCheck
Unexecuted instantiation: peg_api.c:PyObject_TypeCheck
Unexecuted instantiation: file_tokenizer.c:PyObject_TypeCheck
Unexecuted instantiation: helpers.c:PyObject_TypeCheck
Unexecuted instantiation: myreadline.c:PyObject_TypeCheck
abstract.c:PyObject_TypeCheck
Line
Count
Source
445
61.4M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
61.4M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
61.4M
}
Unexecuted instantiation: boolobject.c:PyObject_TypeCheck
Unexecuted instantiation: bytes_methods.c:PyObject_TypeCheck
bytearrayobject.c:PyObject_TypeCheck
Line
Count
Source
445
110M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
110M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
110M
}
Unexecuted instantiation: capsule.c:PyObject_TypeCheck
Unexecuted instantiation: cellobject.c:PyObject_TypeCheck
Unexecuted instantiation: classobject.c:PyObject_TypeCheck
Unexecuted instantiation: codeobject.c:PyObject_TypeCheck
complexobject.c:PyObject_TypeCheck
Line
Count
Source
445
4
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
4
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
4
}
descrobject.c:PyObject_TypeCheck
Line
Count
Source
445
516M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
516M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
516M
}
Unexecuted instantiation: enumobject.c:PyObject_TypeCheck
Unexecuted instantiation: genobject.c:PyObject_TypeCheck
Unexecuted instantiation: fileobject.c:PyObject_TypeCheck
Unexecuted instantiation: frameobject.c:PyObject_TypeCheck
funcobject.c:PyObject_TypeCheck
Line
Count
Source
445
66
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
66
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
66
}
Unexecuted instantiation: interpolationobject.c:PyObject_TypeCheck
Unexecuted instantiation: iterobject.c:PyObject_TypeCheck
Unexecuted instantiation: lazyimportobject.c:PyObject_TypeCheck
Unexecuted instantiation: odictobject.c:PyObject_TypeCheck
methodobject.c:PyObject_TypeCheck
Line
Count
Source
445
188k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
188k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
188k
}
Unexecuted instantiation: namespaceobject.c:PyObject_TypeCheck
Unexecuted instantiation: _contextvars.c:PyObject_TypeCheck
Unexecuted instantiation: Python-ast.c:PyObject_TypeCheck
Unexecuted instantiation: Python-tokenize.c:PyObject_TypeCheck
Unexecuted instantiation: asdl.c:PyObject_TypeCheck
Unexecuted instantiation: assemble.c:PyObject_TypeCheck
Unexecuted instantiation: ast.c:PyObject_TypeCheck
Unexecuted instantiation: ast_preprocess.c:PyObject_TypeCheck
Unexecuted instantiation: ast_unparse.c:PyObject_TypeCheck
Unexecuted instantiation: critical_section.c:PyObject_TypeCheck
Unexecuted instantiation: crossinterp.c:PyObject_TypeCheck
Unexecuted instantiation: getcopyright.c:PyObject_TypeCheck
Unexecuted instantiation: getplatform.c:PyObject_TypeCheck
Unexecuted instantiation: getversion.c:PyObject_TypeCheck
Unexecuted instantiation: optimizer.c:PyObject_TypeCheck
Unexecuted instantiation: pathconfig.c:PyObject_TypeCheck
pegen.c:PyObject_TypeCheck
Line
Count
Source
445
102k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
102k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
102k
}
Unexecuted instantiation: pegen_errors.c:PyObject_TypeCheck
Unexecuted instantiation: parser.c:PyObject_TypeCheck
Unexecuted instantiation: buffer.c:PyObject_TypeCheck
Unexecuted instantiation: lexer.c:PyObject_TypeCheck
Unexecuted instantiation: state.c:PyObject_TypeCheck
Unexecuted instantiation: readline_tokenizer.c:PyObject_TypeCheck
Unexecuted instantiation: string_tokenizer.c:PyObject_TypeCheck
Unexecuted instantiation: utf8_tokenizer.c:PyObject_TypeCheck
Unexecuted instantiation: getcompiler.c:PyObject_TypeCheck
Unexecuted instantiation: mystrtoul.c:PyObject_TypeCheck
Unexecuted instantiation: token.c:PyObject_TypeCheck
Unexecuted instantiation: action_helpers.c:PyObject_TypeCheck
Unexecuted instantiation: string_parser.c:PyObject_TypeCheck
448
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
449
933M
#  define PyObject_TypeCheck(ob, type) PyObject_TypeCheck(_PyObject_CAST(ob), (type))
450
#endif
451
452
PyAPI_DATA(PyTypeObject) PyType_Type; /* built-in 'type' */
453
PyAPI_DATA(PyTypeObject) PyBaseObject_Type; /* built-in 'object' */
454
PyAPI_DATA(PyTypeObject) PySuper_Type; /* built-in 'super' */
455
456
PyAPI_FUNC(unsigned long) PyType_GetFlags(PyTypeObject*);
457
458
PyAPI_FUNC(int) PyType_Ready(PyTypeObject *);
459
PyAPI_FUNC(PyObject *) PyType_GenericAlloc(PyTypeObject *, Py_ssize_t);
460
PyAPI_FUNC(PyObject *) PyType_GenericNew(PyTypeObject *,
461
                                               PyObject *, PyObject *);
462
PyAPI_FUNC(unsigned int) PyType_ClearCache(void);
463
PyAPI_FUNC(void) PyType_Modified(PyTypeObject *);
464
465
/* Generic operations on objects */
466
PyAPI_FUNC(PyObject *) PyObject_Repr(PyObject *);
467
PyAPI_FUNC(PyObject *) PyObject_Str(PyObject *);
468
PyAPI_FUNC(PyObject *) PyObject_ASCII(PyObject *);
469
PyAPI_FUNC(PyObject *) PyObject_Bytes(PyObject *);
470
PyAPI_FUNC(PyObject *) PyObject_RichCompare(PyObject *, PyObject *, int);
471
PyAPI_FUNC(int) PyObject_RichCompareBool(PyObject *, PyObject *, int);
472
PyAPI_FUNC(PyObject *) PyObject_GetAttrString(PyObject *, const char *);
473
PyAPI_FUNC(int) PyObject_SetAttrString(PyObject *, const char *, PyObject *);
474
PyAPI_FUNC(int) PyObject_DelAttrString(PyObject *v, const char *name);
475
PyAPI_FUNC(int) PyObject_HasAttrString(PyObject *, const char *);
476
PyAPI_FUNC(PyObject *) PyObject_GetAttr(PyObject *, PyObject *);
477
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
478
PyAPI_FUNC(int) PyObject_GetOptionalAttr(PyObject *, PyObject *, PyObject **);
479
PyAPI_FUNC(int) PyObject_GetOptionalAttrString(PyObject *, const char *, PyObject **);
480
#endif
481
PyAPI_FUNC(int) PyObject_SetAttr(PyObject *, PyObject *, PyObject *);
482
PyAPI_FUNC(int) PyObject_DelAttr(PyObject *v, PyObject *name);
483
PyAPI_FUNC(int) PyObject_HasAttr(PyObject *, PyObject *);
484
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
485
PyAPI_FUNC(int) PyObject_HasAttrWithError(PyObject *, PyObject *);
486
PyAPI_FUNC(int) PyObject_HasAttrStringWithError(PyObject *, const char *);
487
#endif
488
PyAPI_FUNC(PyObject *) PyObject_SelfIter(PyObject *);
489
PyAPI_FUNC(PyObject *) PyObject_GenericGetAttr(PyObject *, PyObject *);
490
PyAPI_FUNC(int) PyObject_GenericSetAttr(PyObject *, PyObject *, PyObject *);
491
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
492
PyAPI_FUNC(int) PyObject_GenericSetDict(PyObject *, PyObject *, void *);
493
#endif
494
PyAPI_FUNC(Py_hash_t) PyObject_Hash(PyObject *);
495
PyAPI_FUNC(Py_hash_t) PyObject_HashNotImplemented(PyObject *);
496
PyAPI_FUNC(int) PyObject_IsTrue(PyObject *);
497
PyAPI_FUNC(int) PyObject_Not(PyObject *);
498
PyAPI_FUNC(int) PyCallable_Check(PyObject *);
499
PyAPI_FUNC(void) PyObject_ClearWeakRefs(PyObject *);
500
501
/* PyObject_Dir(obj) acts like Python builtins.dir(obj), returning a
502
   list of strings.  PyObject_Dir(NULL) is like builtins.dir(),
503
   returning the names of the current locals.  In this case, if there are
504
   no current locals, NULL is returned, and PyErr_Occurred() is false.
505
*/
506
PyAPI_FUNC(PyObject *) PyObject_Dir(PyObject *);
507
508
/* Helpers for printing recursive container types */
509
PyAPI_FUNC(int) Py_ReprEnter(PyObject *);
510
PyAPI_FUNC(void) Py_ReprLeave(PyObject *);
511
512
/* Flag bits for printing: */
513
0
#define Py_PRINT_RAW    1       /* No string quotes etc. */
514
515
/*
516
Type flags (tp_flags)
517
518
These flags are used to change expected features and behavior for a
519
particular type.
520
521
Arbitration of the flag bit positions will need to be coordinated among
522
all extension writers who publicly release their extensions (this will
523
be fewer than you might expect!).
524
525
Most flags were removed as of Python 3.0 to make room for new flags.  (Some
526
flags are not for backwards compatibility but to indicate the presence of an
527
optional feature; these flags remain of course.)
528
529
Type definitions should use Py_TPFLAGS_DEFAULT for their tp_flags value.
530
531
Code can use PyType_HasFeature(type_ob, flag_value) to test whether the
532
given type object has a specified feature.
533
*/
534
535
#ifndef Py_LIMITED_API
536
537
/* Track types initialized using _PyStaticType_InitBuiltin(). */
538
965M
#define _Py_TPFLAGS_STATIC_BUILTIN (1 << 1)
539
540
/* The values array is placed inline directly after the rest of
541
 * the object. Implies Py_TPFLAGS_HAVE_GC.
542
 */
543
1.47G
#define Py_TPFLAGS_INLINE_VALUES (1 << 2)
544
545
/* Placement of weakref pointers are managed by the VM, not by the type.
546
 * The VM will automatically set tp_weaklistoffset. Implies Py_TPFLAGS_HAVE_GC.
547
 */
548
1.27G
#define Py_TPFLAGS_MANAGED_WEAKREF (1 << 3)
549
550
/* Placement of dict (and values) pointers are managed by the VM, not by the type.
551
 * The VM will automatically set tp_dictoffset. Implies Py_TPFLAGS_HAVE_GC.
552
 */
553
1.73G
#define Py_TPFLAGS_MANAGED_DICT (1 << 4)
554
555
/* Type has dictionary or weakref pointers that are managed by VM and has
556
 * to allocate space to store these.
557
 */
558
1.27G
#define Py_TPFLAGS_PREHEADER (Py_TPFLAGS_MANAGED_WEAKREF | Py_TPFLAGS_MANAGED_DICT)
559
560
/* Set if instances of the type object are treated as sequences for pattern matching */
561
2.34M
#define Py_TPFLAGS_SEQUENCE (1 << 5)
562
/* Set if instances of the type object are treated as mappings for pattern matching */
563
2.34M
#define Py_TPFLAGS_MAPPING (1 << 6)
564
#endif
565
566
/* Disallow creating instances of the type: set tp_new to NULL and don't create
567
 * the "__new__" key in the type dictionary. */
568
250k
#define Py_TPFLAGS_DISALLOW_INSTANTIATION (1UL << 7)
569
570
/* Set if the type object is immutable: type attributes cannot be set nor deleted */
571
2.12M
#define Py_TPFLAGS_IMMUTABLETYPE (1UL << 8)
572
573
/* Set if the type object is dynamically allocated */
574
530M
#define Py_TPFLAGS_HEAPTYPE (1UL << 9)
575
576
/* Set if the type allows subclassing */
577
948k
#define Py_TPFLAGS_BASETYPE (1UL << 10)
578
579
/* Set if the type implements the vectorcall protocol (PEP 590) */
580
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000
581
768M
#define Py_TPFLAGS_HAVE_VECTORCALL (1UL << 11)
582
#ifndef Py_LIMITED_API
583
// Backwards compatibility alias for API that was provisional in Python 3.8
584
#define _Py_TPFLAGS_HAVE_VECTORCALL Py_TPFLAGS_HAVE_VECTORCALL
585
#endif
586
#endif
587
588
/* Set if the type is 'ready' -- fully initialized */
589
27.7M
#define Py_TPFLAGS_READY (1UL << 12)
590
591
/* Set while the type is being 'readied', to prevent recursive ready calls */
592
481k
#define Py_TPFLAGS_READYING (1UL << 13)
593
594
/* Objects support garbage collection (see objimpl.h) */
595
9.45G
#define Py_TPFLAGS_HAVE_GC (1UL << 14)
596
597
/* These two bits are preserved for Stackless Python, next after this is 17 */
598
#ifdef STACKLESS
599
#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION (3UL << 15)
600
#else
601
238k
#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION 0
602
#endif
603
604
/* Objects behave like an unbound method */
605
188M
#define Py_TPFLAGS_METHOD_DESCRIPTOR (1UL << 17)
606
607
/* Unused. Legacy flag */
608
#define Py_TPFLAGS_VALID_VERSION_TAG  (1UL << 19)
609
610
/* Type is abstract and cannot be instantiated */
611
53.7M
#define Py_TPFLAGS_IS_ABSTRACT (1UL << 20)
612
613
// This undocumented flag gives certain built-ins their unique pattern-matching
614
// behavior, which allows a single positional subpattern to match against the
615
// subject itself (rather than a mapped attribute on it):
616
474k
#define _Py_TPFLAGS_MATCH_SELF (1UL << 22)
617
618
/* Items (ob_size*tp_itemsize) are found at the end of an instance's memory */
619
11.9M
#define Py_TPFLAGS_ITEMS_AT_END (1UL << 23)
620
621
/* These flags are used to determine if a type is a subclass. */
622
355
#define Py_TPFLAGS_LONG_SUBCLASS        (1UL << 24)
623
152
#define Py_TPFLAGS_LIST_SUBCLASS        (1UL << 25)
624
1.06k
#define Py_TPFLAGS_TUPLE_SUBCLASS       (1UL << 26)
625
6
#define Py_TPFLAGS_BYTES_SUBCLASS       (1UL << 27)
626
14.4M
#define Py_TPFLAGS_UNICODE_SUBCLASS     (1UL << 28)
627
224
#define Py_TPFLAGS_DICT_SUBCLASS        (1UL << 29)
628
3.82k
#define Py_TPFLAGS_BASE_EXC_SUBCLASS    (1UL << 30)
629
158
#define Py_TPFLAGS_TYPE_SUBCLASS        (1UL << 31)
630
631
238k
#define Py_TPFLAGS_DEFAULT  ( \
632
238k
                 Py_TPFLAGS_HAVE_STACKLESS_EXTENSION | \
633
238k
                0)
634
635
/* NOTE: Some of the following flags reuse lower bits (removed as part of the
636
 * Python 3.0 transition). */
637
638
/* The following flags are kept for compatibility; in previous
639
 * versions they indicated presence of newer tp_* fields on the
640
 * type struct.
641
 * Starting with 3.8, binary compatibility of C extensions across
642
 * feature releases of Python is not supported anymore (except when
643
 * using the stable ABI, in which all classes are created dynamically,
644
 * using the interpreter's memory layout.)
645
 * Note that older extensions using the stable ABI set these flags,
646
 * so the bits must not be repurposed.
647
 */
648
#define Py_TPFLAGS_HAVE_FINALIZE (1UL << 0)
649
#define Py_TPFLAGS_HAVE_VERSION_TAG   (1UL << 18)
650
651
// Flag values for ob_flags (16 bits available, if SIZEOF_VOID_P > 4).
652
296M
#define _Py_IMMORTAL_FLAGS (1 << 0)
653
#define _Py_LEGACY_ABI_CHECK_FLAG (1 << 1) /* see PyModuleDef_Init() */
654
295M
#define _Py_STATICALLY_ALLOCATED_FLAG (1 << 2)
655
#if defined(Py_GIL_DISABLED) && defined(Py_DEBUG)
656
#define _Py_TYPE_REVEALED_FLAG (1 << 3)
657
#endif
658
659
#define Py_CONSTANT_NONE 0
660
#define Py_CONSTANT_FALSE 1
661
#define Py_CONSTANT_TRUE 2
662
#define Py_CONSTANT_ELLIPSIS 3
663
#define Py_CONSTANT_NOT_IMPLEMENTED 4
664
34
#define Py_CONSTANT_ZERO 5
665
34
#define Py_CONSTANT_ONE 6
666
412k
#define Py_CONSTANT_EMPTY_STR 7
667
16.8M
#define Py_CONSTANT_EMPTY_BYTES 8
668
34
#define Py_CONSTANT_EMPTY_TUPLE 9
669
670
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
671
PyAPI_FUNC(PyObject*) Py_GetConstant(unsigned int constant_id);
672
PyAPI_FUNC(PyObject*) Py_GetConstantBorrowed(unsigned int constant_id);
673
#endif
674
675
676
/*
677
_Py_NoneStruct is an object of undefined type which can be used in contexts
678
where NULL (nil) is not suitable (since NULL often means 'error').
679
*/
680
PyAPI_DATA(PyObject) _Py_NoneStruct; /* Don't use this directly */
681
682
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030D0000
683
#  define Py_None Py_GetConstantBorrowed(Py_CONSTANT_NONE)
684
#else
685
1.93G
#  define Py_None (&_Py_NoneStruct)
686
#endif
687
688
// Test if an object is the None singleton, the same as "x is None" in Python.
689
PyAPI_FUNC(int) Py_IsNone(PyObject *x);
690
249M
#define Py_IsNone(x) Py_Is((x), Py_None)
691
692
/* Macro for returning Py_None from a function.
693
 * Only treat Py_None as immortal in the limited C API 3.12 and newer. */
694
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 < 0x030c0000
695
#  define Py_RETURN_NONE return Py_NewRef(Py_None)
696
#else
697
242M
#  define Py_RETURN_NONE return Py_None
698
#endif
699
700
/*
701
Py_NotImplemented is a singleton used to signal that an operation is
702
not implemented for a given type combination.
703
*/
704
PyAPI_DATA(PyObject) _Py_NotImplementedStruct; /* Don't use this directly */
705
706
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030D0000
707
#  define Py_NotImplemented Py_GetConstantBorrowed(Py_CONSTANT_NOT_IMPLEMENTED)
708
#else
709
509M
#  define Py_NotImplemented (&_Py_NotImplementedStruct)
710
#endif
711
712
/* Macro for returning Py_NotImplemented from a function. Only treat
713
 * Py_NotImplemented as immortal in the limited C API 3.12 and newer. */
714
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 < 0x030c0000
715
#  define Py_RETURN_NOTIMPLEMENTED return Py_NewRef(Py_NotImplemented)
716
#else
717
44.9M
#  define Py_RETURN_NOTIMPLEMENTED return Py_NotImplemented
718
#endif
719
720
/* Rich comparison opcodes */
721
106M
#define Py_LT 0
722
2.74M
#define Py_LE 1
723
541M
#define Py_EQ 2
724
124M
#define Py_NE 3
725
14.4M
#define Py_GT 4
726
2.23M
#define Py_GE 5
727
728
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000
729
/* Result of calling PyIter_Send */
730
typedef enum {
731
    PYGEN_RETURN = 0,
732
    PYGEN_ERROR = -1,
733
    PYGEN_NEXT = 1
734
} PySendResult;
735
#endif
736
737
/*
738
 * Macro for implementing rich comparisons
739
 *
740
 * Needs to be a macro because any C-comparable type can be used.
741
 */
742
#define Py_RETURN_RICHCOMPARE(val1, val2, op)                               \
743
95.3M
    do {                                                                    \
744
95.3M
        switch (op) {                                                       \
745
46.0M
        case Py_EQ: if ((val1) == (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
746
46.0M
        case Py_NE: if ((val1) != (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
747
41.0M
        case Py_LT: if ((val1) < (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;   \
748
41.0M
        case Py_GT: if ((val1) > (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;   \
749
7.39M
        case Py_LE: if ((val1) <= (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
750
506k
        case Py_GE: if ((val1) >= (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
751
2.60k
        default:                                                            \
752
0
            Py_UNREACHABLE();                                               \
753
95.3M
        }                                                                   \
754
95.3M
    } while (0)
755
756
757
/*
758
More conventions
759
================
760
761
Argument Checking
762
-----------------
763
764
Functions that take objects as arguments normally don't check for nil
765
arguments, but they do check the type of the argument, and return an
766
error if the function doesn't apply to the type.
767
768
Failure Modes
769
-------------
770
771
Functions may fail for a variety of reasons, including running out of
772
memory.  This is communicated to the caller in two ways: an error string
773
is set (see errors.h), and the function result differs: functions that
774
normally return a pointer return NULL for failure, functions returning
775
an integer return -1 (which could be a legal return value too!), and
776
other functions return 0 for success and -1 for failure.
777
Callers should always check for errors before using the result.  If
778
an error was set, the caller must either explicitly clear it, or pass
779
the error on to its caller.
780
781
Reference Counts
782
----------------
783
784
It takes a while to get used to the proper usage of reference counts.
785
786
Functions that create an object set the reference count to 1; such new
787
objects must be stored somewhere or destroyed again with Py_DECREF().
788
Some functions that 'store' objects, such as PyTuple_SetItem() and
789
PyList_SetItem(),
790
don't increment the reference count of the object, since the most
791
frequent use is to store a fresh object.  Functions that 'retrieve'
792
objects, such as PyTuple_GetItem() and PyDict_GetItemString(), also
793
don't increment
794
the reference count, since most frequently the object is only looked at
795
quickly.  Thus, to retrieve an object and store it again, the caller
796
must call Py_INCREF() explicitly.
797
798
NOTE: functions that 'consume' a reference count, like
799
PyList_SetItem(), consume the reference even if the object wasn't
800
successfully stored, to simplify error handling.
801
802
It seems attractive to make other functions that take an object as
803
argument consume a reference count; however, this may quickly get
804
confusing (even the current practice is already confusing).  Consider
805
it carefully, it may save lots of calls to Py_INCREF() and Py_DECREF() at
806
times.
807
*/
808
809
#ifndef Py_LIMITED_API
810
#  define Py_CPYTHON_OBJECT_H
811
#  include "cpython/object.h"
812
#  undef Py_CPYTHON_OBJECT_H
813
#endif
814
815
816
static inline int
817
PyType_HasFeature(PyTypeObject *type, unsigned long feature)
818
9.79G
{
819
9.79G
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
    flags = type->tp_flags;
825
#endif
826
9.79G
    return ((flags & feature) != 0);
827
9.79G
}
bytesobject.c:PyType_HasFeature
Line
Count
Source
818
175M
{
819
175M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
175M
    flags = type->tp_flags;
825
175M
#endif
826
175M
    return ((flags & feature) != 0);
827
175M
}
call.c:PyType_HasFeature
Line
Count
Source
818
510M
{
819
510M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
510M
    flags = type->tp_flags;
825
510M
#endif
826
510M
    return ((flags & feature) != 0);
827
510M
}
exceptions.c:PyType_HasFeature
Line
Count
Source
818
1.17M
{
819
1.17M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
1.17M
    flags = type->tp_flags;
825
1.17M
#endif
826
1.17M
    return ((flags & feature) != 0);
827
1.17M
}
genericaliasobject.c:PyType_HasFeature
Line
Count
Source
818
3.34k
{
819
3.34k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
3.34k
    flags = type->tp_flags;
825
3.34k
#endif
826
3.34k
    return ((flags & feature) != 0);
827
3.34k
}
floatobject.c:PyType_HasFeature
Line
Count
Source
818
6.74M
{
819
6.74M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
6.74M
    flags = type->tp_flags;
825
6.74M
#endif
826
6.74M
    return ((flags & feature) != 0);
827
6.74M
}
listobject.c:PyType_HasFeature
Line
Count
Source
818
314M
{
819
314M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
314M
    flags = type->tp_flags;
825
314M
#endif
826
314M
    return ((flags & feature) != 0);
827
314M
}
longobject.c:PyType_HasFeature
Line
Count
Source
818
1.10G
{
819
1.10G
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
1.10G
    flags = type->tp_flags;
825
1.10G
#endif
826
1.10G
    return ((flags & feature) != 0);
827
1.10G
}
dictobject.c:PyType_HasFeature
Line
Count
Source
818
1.85G
{
819
1.85G
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
1.85G
    flags = type->tp_flags;
825
1.85G
#endif
826
1.85G
    return ((flags & feature) != 0);
827
1.85G
}
memoryobject.c:PyType_HasFeature
Line
Count
Source
818
84.4k
{
819
84.4k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
84.4k
    flags = type->tp_flags;
825
84.4k
#endif
826
84.4k
    return ((flags & feature) != 0);
827
84.4k
}
moduleobject.c:PyType_HasFeature
Line
Count
Source
818
20.1k
{
819
20.1k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
20.1k
    flags = type->tp_flags;
825
20.1k
#endif
826
20.1k
    return ((flags & feature) != 0);
827
20.1k
}
object.c:PyType_HasFeature
Line
Count
Source
818
1.26G
{
819
1.26G
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
1.26G
    flags = type->tp_flags;
825
1.26G
#endif
826
1.26G
    return ((flags & feature) != 0);
827
1.26G
}
Unexecuted instantiation: obmalloc.c:PyType_HasFeature
Unexecuted instantiation: picklebufobject.c:PyType_HasFeature
Unexecuted instantiation: rangeobject.c:PyType_HasFeature
Unexecuted instantiation: setobject.c:PyType_HasFeature
Unexecuted instantiation: sliceobject.c:PyType_HasFeature
structseq.c:PyType_HasFeature
Line
Count
Source
818
207k
{
819
207k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
207k
    flags = type->tp_flags;
825
207k
#endif
826
207k
    return ((flags & feature) != 0);
827
207k
}
Unexecuted instantiation: templateobject.c:PyType_HasFeature
tupleobject.c:PyType_HasFeature
Line
Count
Source
818
119M
{
819
119M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
119M
    flags = type->tp_flags;
825
119M
#endif
826
119M
    return ((flags & feature) != 0);
827
119M
}
typeobject.c:PyType_HasFeature
Line
Count
Source
818
408M
{
819
408M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
408M
    flags = type->tp_flags;
825
408M
#endif
826
408M
    return ((flags & feature) != 0);
827
408M
}
typevarobject.c:PyType_HasFeature
Line
Count
Source
818
372
{
819
372
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
372
    flags = type->tp_flags;
825
372
#endif
826
372
    return ((flags & feature) != 0);
827
372
}
unicode_format.c:PyType_HasFeature
Line
Count
Source
818
91.3M
{
819
91.3M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
91.3M
    flags = type->tp_flags;
825
91.3M
#endif
826
91.3M
    return ((flags & feature) != 0);
827
91.3M
}
Unexecuted instantiation: unicode_formatter.c:PyType_HasFeature
unicode_writer.c:PyType_HasFeature
Line
Count
Source
818
402k
{
819
402k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
402k
    flags = type->tp_flags;
825
402k
#endif
826
402k
    return ((flags & feature) != 0);
827
402k
}
Unexecuted instantiation: unicodectype.c:PyType_HasFeature
unicodeobject.c:PyType_HasFeature
Line
Count
Source
818
1.89G
{
819
1.89G
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
1.89G
    flags = type->tp_flags;
825
1.89G
#endif
826
1.89G
    return ((flags & feature) != 0);
827
1.89G
}
unionobject.c:PyType_HasFeature
Line
Count
Source
818
3.31k
{
819
3.31k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
3.31k
    flags = type->tp_flags;
825
3.31k
#endif
826
3.31k
    return ((flags & feature) != 0);
827
3.31k
}
weakrefobject.c:PyType_HasFeature
Line
Count
Source
818
50.5M
{
819
50.5M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
50.5M
    flags = type->tp_flags;
825
50.5M
#endif
826
50.5M
    return ((flags & feature) != 0);
827
50.5M
}
_warnings.c:PyType_HasFeature
Line
Count
Source
818
18.9M
{
819
18.9M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
18.9M
    flags = type->tp_flags;
825
18.9M
#endif
826
18.9M
    return ((flags & feature) != 0);
827
18.9M
}
bltinmodule.c:PyType_HasFeature
Line
Count
Source
818
279M
{
819
279M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
279M
    flags = type->tp_flags;
825
279M
#endif
826
279M
    return ((flags & feature) != 0);
827
279M
}
ceval.c:PyType_HasFeature
Line
Count
Source
818
369M
{
819
369M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
369M
    flags = type->tp_flags;
825
369M
#endif
826
369M
    return ((flags & feature) != 0);
827
369M
}
codecs.c:PyType_HasFeature
Line
Count
Source
818
1.77M
{
819
1.77M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
1.77M
    flags = type->tp_flags;
825
1.77M
#endif
826
1.77M
    return ((flags & feature) != 0);
827
1.77M
}
codegen.c:PyType_HasFeature
Line
Count
Source
818
352
{
819
352
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
352
    flags = type->tp_flags;
825
352
#endif
826
352
    return ((flags & feature) != 0);
827
352
}
Unexecuted instantiation: compile.c:PyType_HasFeature
context.c:PyType_HasFeature
Line
Count
Source
818
62
{
819
62
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
62
    flags = type->tp_flags;
825
62
#endif
826
62
    return ((flags & feature) != 0);
827
62
}
errors.c:PyType_HasFeature
Line
Count
Source
818
520M
{
819
520M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
520M
    flags = type->tp_flags;
825
520M
#endif
826
520M
    return ((flags & feature) != 0);
827
520M
}
flowgraph.c:PyType_HasFeature
Line
Count
Source
818
84
{
819
84
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
84
    flags = type->tp_flags;
825
84
#endif
826
84
    return ((flags & feature) != 0);
827
84
}
Unexecuted instantiation: frame.c:PyType_HasFeature
Unexecuted instantiation: future.c:PyType_HasFeature
Unexecuted instantiation: gc.c:PyType_HasFeature
Unexecuted instantiation: gc_gil.c:PyType_HasFeature
getargs.c:PyType_HasFeature
Line
Count
Source
818
13.4M
{
819
13.4M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
13.4M
    flags = type->tp_flags;
825
13.4M
#endif
826
13.4M
    return ((flags & feature) != 0);
827
13.4M
}
Unexecuted instantiation: ceval_gil.c:PyType_HasFeature
Unexecuted instantiation: hamt.c:PyType_HasFeature
Unexecuted instantiation: hashtable.c:PyType_HasFeature
import.c:PyType_HasFeature
Line
Count
Source
818
4.24M
{
819
4.24M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
4.24M
    flags = type->tp_flags;
825
4.24M
#endif
826
4.24M
    return ((flags & feature) != 0);
827
4.24M
}
importdl.c:PyType_HasFeature
Line
Count
Source
818
454
{
819
454
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
454
    flags = type->tp_flags;
825
454
#endif
826
454
    return ((flags & feature) != 0);
827
454
}
initconfig.c:PyType_HasFeature
Line
Count
Source
818
680
{
819
680
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
680
    flags = type->tp_flags;
825
680
#endif
826
680
    return ((flags & feature) != 0);
827
680
}
Unexecuted instantiation: instrumentation.c:PyType_HasFeature
Unexecuted instantiation: instruction_sequence.c:PyType_HasFeature
intrinsics.c:PyType_HasFeature
Line
Count
Source
818
36.7k
{
819
36.7k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
36.7k
    flags = type->tp_flags;
825
36.7k
#endif
826
36.7k
    return ((flags & feature) != 0);
827
36.7k
}
Unexecuted instantiation: legacy_tracing.c:PyType_HasFeature
Unexecuted instantiation: lock.c:PyType_HasFeature
Unexecuted instantiation: marshal.c:PyType_HasFeature
Unexecuted instantiation: modsupport.c:PyType_HasFeature
Unexecuted instantiation: mysnprintf.c:PyType_HasFeature
Unexecuted instantiation: parking_lot.c:PyType_HasFeature
Unexecuted instantiation: preconfig.c:PyType_HasFeature
Unexecuted instantiation: pyarena.c:PyType_HasFeature
Unexecuted instantiation: pyctype.c:PyType_HasFeature
Unexecuted instantiation: pyhash.c:PyType_HasFeature
pylifecycle.c:PyType_HasFeature
Line
Count
Source
818
34
{
819
34
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
34
    flags = type->tp_flags;
825
34
#endif
826
34
    return ((flags & feature) != 0);
827
34
}
Unexecuted instantiation: pymath.c:PyType_HasFeature
Unexecuted instantiation: pystate.c:PyType_HasFeature
pythonrun.c:PyType_HasFeature
Line
Count
Source
818
129k
{
819
129k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
129k
    flags = type->tp_flags;
825
129k
#endif
826
129k
    return ((flags & feature) != 0);
827
129k
}
Unexecuted instantiation: pytime.c:PyType_HasFeature
Unexecuted instantiation: qsbr.c:PyType_HasFeature
Unexecuted instantiation: bootstrap_hash.c:PyType_HasFeature
specialize.c:PyType_HasFeature
Line
Count
Source
818
3.45M
{
819
3.45M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
3.45M
    flags = type->tp_flags;
825
3.45M
#endif
826
3.45M
    return ((flags & feature) != 0);
827
3.45M
}
Unexecuted instantiation: structmember.c:PyType_HasFeature
symtable.c:PyType_HasFeature
Line
Count
Source
818
74.9k
{
819
74.9k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
74.9k
    flags = type->tp_flags;
825
74.9k
#endif
826
74.9k
    return ((flags & feature) != 0);
827
74.9k
}
sysmodule.c:PyType_HasFeature
Line
Count
Source
818
1.49M
{
819
1.49M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
1.49M
    flags = type->tp_flags;
825
1.49M
#endif
826
1.49M
    return ((flags & feature) != 0);
827
1.49M
}
Unexecuted instantiation: thread.c:PyType_HasFeature
Unexecuted instantiation: traceback.c:PyType_HasFeature
Unexecuted instantiation: tracemalloc.c:PyType_HasFeature
Unexecuted instantiation: getopt.c:PyType_HasFeature
Unexecuted instantiation: pystrcmp.c:PyType_HasFeature
Unexecuted instantiation: pystrtod.c:PyType_HasFeature
Unexecuted instantiation: pystrhex.c:PyType_HasFeature
Unexecuted instantiation: dtoa.c:PyType_HasFeature
Unexecuted instantiation: fileutils.c:PyType_HasFeature
Unexecuted instantiation: suggestions.c:PyType_HasFeature
Unexecuted instantiation: perf_trampoline.c:PyType_HasFeature
Unexecuted instantiation: perf_jit_trampoline.c:PyType_HasFeature
Unexecuted instantiation: remote_debugging.c:PyType_HasFeature
Unexecuted instantiation: dynload_shlib.c:PyType_HasFeature
Unexecuted instantiation: config.c:PyType_HasFeature
Unexecuted instantiation: gcmodule.c:PyType_HasFeature
Unexecuted instantiation: _asynciomodule.c:PyType_HasFeature
Unexecuted instantiation: atexitmodule.c:PyType_HasFeature
Unexecuted instantiation: faulthandler.c:PyType_HasFeature
posixmodule.c:PyType_HasFeature
Line
Count
Source
818
4.29M
{
819
4.29M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
4.29M
    flags = type->tp_flags;
825
4.29M
#endif
826
4.29M
    return ((flags & feature) != 0);
827
4.29M
}
Unexecuted instantiation: signalmodule.c:PyType_HasFeature
Unexecuted instantiation: _tracemalloc.c:PyType_HasFeature
Unexecuted instantiation: _suggestions.c:PyType_HasFeature
_datetimemodule.c:PyType_HasFeature
Line
Count
Source
818
62.1k
{
819
62.1k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
62.1k
    flags = type->tp_flags;
825
62.1k
#endif
826
62.1k
    return ((flags & feature) != 0);
827
62.1k
}
_codecsmodule.c:PyType_HasFeature
Line
Count
Source
818
1.85M
{
819
1.85M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
1.85M
    flags = type->tp_flags;
825
1.85M
#endif
826
1.85M
    return ((flags & feature) != 0);
827
1.85M
}
_collectionsmodule.c:PyType_HasFeature
Line
Count
Source
818
48.8k
{
819
48.8k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
48.8k
    flags = type->tp_flags;
825
48.8k
#endif
826
48.8k
    return ((flags & feature) != 0);
827
48.8k
}
Unexecuted instantiation: errnomodule.c:PyType_HasFeature
_iomodule.c:PyType_HasFeature
Line
Count
Source
818
76.3k
{
819
76.3k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
76.3k
    flags = type->tp_flags;
825
76.3k
#endif
826
76.3k
    return ((flags & feature) != 0);
827
76.3k
}
Unexecuted instantiation: iobase.c:PyType_HasFeature
fileio.c:PyType_HasFeature
Line
Count
Source
818
34.4k
{
819
34.4k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
34.4k
    flags = type->tp_flags;
825
34.4k
#endif
826
34.4k
    return ((flags & feature) != 0);
827
34.4k
}
Unexecuted instantiation: bytesio.c:PyType_HasFeature
bufferedio.c:PyType_HasFeature
Line
Count
Source
818
15.3k
{
819
15.3k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
15.3k
    flags = type->tp_flags;
825
15.3k
#endif
826
15.3k
    return ((flags & feature) != 0);
827
15.3k
}
textio.c:PyType_HasFeature
Line
Count
Source
818
681k
{
819
681k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
681k
    flags = type->tp_flags;
825
681k
#endif
826
681k
    return ((flags & feature) != 0);
827
681k
}
stringio.c:PyType_HasFeature
Line
Count
Source
818
101k
{
819
101k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
101k
    flags = type->tp_flags;
825
101k
#endif
826
101k
    return ((flags & feature) != 0);
827
101k
}
itertoolsmodule.c:PyType_HasFeature
Line
Count
Source
818
10
{
819
10
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
10
    flags = type->tp_flags;
825
10
#endif
826
10
    return ((flags & feature) != 0);
827
10
}
sre.c:PyType_HasFeature
Line
Count
Source
818
149M
{
819
149M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
149M
    flags = type->tp_flags;
825
149M
#endif
826
149M
    return ((flags & feature) != 0);
827
149M
}
Unexecuted instantiation: _sysconfig.c:PyType_HasFeature
_threadmodule.c:PyType_HasFeature
Line
Count
Source
818
6
{
819
6
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
6
    flags = type->tp_flags;
825
6
#endif
826
6
    return ((flags & feature) != 0);
827
6
}
timemodule.c:PyType_HasFeature
Line
Count
Source
818
192
{
819
192
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
192
    flags = type->tp_flags;
825
192
#endif
826
192
    return ((flags & feature) != 0);
827
192
}
Unexecuted instantiation: _typesmodule.c:PyType_HasFeature
Unexecuted instantiation: _typingmodule.c:PyType_HasFeature
_weakref.c:PyType_HasFeature
Line
Count
Source
818
17.1k
{
819
17.1k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
17.1k
    flags = type->tp_flags;
825
17.1k
#endif
826
17.1k
    return ((flags & feature) != 0);
827
17.1k
}
_abc.c:PyType_HasFeature
Line
Count
Source
818
124k
{
819
124k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
124k
    flags = type->tp_flags;
825
124k
#endif
826
124k
    return ((flags & feature) != 0);
827
124k
}
_functoolsmodule.c:PyType_HasFeature
Line
Count
Source
818
42.0k
{
819
42.0k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
42.0k
    flags = type->tp_flags;
825
42.0k
#endif
826
42.0k
    return ((flags & feature) != 0);
827
42.0k
}
Unexecuted instantiation: _localemodule.c:PyType_HasFeature
Unexecuted instantiation: _opcode.c:PyType_HasFeature
_operator.c:PyType_HasFeature
Line
Count
Source
818
4
{
819
4
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
4
    flags = type->tp_flags;
825
4
#endif
826
4
    return ((flags & feature) != 0);
827
4
}
_stat.c:PyType_HasFeature
Line
Count
Source
818
2.05k
{
819
2.05k
    unsigned long flags;
820
2.05k
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
2.05k
    flags = PyType_GetFlags(type);
823
#else
824
    flags = type->tp_flags;
825
#endif
826
2.05k
    return ((flags & feature) != 0);
827
2.05k
}
Unexecuted instantiation: symtablemodule.c:PyType_HasFeature
Unexecuted instantiation: pwdmodule.c:PyType_HasFeature
getpath.c:PyType_HasFeature
Line
Count
Source
818
918
{
819
918
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
918
    flags = type->tp_flags;
825
918
#endif
826
918
    return ((flags & feature) != 0);
827
918
}
Unexecuted instantiation: frozen.c:PyType_HasFeature
Unexecuted instantiation: getbuildinfo.c:PyType_HasFeature
Unexecuted instantiation: peg_api.c:PyType_HasFeature
Unexecuted instantiation: file_tokenizer.c:PyType_HasFeature
Unexecuted instantiation: helpers.c:PyType_HasFeature
Unexecuted instantiation: myreadline.c:PyType_HasFeature
abstract.c:PyType_HasFeature
Line
Count
Source
818
484M
{
819
484M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
484M
    flags = type->tp_flags;
825
484M
#endif
826
484M
    return ((flags & feature) != 0);
827
484M
}
Unexecuted instantiation: boolobject.c:PyType_HasFeature
bytes_methods.c:PyType_HasFeature
Line
Count
Source
818
321k
{
819
321k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
321k
    flags = type->tp_flags;
825
321k
#endif
826
321k
    return ((flags & feature) != 0);
827
321k
}
bytearrayobject.c:PyType_HasFeature
Line
Count
Source
818
13.5M
{
819
13.5M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
13.5M
    flags = type->tp_flags;
825
13.5M
#endif
826
13.5M
    return ((flags & feature) != 0);
827
13.5M
}
Unexecuted instantiation: capsule.c:PyType_HasFeature
Unexecuted instantiation: cellobject.c:PyType_HasFeature
classobject.c:PyType_HasFeature
Line
Count
Source
818
40.4M
{
819
40.4M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
40.4M
    flags = type->tp_flags;
825
40.4M
#endif
826
40.4M
    return ((flags & feature) != 0);
827
40.4M
}
codeobject.c:PyType_HasFeature
Line
Count
Source
818
2.10M
{
819
2.10M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
2.10M
    flags = type->tp_flags;
825
2.10M
#endif
826
2.10M
    return ((flags & feature) != 0);
827
2.10M
}
Unexecuted instantiation: complexobject.c:PyType_HasFeature
descrobject.c:PyType_HasFeature
Line
Count
Source
818
25.1M
{
819
25.1M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
25.1M
    flags = type->tp_flags;
825
25.1M
#endif
826
25.1M
    return ((flags & feature) != 0);
827
25.1M
}
enumobject.c:PyType_HasFeature
Line
Count
Source
818
52.0M
{
819
52.0M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
52.0M
    flags = type->tp_flags;
825
52.0M
#endif
826
52.0M
    return ((flags & feature) != 0);
827
52.0M
}
genobject.c:PyType_HasFeature
Line
Count
Source
818
91.9k
{
819
91.9k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
91.9k
    flags = type->tp_flags;
825
91.9k
#endif
826
91.9k
    return ((flags & feature) != 0);
827
91.9k
}
fileobject.c:PyType_HasFeature
Line
Count
Source
818
7.66k
{
819
7.66k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
7.66k
    flags = type->tp_flags;
825
7.66k
#endif
826
7.66k
    return ((flags & feature) != 0);
827
7.66k
}
Unexecuted instantiation: frameobject.c:PyType_HasFeature
funcobject.c:PyType_HasFeature
Line
Count
Source
818
111k
{
819
111k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
111k
    flags = type->tp_flags;
825
111k
#endif
826
111k
    return ((flags & feature) != 0);
827
111k
}
Unexecuted instantiation: interpolationobject.c:PyType_HasFeature
iterobject.c:PyType_HasFeature
Line
Count
Source
818
3.41M
{
819
3.41M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
3.41M
    flags = type->tp_flags;
825
3.41M
#endif
826
3.41M
    return ((flags & feature) != 0);
827
3.41M
}
lazyimportobject.c:PyType_HasFeature
Line
Count
Source
818
312
{
819
312
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
312
    flags = type->tp_flags;
825
312
#endif
826
312
    return ((flags & feature) != 0);
827
312
}
Unexecuted instantiation: odictobject.c:PyType_HasFeature
methodobject.c:PyType_HasFeature
Line
Count
Source
818
204
{
819
204
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
204
    flags = type->tp_flags;
825
204
#endif
826
204
    return ((flags & feature) != 0);
827
204
}
Unexecuted instantiation: namespaceobject.c:PyType_HasFeature
Unexecuted instantiation: _contextvars.c:PyType_HasFeature
Unexecuted instantiation: Python-ast.c:PyType_HasFeature
Python-tokenize.c:PyType_HasFeature
Line
Count
Source
818
4
{
819
4
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
4
    flags = type->tp_flags;
825
4
#endif
826
4
    return ((flags & feature) != 0);
827
4
}
Unexecuted instantiation: asdl.c:PyType_HasFeature
Unexecuted instantiation: assemble.c:PyType_HasFeature
Unexecuted instantiation: ast.c:PyType_HasFeature
ast_preprocess.c:PyType_HasFeature
Line
Count
Source
818
103
{
819
103
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
103
    flags = type->tp_flags;
825
103
#endif
826
103
    return ((flags & feature) != 0);
827
103
}
Unexecuted instantiation: ast_unparse.c:PyType_HasFeature
Unexecuted instantiation: critical_section.c:PyType_HasFeature
Unexecuted instantiation: crossinterp.c:PyType_HasFeature
Unexecuted instantiation: getcopyright.c:PyType_HasFeature
Unexecuted instantiation: getplatform.c:PyType_HasFeature
Unexecuted instantiation: getversion.c:PyType_HasFeature
Unexecuted instantiation: optimizer.c:PyType_HasFeature
Unexecuted instantiation: pathconfig.c:PyType_HasFeature
pegen.c:PyType_HasFeature
Line
Count
Source
818
44.0k
{
819
44.0k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
44.0k
    flags = type->tp_flags;
825
44.0k
#endif
826
44.0k
    return ((flags & feature) != 0);
827
44.0k
}
Unexecuted instantiation: pegen_errors.c:PyType_HasFeature
Unexecuted instantiation: parser.c:PyType_HasFeature
Unexecuted instantiation: buffer.c:PyType_HasFeature
Unexecuted instantiation: lexer.c:PyType_HasFeature
Unexecuted instantiation: state.c:PyType_HasFeature
readline_tokenizer.c:PyType_HasFeature
Line
Count
Source
818
344
{
819
344
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
344
    flags = type->tp_flags;
825
344
#endif
826
344
    return ((flags & feature) != 0);
827
344
}
Unexecuted instantiation: string_tokenizer.c:PyType_HasFeature
Unexecuted instantiation: utf8_tokenizer.c:PyType_HasFeature
Unexecuted instantiation: getcompiler.c:PyType_HasFeature
Unexecuted instantiation: mystrtoul.c:PyType_HasFeature
Unexecuted instantiation: token.c:PyType_HasFeature
Unexecuted instantiation: action_helpers.c:PyType_HasFeature
Unexecuted instantiation: string_parser.c:PyType_HasFeature
828
829
11.1G
#define PyType_FastSubclass(type, flag) PyType_HasFeature((type), (flag))
830
831
608M
static inline int PyType_Check(PyObject *op) {
832
608M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
608M
}
Unexecuted instantiation: bytesobject.c:PyType_Check
Unexecuted instantiation: call.c:PyType_Check
Unexecuted instantiation: exceptions.c:PyType_Check
genericaliasobject.c:PyType_Check
Line
Count
Source
831
200
static inline int PyType_Check(PyObject *op) {
832
200
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
200
}
Unexecuted instantiation: floatobject.c:PyType_Check
Unexecuted instantiation: listobject.c:PyType_Check
Unexecuted instantiation: longobject.c:PyType_Check
Unexecuted instantiation: dictobject.c:PyType_Check
Unexecuted instantiation: memoryobject.c:PyType_Check
Unexecuted instantiation: moduleobject.c:PyType_Check
Unexecuted instantiation: object.c:PyType_Check
Unexecuted instantiation: obmalloc.c:PyType_Check
Unexecuted instantiation: picklebufobject.c:PyType_Check
Unexecuted instantiation: rangeobject.c:PyType_Check
Unexecuted instantiation: setobject.c:PyType_Check
Unexecuted instantiation: sliceobject.c:PyType_Check
Unexecuted instantiation: structseq.c:PyType_Check
Unexecuted instantiation: templateobject.c:PyType_Check
Unexecuted instantiation: tupleobject.c:PyType_Check
typeobject.c:PyType_Check
Line
Count
Source
831
91.2M
static inline int PyType_Check(PyObject *op) {
832
91.2M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
91.2M
}
Unexecuted instantiation: typevarobject.c:PyType_Check
Unexecuted instantiation: unicode_format.c:PyType_Check
Unexecuted instantiation: unicode_formatter.c:PyType_Check
Unexecuted instantiation: unicode_writer.c:PyType_Check
Unexecuted instantiation: unicodectype.c:PyType_Check
Unexecuted instantiation: unicodeobject.c:PyType_Check
unionobject.c:PyType_Check
Line
Count
Source
831
2.20k
static inline int PyType_Check(PyObject *op) {
832
2.20k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
2.20k
}
weakrefobject.c:PyType_Check
Line
Count
Source
831
50.5M
static inline int PyType_Check(PyObject *op) {
832
50.5M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
50.5M
}
_warnings.c:PyType_Check
Line
Count
Source
831
1.01M
static inline int PyType_Check(PyObject *op) {
832
1.01M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
1.01M
}
bltinmodule.c:PyType_Check
Line
Count
Source
831
21.5k
static inline int PyType_Check(PyObject *op) {
832
21.5k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
21.5k
}
ceval.c:PyType_Check
Line
Count
Source
831
197M
static inline int PyType_Check(PyObject *op) {
832
197M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
197M
}
Unexecuted instantiation: codecs.c:PyType_Check
Unexecuted instantiation: codegen.c:PyType_Check
Unexecuted instantiation: compile.c:PyType_Check
Unexecuted instantiation: context.c:PyType_Check
errors.c:PyType_Check
Line
Count
Source
831
149M
static inline int PyType_Check(PyObject *op) {
832
149M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
149M
}
Unexecuted instantiation: flowgraph.c:PyType_Check
Unexecuted instantiation: frame.c:PyType_Check
Unexecuted instantiation: future.c:PyType_Check
Unexecuted instantiation: gc.c:PyType_Check
Unexecuted instantiation: gc_gil.c:PyType_Check
Unexecuted instantiation: getargs.c:PyType_Check
Unexecuted instantiation: ceval_gil.c:PyType_Check
Unexecuted instantiation: hamt.c:PyType_Check
Unexecuted instantiation: hashtable.c:PyType_Check
Unexecuted instantiation: import.c:PyType_Check
Unexecuted instantiation: importdl.c:PyType_Check
Unexecuted instantiation: initconfig.c:PyType_Check
Unexecuted instantiation: instrumentation.c:PyType_Check
Unexecuted instantiation: instruction_sequence.c:PyType_Check
Unexecuted instantiation: intrinsics.c:PyType_Check
Unexecuted instantiation: legacy_tracing.c:PyType_Check
Unexecuted instantiation: lock.c:PyType_Check
Unexecuted instantiation: marshal.c:PyType_Check
Unexecuted instantiation: modsupport.c:PyType_Check
Unexecuted instantiation: mysnprintf.c:PyType_Check
Unexecuted instantiation: parking_lot.c:PyType_Check
Unexecuted instantiation: preconfig.c:PyType_Check
Unexecuted instantiation: pyarena.c:PyType_Check
Unexecuted instantiation: pyctype.c:PyType_Check
Unexecuted instantiation: pyhash.c:PyType_Check
Unexecuted instantiation: pylifecycle.c:PyType_Check
Unexecuted instantiation: pymath.c:PyType_Check
Unexecuted instantiation: pystate.c:PyType_Check
Unexecuted instantiation: pythonrun.c:PyType_Check
Unexecuted instantiation: pytime.c:PyType_Check
Unexecuted instantiation: qsbr.c:PyType_Check
Unexecuted instantiation: bootstrap_hash.c:PyType_Check
specialize.c:PyType_Check
Line
Count
Source
831
3.37M
static inline int PyType_Check(PyObject *op) {
832
3.37M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
3.37M
}
Unexecuted instantiation: structmember.c:PyType_Check
Unexecuted instantiation: symtable.c:PyType_Check
Unexecuted instantiation: sysmodule.c:PyType_Check
Unexecuted instantiation: thread.c:PyType_Check
Unexecuted instantiation: traceback.c:PyType_Check
Unexecuted instantiation: tracemalloc.c:PyType_Check
Unexecuted instantiation: getopt.c:PyType_Check
Unexecuted instantiation: pystrcmp.c:PyType_Check
Unexecuted instantiation: pystrtod.c:PyType_Check
Unexecuted instantiation: pystrhex.c:PyType_Check
Unexecuted instantiation: dtoa.c:PyType_Check
Unexecuted instantiation: fileutils.c:PyType_Check
Unexecuted instantiation: suggestions.c:PyType_Check
Unexecuted instantiation: perf_trampoline.c:PyType_Check
Unexecuted instantiation: perf_jit_trampoline.c:PyType_Check
Unexecuted instantiation: remote_debugging.c:PyType_Check
Unexecuted instantiation: dynload_shlib.c:PyType_Check
Unexecuted instantiation: config.c:PyType_Check
Unexecuted instantiation: gcmodule.c:PyType_Check
Unexecuted instantiation: _asynciomodule.c:PyType_Check
Unexecuted instantiation: atexitmodule.c:PyType_Check
Unexecuted instantiation: faulthandler.c:PyType_Check
Unexecuted instantiation: posixmodule.c:PyType_Check
Unexecuted instantiation: signalmodule.c:PyType_Check
Unexecuted instantiation: _tracemalloc.c:PyType_Check
Unexecuted instantiation: _suggestions.c:PyType_Check
Unexecuted instantiation: _datetimemodule.c:PyType_Check
Unexecuted instantiation: _codecsmodule.c:PyType_Check
Unexecuted instantiation: _collectionsmodule.c:PyType_Check
Unexecuted instantiation: errnomodule.c:PyType_Check
Unexecuted instantiation: _iomodule.c:PyType_Check
Unexecuted instantiation: iobase.c:PyType_Check
Unexecuted instantiation: fileio.c:PyType_Check
Unexecuted instantiation: bytesio.c:PyType_Check
Unexecuted instantiation: bufferedio.c:PyType_Check
Unexecuted instantiation: textio.c:PyType_Check
Unexecuted instantiation: stringio.c:PyType_Check
Unexecuted instantiation: itertoolsmodule.c:PyType_Check
Unexecuted instantiation: sre.c:PyType_Check
Unexecuted instantiation: _sysconfig.c:PyType_Check
Unexecuted instantiation: _threadmodule.c:PyType_Check
Unexecuted instantiation: timemodule.c:PyType_Check
Unexecuted instantiation: _typesmodule.c:PyType_Check
Unexecuted instantiation: _typingmodule.c:PyType_Check
Unexecuted instantiation: _weakref.c:PyType_Check
_abc.c:PyType_Check
Line
Count
Source
831
44.0k
static inline int PyType_Check(PyObject *op) {
832
44.0k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
44.0k
}
Unexecuted instantiation: _functoolsmodule.c:PyType_Check
Unexecuted instantiation: _localemodule.c:PyType_Check
Unexecuted instantiation: _opcode.c:PyType_Check
Unexecuted instantiation: _operator.c:PyType_Check
Unexecuted instantiation: _stat.c:PyType_Check
Unexecuted instantiation: symtablemodule.c:PyType_Check
Unexecuted instantiation: pwdmodule.c:PyType_Check
Unexecuted instantiation: getpath.c:PyType_Check
Unexecuted instantiation: frozen.c:PyType_Check
Unexecuted instantiation: getbuildinfo.c:PyType_Check
Unexecuted instantiation: peg_api.c:PyType_Check
Unexecuted instantiation: file_tokenizer.c:PyType_Check
Unexecuted instantiation: helpers.c:PyType_Check
Unexecuted instantiation: myreadline.c:PyType_Check
abstract.c:PyType_Check
Line
Count
Source
831
90.9M
static inline int PyType_Check(PyObject *op) {
832
90.9M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
90.9M
}
Unexecuted instantiation: boolobject.c:PyType_Check
Unexecuted instantiation: bytes_methods.c:PyType_Check
Unexecuted instantiation: bytearrayobject.c:PyType_Check
Unexecuted instantiation: capsule.c:PyType_Check
Unexecuted instantiation: cellobject.c:PyType_Check
Unexecuted instantiation: classobject.c:PyType_Check
Unexecuted instantiation: codeobject.c:PyType_Check
Unexecuted instantiation: complexobject.c:PyType_Check
descrobject.c:PyType_Check
Line
Count
Source
831
24.9M
static inline int PyType_Check(PyObject *op) {
832
24.9M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
24.9M
}
Unexecuted instantiation: enumobject.c:PyType_Check
genobject.c:PyType_Check
Line
Count
Source
831
45.9k
static inline int PyType_Check(PyObject *op) {
832
45.9k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
45.9k
}
Unexecuted instantiation: fileobject.c:PyType_Check
Unexecuted instantiation: frameobject.c:PyType_Check
Unexecuted instantiation: funcobject.c:PyType_Check
Unexecuted instantiation: interpolationobject.c:PyType_Check
Unexecuted instantiation: iterobject.c:PyType_Check
Unexecuted instantiation: lazyimportobject.c:PyType_Check
Unexecuted instantiation: odictobject.c:PyType_Check
methodobject.c:PyType_Check
Line
Count
Source
831
102
static inline int PyType_Check(PyObject *op) {
832
102
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
102
}
Unexecuted instantiation: namespaceobject.c:PyType_Check
Unexecuted instantiation: _contextvars.c:PyType_Check
Unexecuted instantiation: Python-ast.c:PyType_Check
Unexecuted instantiation: Python-tokenize.c:PyType_Check
Unexecuted instantiation: asdl.c:PyType_Check
Unexecuted instantiation: assemble.c:PyType_Check
Unexecuted instantiation: ast.c:PyType_Check
Unexecuted instantiation: ast_preprocess.c:PyType_Check
Unexecuted instantiation: ast_unparse.c:PyType_Check
Unexecuted instantiation: critical_section.c:PyType_Check
Unexecuted instantiation: crossinterp.c:PyType_Check
Unexecuted instantiation: getcopyright.c:PyType_Check
Unexecuted instantiation: getplatform.c:PyType_Check
Unexecuted instantiation: getversion.c:PyType_Check
Unexecuted instantiation: optimizer.c:PyType_Check
Unexecuted instantiation: pathconfig.c:PyType_Check
Unexecuted instantiation: pegen.c:PyType_Check
Unexecuted instantiation: pegen_errors.c:PyType_Check
Unexecuted instantiation: parser.c:PyType_Check
Unexecuted instantiation: buffer.c:PyType_Check
Unexecuted instantiation: lexer.c:PyType_Check
Unexecuted instantiation: state.c:PyType_Check
Unexecuted instantiation: readline_tokenizer.c:PyType_Check
Unexecuted instantiation: string_tokenizer.c:PyType_Check
Unexecuted instantiation: utf8_tokenizer.c:PyType_Check
Unexecuted instantiation: getcompiler.c:PyType_Check
Unexecuted instantiation: mystrtoul.c:PyType_Check
Unexecuted instantiation: token.c:PyType_Check
Unexecuted instantiation: action_helpers.c:PyType_Check
Unexecuted instantiation: string_parser.c:PyType_Check
834
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
835
916M
#  define PyType_Check(op) PyType_Check(_PyObject_CAST(op))
836
#endif
837
838
#define _PyType_CAST(op) \
839
370M
    (assert(PyType_Check(op)), _Py_CAST(PyTypeObject*, (op)))
840
841
84.3M
static inline int PyType_CheckExact(PyObject *op) {
842
84.3M
    return Py_IS_TYPE(op, &PyType_Type);
843
84.3M
}
Unexecuted instantiation: bytesobject.c:PyType_CheckExact
Unexecuted instantiation: call.c:PyType_CheckExact
Unexecuted instantiation: exceptions.c:PyType_CheckExact
Unexecuted instantiation: genericaliasobject.c:PyType_CheckExact
Unexecuted instantiation: floatobject.c:PyType_CheckExact
Unexecuted instantiation: listobject.c:PyType_CheckExact
Unexecuted instantiation: longobject.c:PyType_CheckExact
Unexecuted instantiation: dictobject.c:PyType_CheckExact
Unexecuted instantiation: memoryobject.c:PyType_CheckExact
Unexecuted instantiation: moduleobject.c:PyType_CheckExact
Unexecuted instantiation: object.c:PyType_CheckExact
Unexecuted instantiation: obmalloc.c:PyType_CheckExact
Unexecuted instantiation: picklebufobject.c:PyType_CheckExact
Unexecuted instantiation: rangeobject.c:PyType_CheckExact
Unexecuted instantiation: setobject.c:PyType_CheckExact
Unexecuted instantiation: sliceobject.c:PyType_CheckExact
Unexecuted instantiation: structseq.c:PyType_CheckExact
Unexecuted instantiation: templateobject.c:PyType_CheckExact
Unexecuted instantiation: tupleobject.c:PyType_CheckExact
Unexecuted instantiation: typeobject.c:PyType_CheckExact
Unexecuted instantiation: typevarobject.c:PyType_CheckExact
Unexecuted instantiation: unicode_format.c:PyType_CheckExact
Unexecuted instantiation: unicode_formatter.c:PyType_CheckExact
Unexecuted instantiation: unicode_writer.c:PyType_CheckExact
Unexecuted instantiation: unicodectype.c:PyType_CheckExact
Unexecuted instantiation: unicodeobject.c:PyType_CheckExact
Unexecuted instantiation: unionobject.c:PyType_CheckExact
Unexecuted instantiation: weakrefobject.c:PyType_CheckExact
Unexecuted instantiation: _warnings.c:PyType_CheckExact
Unexecuted instantiation: bltinmodule.c:PyType_CheckExact
Unexecuted instantiation: ceval.c:PyType_CheckExact
Unexecuted instantiation: codecs.c:PyType_CheckExact
Unexecuted instantiation: codegen.c:PyType_CheckExact
Unexecuted instantiation: compile.c:PyType_CheckExact
Unexecuted instantiation: context.c:PyType_CheckExact
Unexecuted instantiation: errors.c:PyType_CheckExact
Unexecuted instantiation: flowgraph.c:PyType_CheckExact
Unexecuted instantiation: frame.c:PyType_CheckExact
Unexecuted instantiation: future.c:PyType_CheckExact
Unexecuted instantiation: gc.c:PyType_CheckExact
Unexecuted instantiation: gc_gil.c:PyType_CheckExact
Unexecuted instantiation: getargs.c:PyType_CheckExact
Unexecuted instantiation: ceval_gil.c:PyType_CheckExact
Unexecuted instantiation: hamt.c:PyType_CheckExact
Unexecuted instantiation: hashtable.c:PyType_CheckExact
Unexecuted instantiation: import.c:PyType_CheckExact
Unexecuted instantiation: importdl.c:PyType_CheckExact
Unexecuted instantiation: initconfig.c:PyType_CheckExact
Unexecuted instantiation: instrumentation.c:PyType_CheckExact
Unexecuted instantiation: instruction_sequence.c:PyType_CheckExact
Unexecuted instantiation: intrinsics.c:PyType_CheckExact
Unexecuted instantiation: legacy_tracing.c:PyType_CheckExact
Unexecuted instantiation: lock.c:PyType_CheckExact
Unexecuted instantiation: marshal.c:PyType_CheckExact
Unexecuted instantiation: modsupport.c:PyType_CheckExact
Unexecuted instantiation: mysnprintf.c:PyType_CheckExact
Unexecuted instantiation: parking_lot.c:PyType_CheckExact
Unexecuted instantiation: preconfig.c:PyType_CheckExact
Unexecuted instantiation: pyarena.c:PyType_CheckExact
Unexecuted instantiation: pyctype.c:PyType_CheckExact
Unexecuted instantiation: pyhash.c:PyType_CheckExact
Unexecuted instantiation: pylifecycle.c:PyType_CheckExact
Unexecuted instantiation: pymath.c:PyType_CheckExact
Unexecuted instantiation: pystate.c:PyType_CheckExact
Unexecuted instantiation: pythonrun.c:PyType_CheckExact
Unexecuted instantiation: pytime.c:PyType_CheckExact
Unexecuted instantiation: qsbr.c:PyType_CheckExact
Unexecuted instantiation: bootstrap_hash.c:PyType_CheckExact
Unexecuted instantiation: specialize.c:PyType_CheckExact
Unexecuted instantiation: structmember.c:PyType_CheckExact
Unexecuted instantiation: symtable.c:PyType_CheckExact
Unexecuted instantiation: sysmodule.c:PyType_CheckExact
Unexecuted instantiation: thread.c:PyType_CheckExact
Unexecuted instantiation: traceback.c:PyType_CheckExact
Unexecuted instantiation: tracemalloc.c:PyType_CheckExact
Unexecuted instantiation: getopt.c:PyType_CheckExact
Unexecuted instantiation: pystrcmp.c:PyType_CheckExact
Unexecuted instantiation: pystrtod.c:PyType_CheckExact
Unexecuted instantiation: pystrhex.c:PyType_CheckExact
Unexecuted instantiation: dtoa.c:PyType_CheckExact
Unexecuted instantiation: fileutils.c:PyType_CheckExact
Unexecuted instantiation: suggestions.c:PyType_CheckExact
Unexecuted instantiation: perf_trampoline.c:PyType_CheckExact
Unexecuted instantiation: perf_jit_trampoline.c:PyType_CheckExact
Unexecuted instantiation: remote_debugging.c:PyType_CheckExact
Unexecuted instantiation: dynload_shlib.c:PyType_CheckExact
Unexecuted instantiation: config.c:PyType_CheckExact
Unexecuted instantiation: gcmodule.c:PyType_CheckExact
Unexecuted instantiation: _asynciomodule.c:PyType_CheckExact
Unexecuted instantiation: atexitmodule.c:PyType_CheckExact
Unexecuted instantiation: faulthandler.c:PyType_CheckExact
Unexecuted instantiation: posixmodule.c:PyType_CheckExact
Unexecuted instantiation: signalmodule.c:PyType_CheckExact
Unexecuted instantiation: _tracemalloc.c:PyType_CheckExact
Unexecuted instantiation: _suggestions.c:PyType_CheckExact
Unexecuted instantiation: _datetimemodule.c:PyType_CheckExact
Unexecuted instantiation: _codecsmodule.c:PyType_CheckExact
Unexecuted instantiation: _collectionsmodule.c:PyType_CheckExact
Unexecuted instantiation: errnomodule.c:PyType_CheckExact
Unexecuted instantiation: _iomodule.c:PyType_CheckExact
Unexecuted instantiation: iobase.c:PyType_CheckExact
Unexecuted instantiation: fileio.c:PyType_CheckExact
Unexecuted instantiation: bytesio.c:PyType_CheckExact
Unexecuted instantiation: bufferedio.c:PyType_CheckExact
Unexecuted instantiation: textio.c:PyType_CheckExact
Unexecuted instantiation: stringio.c:PyType_CheckExact
Unexecuted instantiation: itertoolsmodule.c:PyType_CheckExact
Unexecuted instantiation: sre.c:PyType_CheckExact
Unexecuted instantiation: _sysconfig.c:PyType_CheckExact
Unexecuted instantiation: _threadmodule.c:PyType_CheckExact
Unexecuted instantiation: timemodule.c:PyType_CheckExact
Unexecuted instantiation: _typesmodule.c:PyType_CheckExact
Unexecuted instantiation: _typingmodule.c:PyType_CheckExact
Unexecuted instantiation: _weakref.c:PyType_CheckExact
Unexecuted instantiation: _abc.c:PyType_CheckExact
Unexecuted instantiation: _functoolsmodule.c:PyType_CheckExact
Unexecuted instantiation: _localemodule.c:PyType_CheckExact
Unexecuted instantiation: _opcode.c:PyType_CheckExact
Unexecuted instantiation: _operator.c:PyType_CheckExact
Unexecuted instantiation: _stat.c:PyType_CheckExact
Unexecuted instantiation: symtablemodule.c:PyType_CheckExact
Unexecuted instantiation: pwdmodule.c:PyType_CheckExact
Unexecuted instantiation: getpath.c:PyType_CheckExact
Unexecuted instantiation: frozen.c:PyType_CheckExact
Unexecuted instantiation: getbuildinfo.c:PyType_CheckExact
Unexecuted instantiation: peg_api.c:PyType_CheckExact
Unexecuted instantiation: file_tokenizer.c:PyType_CheckExact
Unexecuted instantiation: helpers.c:PyType_CheckExact
Unexecuted instantiation: myreadline.c:PyType_CheckExact
abstract.c:PyType_CheckExact
Line
Count
Source
841
84.3M
static inline int PyType_CheckExact(PyObject *op) {
842
84.3M
    return Py_IS_TYPE(op, &PyType_Type);
843
84.3M
}
Unexecuted instantiation: boolobject.c:PyType_CheckExact
Unexecuted instantiation: bytes_methods.c:PyType_CheckExact
Unexecuted instantiation: bytearrayobject.c:PyType_CheckExact
Unexecuted instantiation: capsule.c:PyType_CheckExact
Unexecuted instantiation: cellobject.c:PyType_CheckExact
Unexecuted instantiation: classobject.c:PyType_CheckExact
Unexecuted instantiation: codeobject.c:PyType_CheckExact
Unexecuted instantiation: complexobject.c:PyType_CheckExact
Unexecuted instantiation: descrobject.c:PyType_CheckExact
Unexecuted instantiation: enumobject.c:PyType_CheckExact
Unexecuted instantiation: genobject.c:PyType_CheckExact
Unexecuted instantiation: fileobject.c:PyType_CheckExact
Unexecuted instantiation: frameobject.c:PyType_CheckExact
Unexecuted instantiation: funcobject.c:PyType_CheckExact
Unexecuted instantiation: interpolationobject.c:PyType_CheckExact
Unexecuted instantiation: iterobject.c:PyType_CheckExact
Unexecuted instantiation: lazyimportobject.c:PyType_CheckExact
Unexecuted instantiation: odictobject.c:PyType_CheckExact
Unexecuted instantiation: methodobject.c:PyType_CheckExact
Unexecuted instantiation: namespaceobject.c:PyType_CheckExact
Unexecuted instantiation: _contextvars.c:PyType_CheckExact
Unexecuted instantiation: Python-ast.c:PyType_CheckExact
Unexecuted instantiation: Python-tokenize.c:PyType_CheckExact
Unexecuted instantiation: asdl.c:PyType_CheckExact
Unexecuted instantiation: assemble.c:PyType_CheckExact
Unexecuted instantiation: ast.c:PyType_CheckExact
Unexecuted instantiation: ast_preprocess.c:PyType_CheckExact
Unexecuted instantiation: ast_unparse.c:PyType_CheckExact
Unexecuted instantiation: critical_section.c:PyType_CheckExact
Unexecuted instantiation: crossinterp.c:PyType_CheckExact
Unexecuted instantiation: getcopyright.c:PyType_CheckExact
Unexecuted instantiation: getplatform.c:PyType_CheckExact
Unexecuted instantiation: getversion.c:PyType_CheckExact
Unexecuted instantiation: optimizer.c:PyType_CheckExact
Unexecuted instantiation: pathconfig.c:PyType_CheckExact
Unexecuted instantiation: pegen.c:PyType_CheckExact
Unexecuted instantiation: pegen_errors.c:PyType_CheckExact
Unexecuted instantiation: parser.c:PyType_CheckExact
Unexecuted instantiation: buffer.c:PyType_CheckExact
Unexecuted instantiation: lexer.c:PyType_CheckExact
Unexecuted instantiation: state.c:PyType_CheckExact
Unexecuted instantiation: readline_tokenizer.c:PyType_CheckExact
Unexecuted instantiation: string_tokenizer.c:PyType_CheckExact
Unexecuted instantiation: utf8_tokenizer.c:PyType_CheckExact
Unexecuted instantiation: getcompiler.c:PyType_CheckExact
Unexecuted instantiation: mystrtoul.c:PyType_CheckExact
Unexecuted instantiation: token.c:PyType_CheckExact
Unexecuted instantiation: action_helpers.c:PyType_CheckExact
Unexecuted instantiation: string_parser.c:PyType_CheckExact
844
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
845
84.3M
#  define PyType_CheckExact(op) PyType_CheckExact(_PyObject_CAST(op))
846
#endif
847
848
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
849
PyAPI_FUNC(PyObject *) PyType_GetModuleByDef(PyTypeObject *, PyModuleDef *);
850
#endif
851
852
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030e0000
853
PyAPI_FUNC(int) PyType_Freeze(PyTypeObject *type);
854
#endif
855
856
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= _Py_PACK_VERSION(3, 15)
857
PyAPI_FUNC(PyObject *) PyType_GetModuleByToken(PyTypeObject *type,
858
                                               const void *token);
859
#endif
860
861
#ifdef __cplusplus
862
}
863
#endif
864
#endif   // !Py_OBJECT_H