Coverage Report

Created: 2025-07-18 06:09

/src/cpython/Include/object.h
Line
Count
Source (jump to first uncovered line)
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
#if defined(Py_GIL_DISABLED)
76
#define PyObject_HEAD_INIT(type)    \
77
    {                               \
78
        0,                          \
79
        _Py_STATICALLY_ALLOCATED_FLAG, \
80
        { 0 },                      \
81
        0,                          \
82
        _Py_IMMORTAL_REFCNT_LOCAL,  \
83
        0,                          \
84
        (type),                     \
85
    },
86
#else
87
#define PyObject_HEAD_INIT(type)    \
88
273M
    {                               \
89
273M
        { _Py_STATIC_IMMORTAL_INITIAL_REFCNT },    \
90
273M
        (type)                      \
91
273M
    },
92
#endif
93
94
#define PyVarObject_HEAD_INIT(type, size) \
95
273M
    {                                     \
96
273M
        PyObject_HEAD_INIT(type)          \
97
273M
        (size)                            \
98
273M
    },
99
100
/* PyObject_VAR_HEAD defines the initial segment of all variable-size
101
 * container objects.  These end with a declaration of an array with 1
102
 * element, but enough space is malloc'ed so that the array actually
103
 * has room for ob_size elements.  Note that ob_size is an element count,
104
 * not necessarily a byte count.
105
 */
106
#define PyObject_VAR_HEAD      PyVarObject ob_base;
107
#endif // !defined(_Py_OPAQUE_PYOBJECT)
108
109
#define Py_INVALID_SIZE (Py_ssize_t)-1
110
111
/* PyObjects are given a minimum alignment so that the least significant bits
112
 * of an object pointer become available for other purposes.
113
 * This must be an integer literal with the value (1 << _PyGC_PREV_SHIFT), number of bytes.
114
 */
115
#define _PyObject_MIN_ALIGNMENT 4
116
117
/* Nothing is actually declared to be a PyObject, but every pointer to
118
 * a Python object can be cast to a PyObject*.  This is inheritance built
119
 * by hand.  Similarly every pointer to a variable-size Python object can,
120
 * in addition, be cast to PyVarObject*.
121
 */
122
#ifdef _Py_OPAQUE_PYOBJECT
123
  /* PyObject is opaque */
124
#elif !defined(Py_GIL_DISABLED)
125
struct _object {
126
#if (defined(__GNUC__) || defined(__clang__)) \
127
        && !(defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L)
128
    // On C99 and older, anonymous union is a GCC and clang extension
129
    __extension__
130
#endif
131
#ifdef _MSC_VER
132
    // Ignore MSC warning C4201: "nonstandard extension used:
133
    // nameless struct/union"
134
    __pragma(warning(push))
135
    __pragma(warning(disable: 4201))
136
#endif
137
    union {
138
#if SIZEOF_VOID_P > 4
139
        PY_INT64_T ob_refcnt_full; /* This field is needed for efficient initialization with Clang on ARM */
140
        struct {
141
#  if PY_BIG_ENDIAN
142
            uint16_t ob_flags;
143
            uint16_t ob_overflow;
144
            uint32_t ob_refcnt;
145
#  else
146
            uint32_t ob_refcnt;
147
            uint16_t ob_overflow;
148
            uint16_t ob_flags;
149
#  endif
150
        };
151
#else
152
        Py_ssize_t ob_refcnt;
153
#endif
154
        _Py_ALIGNED_DEF(_PyObject_MIN_ALIGNMENT, char) _aligner;
155
    };
156
#ifdef _MSC_VER
157
    __pragma(warning(pop))
158
#endif
159
160
    PyTypeObject *ob_type;
161
};
162
#else
163
// Objects that are not owned by any thread use a thread id (tid) of zero.
164
// This includes both immortal objects and objects whose reference count
165
// fields have been merged.
166
#define _Py_UNOWNED_TID             0
167
168
struct _object {
169
    // ob_tid stores the thread id (or zero). It is also used by the GC and the
170
    // trashcan mechanism as a linked list pointer and by the GC to store the
171
    // computed "gc_refs" refcount.
172
    _Py_ALIGNED_DEF(_PyObject_MIN_ALIGNMENT, uintptr_t) ob_tid;
173
    uint16_t ob_flags;
174
    PyMutex ob_mutex;           // per-object lock
175
    uint8_t ob_gc_bits;         // gc-related state
176
    uint32_t ob_ref_local;      // local reference count
177
    Py_ssize_t ob_ref_shared;   // shared (atomic) reference count
178
    PyTypeObject *ob_type;
179
};
180
#endif // !defined(_Py_OPAQUE_PYOBJECT)
181
182
/* Cast argument to PyObject* type. */
183
156G
#define _PyObject_CAST(op) _Py_CAST(PyObject*, (op))
184
185
#ifndef _Py_OPAQUE_PYOBJECT
186
struct PyVarObject {
187
    PyObject ob_base;
188
    Py_ssize_t ob_size; /* Number of items in variable part */
189
};
190
#endif
191
typedef struct PyVarObject PyVarObject;
192
193
/* Cast argument to PyVarObject* type. */
194
7.96G
#define _PyVarObject_CAST(op) _Py_CAST(PyVarObject*, (op))
195
196
197
// Test if the 'x' object is the 'y' object, the same as "x is y" in Python.
198
PyAPI_FUNC(int) Py_Is(PyObject *x, PyObject *y);
199
216M
#define Py_Is(x, y) ((x) == (y))
200
201
#if defined(Py_GIL_DISABLED) && !defined(Py_LIMITED_API)
202
PyAPI_FUNC(uintptr_t) _Py_GetThreadLocal_Addr(void);
203
204
static inline uintptr_t
205
_Py_ThreadId(void)
206
{
207
    uintptr_t tid;
208
#if defined(_MSC_VER) && defined(_M_X64)
209
    tid = __readgsqword(48);
210
#elif defined(_MSC_VER) && defined(_M_IX86)
211
    tid = __readfsdword(24);
212
#elif defined(_MSC_VER) && defined(_M_ARM64)
213
    tid = __getReg(18);
214
#elif defined(__MINGW32__) && defined(_M_X64)
215
    tid = __readgsqword(48);
216
#elif defined(__MINGW32__) && defined(_M_IX86)
217
    tid = __readfsdword(24);
218
#elif defined(__MINGW32__) && defined(_M_ARM64)
219
    tid = __getReg(18);
220
#elif defined(__i386__)
221
    __asm__("movl %%gs:0, %0" : "=r" (tid));  // 32-bit always uses GS
222
#elif defined(__MACH__) && defined(__x86_64__)
223
    __asm__("movq %%gs:0, %0" : "=r" (tid));  // x86_64 macOSX uses GS
224
#elif defined(__x86_64__)
225
   __asm__("movq %%fs:0, %0" : "=r" (tid));  // x86_64 Linux, BSD uses FS
226
#elif defined(__arm__) && __ARM_ARCH >= 7
227
    __asm__ ("mrc p15, 0, %0, c13, c0, 3\nbic %0, %0, #3" : "=r" (tid));
228
#elif defined(__aarch64__) && defined(__APPLE__)
229
    __asm__ ("mrs %0, tpidrro_el0" : "=r" (tid));
230
#elif defined(__aarch64__)
231
    __asm__ ("mrs %0, tpidr_el0" : "=r" (tid));
232
#elif defined(__powerpc64__)
233
    #if defined(__clang__) && _Py__has_builtin(__builtin_thread_pointer)
234
    tid = (uintptr_t)__builtin_thread_pointer();
235
    #else
236
    // r13 is reserved for use as system thread ID by the Power 64-bit ABI.
237
    register uintptr_t tp __asm__ ("r13");
238
    __asm__("" : "=r" (tp));
239
    tid = tp;
240
    #endif
241
#elif defined(__powerpc__)
242
    #if defined(__clang__) && _Py__has_builtin(__builtin_thread_pointer)
243
    tid = (uintptr_t)__builtin_thread_pointer();
244
    #else
245
    // r2 is reserved for use as system thread ID by the Power 32-bit ABI.
246
    register uintptr_t tp __asm__ ("r2");
247
    __asm__ ("" : "=r" (tp));
248
    tid = tp;
249
    #endif
250
#elif defined(__s390__) && defined(__GNUC__)
251
    // Both GCC and Clang have supported __builtin_thread_pointer
252
    // for s390 from long time ago.
253
    tid = (uintptr_t)__builtin_thread_pointer();
254
#elif defined(__riscv)
255
    #if defined(__clang__) && _Py__has_builtin(__builtin_thread_pointer)
256
    tid = (uintptr_t)__builtin_thread_pointer();
257
    #else
258
    // tp is Thread Pointer provided by the RISC-V ABI.
259
    __asm__ ("mv %0, tp" : "=r" (tid));
260
    #endif
261
#else
262
    // Fallback to a portable implementation if we do not have a faster
263
    // platform-specific implementation.
264
    tid = _Py_GetThreadLocal_Addr();
265
#endif
266
  return tid;
267
}
268
269
static inline Py_ALWAYS_INLINE int
270
_Py_IsOwnedByCurrentThread(PyObject *ob)
271
{
272
#ifdef _Py_THREAD_SANITIZER
273
    return _Py_atomic_load_uintptr_relaxed(&ob->ob_tid) == _Py_ThreadId();
274
#else
275
    return ob->ob_tid == _Py_ThreadId();
276
#endif
277
}
278
#endif
279
280
// Py_TYPE() implementation for the stable ABI
281
PyAPI_FUNC(PyTypeObject*) Py_TYPE(PyObject *ob);
282
283
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030e0000
284
    // Stable ABI implements Py_TYPE() as a function call
285
    // on limited C API version 3.14 and newer.
286
#else
287
    static inline PyTypeObject* _Py_TYPE(PyObject *ob)
288
36.6G
    {
289
36.6G
        return ob->ob_type;
290
36.6G
    }
bytesobject.c:_Py_TYPE
Line
Count
Source
288
26.8M
    {
289
26.8M
        return ob->ob_type;
290
26.8M
    }
call.c:_Py_TYPE
Line
Count
Source
288
647M
    {
289
647M
        return ob->ob_type;
290
647M
    }
exceptions.c:_Py_TYPE
Line
Count
Source
288
76.3M
    {
289
76.3M
        return ob->ob_type;
290
76.3M
    }
genericaliasobject.c:_Py_TYPE
Line
Count
Source
288
824
    {
289
824
        return ob->ob_type;
290
824
    }
floatobject.c:_Py_TYPE
Line
Count
Source
288
15.7M
    {
289
15.7M
        return ob->ob_type;
290
15.7M
    }
listobject.c:_Py_TYPE
Line
Count
Source
288
700M
    {
289
700M
        return ob->ob_type;
290
700M
    }
longobject.c:_Py_TYPE
Line
Count
Source
288
1.70G
    {
289
1.70G
        return ob->ob_type;
290
1.70G
    }
dictobject.c:_Py_TYPE
Line
Count
Source
288
3.56G
    {
289
3.56G
        return ob->ob_type;
290
3.56G
    }
memoryobject.c:_Py_TYPE
Line
Count
Source
288
2.18k
    {
289
2.18k
        return ob->ob_type;
290
2.18k
    }
moduleobject.c:_Py_TYPE
Line
Count
Source
288
22.2M
    {
289
22.2M
        return ob->ob_type;
290
22.2M
    }
object.c:_Py_TYPE
Line
Count
Source
288
6.81G
    {
289
6.81G
        return ob->ob_type;
290
6.81G
    }
Unexecuted instantiation: obmalloc.c:_Py_TYPE
Unexecuted instantiation: picklebufobject.c:_Py_TYPE
rangeobject.c:_Py_TYPE
Line
Count
Source
288
1.48k
    {
289
1.48k
        return ob->ob_type;
290
1.48k
    }
setobject.c:_Py_TYPE
Line
Count
Source
288
49.6M
    {
289
49.6M
        return ob->ob_type;
290
49.6M
    }
sliceobject.c:_Py_TYPE
Line
Count
Source
288
1.17k
    {
289
1.17k
        return ob->ob_type;
290
1.17k
    }
structseq.c:_Py_TYPE
Line
Count
Source
288
9.30k
    {
289
9.30k
        return ob->ob_type;
290
9.30k
    }
Unexecuted instantiation: templateobject.c:_Py_TYPE
tupleobject.c:_Py_TYPE
Line
Count
Source
288
675M
    {
289
675M
        return ob->ob_type;
290
675M
    }
typeobject.c:_Py_TYPE
Line
Count
Source
288
1.11G
    {
289
1.11G
        return ob->ob_type;
290
1.11G
    }
Unexecuted instantiation: typevarobject.c:_Py_TYPE
unicodeobject.c:_Py_TYPE
Line
Count
Source
288
2.67G
    {
289
2.67G
        return ob->ob_type;
290
2.67G
    }
Unexecuted instantiation: unicodectype.c:_Py_TYPE
unionobject.c:_Py_TYPE
Line
Count
Source
288
875
    {
289
875
        return ob->ob_type;
290
875
    }
weakrefobject.c:_Py_TYPE
Line
Count
Source
288
121M
    {
289
121M
        return ob->ob_type;
290
121M
    }
_warnings.c:_Py_TYPE
Line
Count
Source
288
55.5k
    {
289
55.5k
        return ob->ob_type;
290
55.5k
    }
bltinmodule.c:_Py_TYPE
Line
Count
Source
288
200M
    {
289
200M
        return ob->ob_type;
290
200M
    }
ceval.c:_Py_TYPE
Line
Count
Source
288
11.9G
    {
289
11.9G
        return ob->ob_type;
290
11.9G
    }
codecs.c:_Py_TYPE
Line
Count
Source
288
3.31M
    {
289
3.31M
        return ob->ob_type;
290
3.31M
    }
codegen.c:_Py_TYPE
Line
Count
Source
288
1.29k
    {
289
1.29k
        return ob->ob_type;
290
1.29k
    }
compile.c:_Py_TYPE
Line
Count
Source
288
145k
    {
289
145k
        return ob->ob_type;
290
145k
    }
context.c:_Py_TYPE
Line
Count
Source
288
15.4k
    {
289
15.4k
        return ob->ob_type;
290
15.4k
    }
errors.c:_Py_TYPE
Line
Count
Source
288
368M
    {
289
368M
        return ob->ob_type;
290
368M
    }
flowgraph.c:_Py_TYPE
Line
Count
Source
288
60.3k
    {
289
60.3k
        return ob->ob_type;
290
60.3k
    }
Unexecuted instantiation: frame.c:_Py_TYPE
Unexecuted instantiation: future.c:_Py_TYPE
gc.c:_Py_TYPE
Line
Count
Source
288
2.37G
    {
289
2.37G
        return ob->ob_type;
290
2.37G
    }
Unexecuted instantiation: gc_gil.c:_Py_TYPE
getargs.c:_Py_TYPE
Line
Count
Source
288
15.6M
    {
289
15.6M
        return ob->ob_type;
290
15.6M
    }
Unexecuted instantiation: ceval_gil.c:_Py_TYPE
Unexecuted instantiation: hamt.c:_Py_TYPE
Unexecuted instantiation: hashtable.c:_Py_TYPE
import.c:_Py_TYPE
Line
Count
Source
288
32.7k
    {
289
32.7k
        return ob->ob_type;
290
32.7k
    }
importdl.c:_Py_TYPE
Line
Count
Source
288
908
    {
289
908
        return ob->ob_type;
290
908
    }
initconfig.c:_Py_TYPE
Line
Count
Source
288
448
    {
289
448
        return ob->ob_type;
290
448
    }
Unexecuted instantiation: instrumentation.c:_Py_TYPE
Unexecuted instantiation: instruction_sequence.c:_Py_TYPE
intrinsics.c:_Py_TYPE
Line
Count
Source
288
26.9k
    {
289
26.9k
        return ob->ob_type;
290
26.9k
    }
Unexecuted instantiation: legacy_tracing.c:_Py_TYPE
Unexecuted instantiation: lock.c:_Py_TYPE
marshal.c:_Py_TYPE
Line
Count
Source
288
429k
    {
289
429k
        return ob->ob_type;
290
429k
    }
modsupport.c:_Py_TYPE
Line
Count
Source
288
203k
    {
289
203k
        return ob->ob_type;
290
203k
    }
Unexecuted instantiation: mysnprintf.c:_Py_TYPE
Unexecuted instantiation: parking_lot.c:_Py_TYPE
Unexecuted instantiation: preconfig.c:_Py_TYPE
Unexecuted instantiation: pyarena.c:_Py_TYPE
Unexecuted instantiation: pyctype.c:_Py_TYPE
Unexecuted instantiation: pyhash.c:_Py_TYPE
pylifecycle.c:_Py_TYPE
Line
Count
Source
288
16
    {
289
16
        return ob->ob_type;
290
16
    }
Unexecuted instantiation: pymath.c:_Py_TYPE
Unexecuted instantiation: pystate.c:_Py_TYPE
pythonrun.c:_Py_TYPE
Line
Count
Source
288
41.6k
    {
289
41.6k
        return ob->ob_type;
290
41.6k
    }
Unexecuted instantiation: pytime.c:_Py_TYPE
Unexecuted instantiation: qsbr.c:_Py_TYPE
Unexecuted instantiation: bootstrap_hash.c:_Py_TYPE
specialize.c:_Py_TYPE
Line
Count
Source
288
26.8M
    {
289
26.8M
        return ob->ob_type;
290
26.8M
    }
symtable.c:_Py_TYPE
Line
Count
Source
288
109k
    {
289
109k
        return ob->ob_type;
290
109k
    }
sysmodule.c:_Py_TYPE
Line
Count
Source
288
798
    {
289
798
        return ob->ob_type;
290
798
    }
Unexecuted instantiation: thread.c:_Py_TYPE
traceback.c:_Py_TYPE
Line
Count
Source
288
34.1M
    {
289
34.1M
        return ob->ob_type;
290
34.1M
    }
Unexecuted instantiation: tracemalloc.c:_Py_TYPE
Unexecuted instantiation: getopt.c:_Py_TYPE
Unexecuted instantiation: pystrcmp.c:_Py_TYPE
Unexecuted instantiation: pystrtod.c:_Py_TYPE
Unexecuted instantiation: pystrhex.c:_Py_TYPE
Unexecuted instantiation: dtoa.c:_Py_TYPE
formatter_unicode.c:_Py_TYPE
Line
Count
Source
288
17.3M
    {
289
17.3M
        return ob->ob_type;
290
17.3M
    }
Unexecuted instantiation: fileutils.c:_Py_TYPE
Unexecuted instantiation: suggestions.c:_Py_TYPE
Unexecuted instantiation: perf_trampoline.c:_Py_TYPE
Unexecuted instantiation: perf_jit_trampoline.c:_Py_TYPE
Unexecuted instantiation: remote_debugging.c:_Py_TYPE
Unexecuted instantiation: dynload_shlib.c:_Py_TYPE
Unexecuted instantiation: config.c:_Py_TYPE
Unexecuted instantiation: gcmodule.c:_Py_TYPE
Unexecuted instantiation: _asynciomodule.c:_Py_TYPE
Unexecuted instantiation: atexitmodule.c:_Py_TYPE
Unexecuted instantiation: faulthandler.c:_Py_TYPE
posixmodule.c:_Py_TYPE
Line
Count
Source
288
47.6k
    {
289
47.6k
        return ob->ob_type;
290
47.6k
    }
Unexecuted instantiation: signalmodule.c:_Py_TYPE
Unexecuted instantiation: _tracemalloc.c:_Py_TYPE
Unexecuted instantiation: _suggestions.c:_Py_TYPE
_codecsmodule.c:_Py_TYPE
Line
Count
Source
288
1.00M
    {
289
1.00M
        return ob->ob_type;
290
1.00M
    }
_collectionsmodule.c:_Py_TYPE
Line
Count
Source
288
386k
    {
289
386k
        return ob->ob_type;
290
386k
    }
Unexecuted instantiation: errnomodule.c:_Py_TYPE
_iomodule.c:_Py_TYPE
Line
Count
Source
288
2.88k
    {
289
2.88k
        return ob->ob_type;
290
2.88k
    }
iobase.c:_Py_TYPE
Line
Count
Source
288
14.7k
    {
289
14.7k
        return ob->ob_type;
290
14.7k
    }
fileio.c:_Py_TYPE
Line
Count
Source
288
38.1k
    {
289
38.1k
        return ob->ob_type;
290
38.1k
    }
bytesio.c:_Py_TYPE
Line
Count
Source
288
23.7k
    {
289
23.7k
        return ob->ob_type;
290
23.7k
    }
bufferedio.c:_Py_TYPE
Line
Count
Source
288
40.3k
    {
289
40.3k
        return ob->ob_type;
290
40.3k
    }
textio.c:_Py_TYPE
Line
Count
Source
288
123k
    {
289
123k
        return ob->ob_type;
290
123k
    }
stringio.c:_Py_TYPE
Line
Count
Source
288
19.8M
    {
289
19.8M
        return ob->ob_type;
290
19.8M
    }
itertoolsmodule.c:_Py_TYPE
Line
Count
Source
288
8.30k
    {
289
8.30k
        return ob->ob_type;
290
8.30k
    }
sre.c:_Py_TYPE
Line
Count
Source
288
291M
    {
289
291M
        return ob->ob_type;
290
291M
    }
Unexecuted instantiation: _sysconfig.c:_Py_TYPE
_threadmodule.c:_Py_TYPE
Line
Count
Source
288
24.7k
    {
289
24.7k
        return ob->ob_type;
290
24.7k
    }
Unexecuted instantiation: timemodule.c:_Py_TYPE
Unexecuted instantiation: _typesmodule.c:_Py_TYPE
Unexecuted instantiation: _typingmodule.c:_Py_TYPE
_weakref.c:_Py_TYPE
Line
Count
Source
288
8.48k
    {
289
8.48k
        return ob->ob_type;
290
8.48k
    }
_abc.c:_Py_TYPE
Line
Count
Source
288
701k
    {
289
701k
        return ob->ob_type;
290
701k
    }
_functoolsmodule.c:_Py_TYPE
Line
Count
Source
288
148k
    {
289
148k
        return ob->ob_type;
290
148k
    }
Unexecuted instantiation: _localemodule.c:_Py_TYPE
Unexecuted instantiation: _opcode.c:_Py_TYPE
_operator.c:_Py_TYPE
Line
Count
Source
288
1.85M
    {
289
1.85M
        return ob->ob_type;
290
1.85M
    }
_stat.c:_Py_TYPE
Line
Count
Source
288
16
    {
289
16
        return ob->ob_type;
290
16
    }
Unexecuted instantiation: symtablemodule.c:_Py_TYPE
Unexecuted instantiation: pwdmodule.c:_Py_TYPE
getpath.c:_Py_TYPE
Line
Count
Source
288
448
    {
289
448
        return ob->ob_type;
290
448
    }
Unexecuted instantiation: frozen.c:_Py_TYPE
Unexecuted instantiation: getbuildinfo.c:_Py_TYPE
Unexecuted instantiation: peg_api.c:_Py_TYPE
Unexecuted instantiation: file_tokenizer.c:_Py_TYPE
Unexecuted instantiation: helpers.c:_Py_TYPE
Unexecuted instantiation: myreadline.c:_Py_TYPE
abstract.c:_Py_TYPE
Line
Count
Source
288
2.05G
    {
289
2.05G
        return ob->ob_type;
290
2.05G
    }
Unexecuted instantiation: boolobject.c:_Py_TYPE
bytes_methods.c:_Py_TYPE
Line
Count
Source
288
1.19M
    {
289
1.19M
        return ob->ob_type;
290
1.19M
    }
bytearrayobject.c:_Py_TYPE
Line
Count
Source
288
3.02M
    {
289
3.02M
        return ob->ob_type;
290
3.02M
    }
capsule.c:_Py_TYPE
Line
Count
Source
288
14.9k
    {
289
14.9k
        return ob->ob_type;
290
14.9k
    }
cellobject.c:_Py_TYPE
Line
Count
Source
288
3.21k
    {
289
3.21k
        return ob->ob_type;
290
3.21k
    }
classobject.c:_Py_TYPE
Line
Count
Source
288
21.3M
    {
289
21.3M
        return ob->ob_type;
290
21.3M
    }
codeobject.c:_Py_TYPE
Line
Count
Source
288
1.53M
    {
289
1.53M
        return ob->ob_type;
290
1.53M
    }
complexobject.c:_Py_TYPE
Line
Count
Source
288
11.0k
    {
289
11.0k
        return ob->ob_type;
290
11.0k
    }
descrobject.c:_Py_TYPE
Line
Count
Source
288
816M
    {
289
816M
        return ob->ob_type;
290
816M
    }
enumobject.c:_Py_TYPE
Line
Count
Source
288
146M
    {
289
146M
        return ob->ob_type;
290
146M
    }
genobject.c:_Py_TYPE
Line
Count
Source
288
55.4M
    {
289
55.4M
        return ob->ob_type;
290
55.4M
    }
fileobject.c:_Py_TYPE
Line
Count
Source
288
944
    {
289
944
        return ob->ob_type;
290
944
    }
frameobject.c:_Py_TYPE
Line
Count
Source
288
32
    {
289
32
        return ob->ob_type;
290
32
    }
funcobject.c:_Py_TYPE
Line
Count
Source
288
27.7k
    {
289
27.7k
        return ob->ob_type;
290
27.7k
    }
Unexecuted instantiation: interpolationobject.c:_Py_TYPE
iterobject.c:_Py_TYPE
Line
Count
Source
288
2.85M
    {
289
2.85M
        return ob->ob_type;
290
2.85M
    }
Unexecuted instantiation: odictobject.c:_Py_TYPE
methodobject.c:_Py_TYPE
Line
Count
Source
288
4.22k
    {
289
4.22k
        return ob->ob_type;
290
4.22k
    }
namespaceobject.c:_Py_TYPE
Line
Count
Source
288
218
    {
289
218
        return ob->ob_type;
290
218
    }
Unexecuted instantiation: _contextvars.c:_Py_TYPE
Python-ast.c:_Py_TYPE
Line
Count
Source
288
1.16M
    {
289
1.16M
        return ob->ob_type;
290
1.16M
    }
Unexecuted instantiation: Python-tokenize.c:_Py_TYPE
Unexecuted instantiation: asdl.c:_Py_TYPE
Unexecuted instantiation: assemble.c:_Py_TYPE
ast.c:_Py_TYPE
Line
Count
Source
288
10.0k
    {
289
10.0k
        return ob->ob_type;
290
10.0k
    }
ast_preprocess.c:_Py_TYPE
Line
Count
Source
288
471
    {
289
471
        return ob->ob_type;
290
471
    }
Unexecuted instantiation: ast_unparse.c:_Py_TYPE
Unexecuted instantiation: critical_section.c:_Py_TYPE
crossinterp.c:_Py_TYPE
Line
Count
Source
288
16
    {
289
16
        return ob->ob_type;
290
16
    }
Unexecuted instantiation: getcopyright.c:_Py_TYPE
Unexecuted instantiation: getplatform.c:_Py_TYPE
Unexecuted instantiation: getversion.c:_Py_TYPE
Unexecuted instantiation: optimizer.c:_Py_TYPE
Unexecuted instantiation: pathconfig.c:_Py_TYPE
Unexecuted instantiation: structmember.c:_Py_TYPE
pegen.c:_Py_TYPE
Line
Count
Source
288
67.2k
    {
289
67.2k
        return ob->ob_type;
290
67.2k
    }
Unexecuted instantiation: pegen_errors.c:_Py_TYPE
Unexecuted instantiation: parser.c:_Py_TYPE
Unexecuted instantiation: buffer.c:_Py_TYPE
Unexecuted instantiation: lexer.c:_Py_TYPE
Unexecuted instantiation: state.c:_Py_TYPE
Unexecuted instantiation: readline_tokenizer.c:_Py_TYPE
Unexecuted instantiation: string_tokenizer.c:_Py_TYPE
Unexecuted instantiation: utf8_tokenizer.c:_Py_TYPE
Unexecuted instantiation: getcompiler.c:_Py_TYPE
Unexecuted instantiation: mystrtoul.c:_Py_TYPE
Unexecuted instantiation: token.c:_Py_TYPE
action_helpers.c:_Py_TYPE
Line
Count
Source
288
156k
    {
289
156k
        return ob->ob_type;
290
156k
    }
Unexecuted instantiation: string_parser.c:_Py_TYPE
291
    #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
292
30.7G
    #   define Py_TYPE(ob) _Py_TYPE(_PyObject_CAST(ob))
293
    #else
294
    #   define Py_TYPE(ob) _Py_TYPE(ob)
295
    #endif
296
#endif
297
298
PyAPI_DATA(PyTypeObject) PyLong_Type;
299
PyAPI_DATA(PyTypeObject) PyBool_Type;
300
301
#ifndef _Py_OPAQUE_PYOBJECT
302
// bpo-39573: The Py_SET_SIZE() function must be used to set an object size.
303
6.60G
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
6.60G
    assert(Py_TYPE(ob) != &PyLong_Type);
305
6.60G
    assert(Py_TYPE(ob) != &PyBool_Type);
306
6.60G
    return  _PyVarObject_CAST(ob)->ob_size;
307
6.60G
}
bytesobject.c:Py_SIZE
Line
Count
Source
303
27.8M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
27.8M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
27.8M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
27.8M
    return  _PyVarObject_CAST(ob)->ob_size;
307
27.8M
}
call.c:Py_SIZE
Line
Count
Source
303
81.6M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
81.6M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
81.6M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
81.6M
    return  _PyVarObject_CAST(ob)->ob_size;
307
81.6M
}
exceptions.c:Py_SIZE
Line
Count
Source
303
11.3M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
11.3M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
11.3M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
11.3M
    return  _PyVarObject_CAST(ob)->ob_size;
307
11.3M
}
Unexecuted instantiation: genericaliasobject.c:Py_SIZE
floatobject.c:Py_SIZE
Line
Count
Source
303
773k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
773k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
773k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
773k
    return  _PyVarObject_CAST(ob)->ob_size;
307
773k
}
listobject.c:Py_SIZE
Line
Count
Source
303
2.23G
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
2.23G
    assert(Py_TYPE(ob) != &PyLong_Type);
305
2.23G
    assert(Py_TYPE(ob) != &PyBool_Type);
306
2.23G
    return  _PyVarObject_CAST(ob)->ob_size;
307
2.23G
}
longobject.c:Py_SIZE
Line
Count
Source
303
6.42k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
6.42k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
6.42k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
6.42k
    return  _PyVarObject_CAST(ob)->ob_size;
307
6.42k
}
dictobject.c:Py_SIZE
Line
Count
Source
303
85.0k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
85.0k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
85.0k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
85.0k
    return  _PyVarObject_CAST(ob)->ob_size;
307
85.0k
}
memoryobject.c:Py_SIZE
Line
Count
Source
303
728
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
728
    assert(Py_TYPE(ob) != &PyLong_Type);
305
728
    assert(Py_TYPE(ob) != &PyBool_Type);
306
728
    return  _PyVarObject_CAST(ob)->ob_size;
307
728
}
moduleobject.c:Py_SIZE
Line
Count
Source
303
910
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
910
    assert(Py_TYPE(ob) != &PyLong_Type);
305
910
    assert(Py_TYPE(ob) != &PyBool_Type);
306
910
    return  _PyVarObject_CAST(ob)->ob_size;
307
910
}
object.c:Py_SIZE
Line
Count
Source
303
8.35M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
8.35M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
8.35M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
8.35M
    return  _PyVarObject_CAST(ob)->ob_size;
307
8.35M
}
Unexecuted instantiation: obmalloc.c:Py_SIZE
Unexecuted instantiation: picklebufobject.c:Py_SIZE
Unexecuted instantiation: rangeobject.c:Py_SIZE
Unexecuted instantiation: setobject.c:Py_SIZE
Unexecuted instantiation: sliceobject.c:Py_SIZE
structseq.c:Py_SIZE
Line
Count
Source
303
4.58k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
4.58k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
4.58k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
4.58k
    return  _PyVarObject_CAST(ob)->ob_size;
307
4.58k
}
Unexecuted instantiation: templateobject.c:Py_SIZE
tupleobject.c:Py_SIZE
Line
Count
Source
303
1.50G
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
1.50G
    assert(Py_TYPE(ob) != &PyLong_Type);
305
1.50G
    assert(Py_TYPE(ob) != &PyBool_Type);
306
1.50G
    return  _PyVarObject_CAST(ob)->ob_size;
307
1.50G
}
typeobject.c:Py_SIZE
Line
Count
Source
303
636M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
636M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
636M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
636M
    return  _PyVarObject_CAST(ob)->ob_size;
307
636M
}
Unexecuted instantiation: typevarobject.c:Py_SIZE
unicodeobject.c:Py_SIZE
Line
Count
Source
303
78.2M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
78.2M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
78.2M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
78.2M
    return  _PyVarObject_CAST(ob)->ob_size;
307
78.2M
}
Unexecuted instantiation: unicodectype.c:Py_SIZE
unionobject.c:Py_SIZE
Line
Count
Source
303
421
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
421
    assert(Py_TYPE(ob) != &PyLong_Type);
305
421
    assert(Py_TYPE(ob) != &PyBool_Type);
306
421
    return  _PyVarObject_CAST(ob)->ob_size;
307
421
}
Unexecuted instantiation: weakrefobject.c:Py_SIZE
_warnings.c:Py_SIZE
Line
Count
Source
303
30.9k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
30.9k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
30.9k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
30.9k
    return  _PyVarObject_CAST(ob)->ob_size;
307
30.9k
}
bltinmodule.c:Py_SIZE
Line
Count
Source
303
2.67M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
2.67M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
2.67M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
2.67M
    return  _PyVarObject_CAST(ob)->ob_size;
307
2.67M
}
ceval.c:Py_SIZE
Line
Count
Source
303
1.67G
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
1.67G
    assert(Py_TYPE(ob) != &PyLong_Type);
305
1.67G
    assert(Py_TYPE(ob) != &PyBool_Type);
306
1.67G
    return  _PyVarObject_CAST(ob)->ob_size;
307
1.67G
}
codecs.c:Py_SIZE
Line
Count
Source
303
1.04M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
1.04M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
1.04M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
1.04M
    return  _PyVarObject_CAST(ob)->ob_size;
307
1.04M
}
codegen.c:Py_SIZE
Line
Count
Source
303
513
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
513
    assert(Py_TYPE(ob) != &PyLong_Type);
305
513
    assert(Py_TYPE(ob) != &PyBool_Type);
306
513
    return  _PyVarObject_CAST(ob)->ob_size;
307
513
}
compile.c:Py_SIZE
Line
Count
Source
303
34.1k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
34.1k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
34.1k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
34.1k
    return  _PyVarObject_CAST(ob)->ob_size;
307
34.1k
}
Unexecuted instantiation: context.c:Py_SIZE
Unexecuted instantiation: errors.c:Py_SIZE
flowgraph.c:Py_SIZE
Line
Count
Source
303
91.4k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
91.4k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
91.4k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
91.4k
    return  _PyVarObject_CAST(ob)->ob_size;
307
91.4k
}
Unexecuted instantiation: frame.c:Py_SIZE
Unexecuted instantiation: future.c:Py_SIZE
gc.c:Py_SIZE
Line
Count
Source
303
261k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
261k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
261k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
261k
    return  _PyVarObject_CAST(ob)->ob_size;
307
261k
}
Unexecuted instantiation: gc_gil.c:Py_SIZE
getargs.c:Py_SIZE
Line
Count
Source
303
3.14M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
3.14M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
3.14M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
3.14M
    return  _PyVarObject_CAST(ob)->ob_size;
307
3.14M
}
Unexecuted instantiation: ceval_gil.c:Py_SIZE
Unexecuted instantiation: hamt.c:Py_SIZE
Unexecuted instantiation: hashtable.c:Py_SIZE
import.c:Py_SIZE
Line
Count
Source
303
112
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
112
    assert(Py_TYPE(ob) != &PyLong_Type);
305
112
    assert(Py_TYPE(ob) != &PyBool_Type);
306
112
    return  _PyVarObject_CAST(ob)->ob_size;
307
112
}
Unexecuted instantiation: importdl.c:Py_SIZE
initconfig.c:Py_SIZE
Line
Count
Source
303
64
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
64
    assert(Py_TYPE(ob) != &PyLong_Type);
305
64
    assert(Py_TYPE(ob) != &PyBool_Type);
306
64
    return  _PyVarObject_CAST(ob)->ob_size;
307
64
}
Unexecuted instantiation: instrumentation.c:Py_SIZE
Unexecuted instantiation: instruction_sequence.c:Py_SIZE
intrinsics.c:Py_SIZE
Line
Count
Source
303
12.9M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
12.9M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
12.9M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
12.9M
    return  _PyVarObject_CAST(ob)->ob_size;
307
12.9M
}
Unexecuted instantiation: legacy_tracing.c:Py_SIZE
Unexecuted instantiation: lock.c:Py_SIZE
marshal.c:Py_SIZE
Line
Count
Source
303
302k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
302k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
302k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
302k
    return  _PyVarObject_CAST(ob)->ob_size;
307
302k
}
Unexecuted instantiation: modsupport.c:Py_SIZE
Unexecuted instantiation: mysnprintf.c:Py_SIZE
Unexecuted instantiation: parking_lot.c:Py_SIZE
Unexecuted instantiation: preconfig.c:Py_SIZE
Unexecuted instantiation: pyarena.c:Py_SIZE
Unexecuted instantiation: pyctype.c:Py_SIZE
Unexecuted instantiation: pyhash.c:Py_SIZE
Unexecuted instantiation: pylifecycle.c:Py_SIZE
Unexecuted instantiation: pymath.c:Py_SIZE
Unexecuted instantiation: pystate.c:Py_SIZE
pythonrun.c:Py_SIZE
Line
Count
Source
303
20.7k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
20.7k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
20.7k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
20.7k
    return  _PyVarObject_CAST(ob)->ob_size;
307
20.7k
}
Unexecuted instantiation: pytime.c:Py_SIZE
Unexecuted instantiation: qsbr.c:Py_SIZE
Unexecuted instantiation: bootstrap_hash.c:Py_SIZE
specialize.c:Py_SIZE
Line
Count
Source
303
12.7k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
12.7k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
12.7k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
12.7k
    return  _PyVarObject_CAST(ob)->ob_size;
307
12.7k
}
symtable.c:Py_SIZE
Line
Count
Source
303
39.8k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
39.8k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
39.8k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
39.8k
    return  _PyVarObject_CAST(ob)->ob_size;
307
39.8k
}
Unexecuted instantiation: sysmodule.c:Py_SIZE
Unexecuted instantiation: thread.c:Py_SIZE
Unexecuted instantiation: traceback.c:Py_SIZE
Unexecuted instantiation: tracemalloc.c:Py_SIZE
Unexecuted instantiation: getopt.c:Py_SIZE
Unexecuted instantiation: pystrcmp.c:Py_SIZE
Unexecuted instantiation: pystrtod.c:Py_SIZE
Unexecuted instantiation: pystrhex.c:Py_SIZE
Unexecuted instantiation: dtoa.c:Py_SIZE
Unexecuted instantiation: formatter_unicode.c:Py_SIZE
Unexecuted instantiation: fileutils.c:Py_SIZE
Unexecuted instantiation: suggestions.c:Py_SIZE
Unexecuted instantiation: perf_trampoline.c:Py_SIZE
Unexecuted instantiation: perf_jit_trampoline.c:Py_SIZE
Unexecuted instantiation: remote_debugging.c:Py_SIZE
Unexecuted instantiation: dynload_shlib.c:Py_SIZE
Unexecuted instantiation: config.c:Py_SIZE
Unexecuted instantiation: gcmodule.c:Py_SIZE
Unexecuted instantiation: _asynciomodule.c:Py_SIZE
Unexecuted instantiation: atexitmodule.c:Py_SIZE
Unexecuted instantiation: faulthandler.c:Py_SIZE
posixmodule.c:Py_SIZE
Line
Count
Source
303
5.66k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
5.66k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
5.66k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
5.66k
    return  _PyVarObject_CAST(ob)->ob_size;
307
5.66k
}
Unexecuted instantiation: signalmodule.c:Py_SIZE
Unexecuted instantiation: _tracemalloc.c:Py_SIZE
Unexecuted instantiation: _suggestions.c:Py_SIZE
Unexecuted instantiation: _codecsmodule.c:Py_SIZE
_collectionsmodule.c:Py_SIZE
Line
Count
Source
303
154M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
154M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
154M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
154M
    return  _PyVarObject_CAST(ob)->ob_size;
307
154M
}
Unexecuted instantiation: errnomodule.c:Py_SIZE
Unexecuted instantiation: _iomodule.c:Py_SIZE
Unexecuted instantiation: iobase.c:Py_SIZE
fileio.c:Py_SIZE
Line
Count
Source
303
2.15k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
2.15k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
2.15k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
2.15k
    return  _PyVarObject_CAST(ob)->ob_size;
307
2.15k
}
bytesio.c:Py_SIZE
Line
Count
Source
303
26.9k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
26.9k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
26.9k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
26.9k
    return  _PyVarObject_CAST(ob)->ob_size;
307
26.9k
}
bufferedio.c:Py_SIZE
Line
Count
Source
303
992
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
992
    assert(Py_TYPE(ob) != &PyLong_Type);
305
992
    assert(Py_TYPE(ob) != &PyBool_Type);
306
992
    return  _PyVarObject_CAST(ob)->ob_size;
307
992
}
textio.c:Py_SIZE
Line
Count
Source
303
16.5k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
16.5k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
16.5k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
16.5k
    return  _PyVarObject_CAST(ob)->ob_size;
307
16.5k
}
stringio.c:Py_SIZE
Line
Count
Source
303
32.9k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
32.9k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
32.9k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
32.9k
    return  _PyVarObject_CAST(ob)->ob_size;
307
32.9k
}
itertoolsmodule.c:Py_SIZE
Line
Count
Source
303
2
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
2
    assert(Py_TYPE(ob) != &PyLong_Type);
305
2
    assert(Py_TYPE(ob) != &PyBool_Type);
306
2
    return  _PyVarObject_CAST(ob)->ob_size;
307
2
}
sre.c:Py_SIZE
Line
Count
Source
303
72.7M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
72.7M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
72.7M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
72.7M
    return  _PyVarObject_CAST(ob)->ob_size;
307
72.7M
}
Unexecuted instantiation: _sysconfig.c:Py_SIZE
Unexecuted instantiation: _threadmodule.c:Py_SIZE
Unexecuted instantiation: timemodule.c:Py_SIZE
Unexecuted instantiation: _typesmodule.c:Py_SIZE
Unexecuted instantiation: _typingmodule.c:Py_SIZE
Unexecuted instantiation: _weakref.c:Py_SIZE
_abc.c:Py_SIZE
Line
Count
Source
303
18.5k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
18.5k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
18.5k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
18.5k
    return  _PyVarObject_CAST(ob)->ob_size;
307
18.5k
}
_functoolsmodule.c:Py_SIZE
Line
Count
Source
303
36.0k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
36.0k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
36.0k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
36.0k
    return  _PyVarObject_CAST(ob)->ob_size;
307
36.0k
}
Unexecuted instantiation: _localemodule.c:Py_SIZE
Unexecuted instantiation: _opcode.c:Py_SIZE
_operator.c:Py_SIZE
Line
Count
Source
303
1.56M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
1.56M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
1.56M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
1.56M
    return  _PyVarObject_CAST(ob)->ob_size;
307
1.56M
}
Unexecuted instantiation: _stat.c:Py_SIZE
Unexecuted instantiation: symtablemodule.c:Py_SIZE
Unexecuted instantiation: pwdmodule.c:Py_SIZE
getpath.c:Py_SIZE
Line
Count
Source
303
144
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
144
    assert(Py_TYPE(ob) != &PyLong_Type);
305
144
    assert(Py_TYPE(ob) != &PyBool_Type);
306
144
    return  _PyVarObject_CAST(ob)->ob_size;
307
144
}
Unexecuted instantiation: frozen.c:Py_SIZE
Unexecuted instantiation: getbuildinfo.c:Py_SIZE
Unexecuted instantiation: peg_api.c:Py_SIZE
Unexecuted instantiation: file_tokenizer.c:Py_SIZE
Unexecuted instantiation: helpers.c:Py_SIZE
Unexecuted instantiation: myreadline.c:Py_SIZE
abstract.c:Py_SIZE
Line
Count
Source
303
110k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
110k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
110k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
110k
    return  _PyVarObject_CAST(ob)->ob_size;
307
110k
}
Unexecuted instantiation: boolobject.c:Py_SIZE
bytes_methods.c:Py_SIZE
Line
Count
Source
303
595k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
595k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
595k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
595k
    return  _PyVarObject_CAST(ob)->ob_size;
307
595k
}
bytearrayobject.c:Py_SIZE
Line
Count
Source
303
73.8M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
73.8M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
73.8M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
73.8M
    return  _PyVarObject_CAST(ob)->ob_size;
307
73.8M
}
Unexecuted instantiation: capsule.c:Py_SIZE
Unexecuted instantiation: cellobject.c:Py_SIZE
Unexecuted instantiation: classobject.c:Py_SIZE
codeobject.c:Py_SIZE
Line
Count
Source
303
1.67M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
1.67M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
1.67M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
1.67M
    return  _PyVarObject_CAST(ob)->ob_size;
307
1.67M
}
Unexecuted instantiation: complexobject.c:Py_SIZE
descrobject.c:Py_SIZE
Line
Count
Source
303
15.2M
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
15.2M
    assert(Py_TYPE(ob) != &PyLong_Type);
305
15.2M
    assert(Py_TYPE(ob) != &PyBool_Type);
306
15.2M
    return  _PyVarObject_CAST(ob)->ob_size;
307
15.2M
}
Unexecuted instantiation: enumobject.c:Py_SIZE
Unexecuted instantiation: genobject.c:Py_SIZE
Unexecuted instantiation: fileobject.c:Py_SIZE
frameobject.c:Py_SIZE
Line
Count
Source
303
16
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
16
    assert(Py_TYPE(ob) != &PyLong_Type);
305
16
    assert(Py_TYPE(ob) != &PyBool_Type);
306
16
    return  _PyVarObject_CAST(ob)->ob_size;
307
16
}
Unexecuted instantiation: funcobject.c:Py_SIZE
Unexecuted instantiation: interpolationobject.c:Py_SIZE
Unexecuted instantiation: iterobject.c:Py_SIZE
Unexecuted instantiation: odictobject.c:Py_SIZE
Unexecuted instantiation: methodobject.c:Py_SIZE
Unexecuted instantiation: namespaceobject.c:Py_SIZE
Unexecuted instantiation: _contextvars.c:Py_SIZE
Unexecuted instantiation: Python-ast.c:Py_SIZE
Unexecuted instantiation: Python-tokenize.c:Py_SIZE
Unexecuted instantiation: asdl.c:Py_SIZE
assemble.c:Py_SIZE
Line
Count
Source
303
507k
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
507k
    assert(Py_TYPE(ob) != &PyLong_Type);
305
507k
    assert(Py_TYPE(ob) != &PyBool_Type);
306
507k
    return  _PyVarObject_CAST(ob)->ob_size;
307
507k
}
Unexecuted instantiation: ast.c:Py_SIZE
Unexecuted instantiation: ast_preprocess.c:Py_SIZE
Unexecuted instantiation: ast_unparse.c:Py_SIZE
Unexecuted instantiation: critical_section.c:Py_SIZE
Unexecuted instantiation: crossinterp.c:Py_SIZE
Unexecuted instantiation: getcopyright.c:Py_SIZE
Unexecuted instantiation: getplatform.c:Py_SIZE
Unexecuted instantiation: getversion.c:Py_SIZE
Unexecuted instantiation: optimizer.c:Py_SIZE
Unexecuted instantiation: pathconfig.c:Py_SIZE
Unexecuted instantiation: structmember.c:Py_SIZE
Unexecuted instantiation: pegen.c:Py_SIZE
Unexecuted instantiation: pegen_errors.c:Py_SIZE
Unexecuted instantiation: parser.c:Py_SIZE
Unexecuted instantiation: buffer.c:Py_SIZE
lexer.c:Py_SIZE
Line
Count
Source
303
426
static inline Py_ssize_t Py_SIZE(PyObject *ob) {
304
426
    assert(Py_TYPE(ob) != &PyLong_Type);
305
426
    assert(Py_TYPE(ob) != &PyBool_Type);
306
426
    return  _PyVarObject_CAST(ob)->ob_size;
307
426
}
Unexecuted instantiation: state.c:Py_SIZE
Unexecuted instantiation: readline_tokenizer.c:Py_SIZE
Unexecuted instantiation: string_tokenizer.c:Py_SIZE
Unexecuted instantiation: utf8_tokenizer.c:Py_SIZE
Unexecuted instantiation: getcompiler.c:Py_SIZE
Unexecuted instantiation: mystrtoul.c:Py_SIZE
Unexecuted instantiation: token.c:Py_SIZE
Unexecuted instantiation: action_helpers.c:Py_SIZE
Unexecuted instantiation: string_parser.c:Py_SIZE
308
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
309
6.55G
#  define Py_SIZE(ob) Py_SIZE(_PyObject_CAST(ob))
310
#endif
311
#endif // !defined(_Py_OPAQUE_PYOBJECT)
312
313
12.1G
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
12.1G
    return Py_TYPE(ob) == type;
315
12.1G
}
bytesobject.c:Py_IS_TYPE
Line
Count
Source
313
7.63M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
7.63M
    return Py_TYPE(ob) == type;
315
7.63M
}
Unexecuted instantiation: call.c:Py_IS_TYPE
exceptions.c:Py_IS_TYPE
Line
Count
Source
313
33.8M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
33.8M
    return Py_TYPE(ob) == type;
315
33.8M
}
Unexecuted instantiation: genericaliasobject.c:Py_IS_TYPE
floatobject.c:Py_IS_TYPE
Line
Count
Source
313
14.1M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
14.1M
    return Py_TYPE(ob) == type;
315
14.1M
}
listobject.c:Py_IS_TYPE
Line
Count
Source
313
396M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
396M
    return Py_TYPE(ob) == type;
315
396M
}
longobject.c:Py_IS_TYPE
Line
Count
Source
313
839M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
839M
    return Py_TYPE(ob) == type;
315
839M
}
dictobject.c:Py_IS_TYPE
Line
Count
Source
313
2.63G
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
2.63G
    return Py_TYPE(ob) == type;
315
2.63G
}
memoryobject.c:Py_IS_TYPE
Line
Count
Source
313
1.45k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
1.45k
    return Py_TYPE(ob) == type;
315
1.45k
}
moduleobject.c:Py_IS_TYPE
Line
Count
Source
313
22.2M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
22.2M
    return Py_TYPE(ob) == type;
315
22.2M
}
object.c:Py_IS_TYPE
Line
Count
Source
313
415M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
415M
    return Py_TYPE(ob) == type;
315
415M
}
Unexecuted instantiation: obmalloc.c:Py_IS_TYPE
Unexecuted instantiation: picklebufobject.c:Py_IS_TYPE
rangeobject.c:Py_IS_TYPE
Line
Count
Source
313
495
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
495
    return Py_TYPE(ob) == type;
315
495
}
setobject.c:Py_IS_TYPE
Line
Count
Source
313
48.9M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
48.9M
    return Py_TYPE(ob) == type;
315
48.9M
}
sliceobject.c:Py_IS_TYPE
Line
Count
Source
313
680
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
680
    return Py_TYPE(ob) == type;
315
680
}
Unexecuted instantiation: structseq.c:Py_IS_TYPE
Unexecuted instantiation: templateobject.c:Py_IS_TYPE
tupleobject.c:Py_IS_TYPE
Line
Count
Source
313
521M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
521M
    return Py_TYPE(ob) == type;
315
521M
}
typeobject.c:Py_IS_TYPE
Line
Count
Source
313
184M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
184M
    return Py_TYPE(ob) == type;
315
184M
}
Unexecuted instantiation: typevarobject.c:Py_IS_TYPE
unicodeobject.c:Py_IS_TYPE
Line
Count
Source
313
475M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
475M
    return Py_TYPE(ob) == type;
315
475M
}
Unexecuted instantiation: unicodectype.c:Py_IS_TYPE
unionobject.c:Py_IS_TYPE
Line
Count
Source
313
432
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
432
    return Py_TYPE(ob) == type;
315
432
}
weakrefobject.c:Py_IS_TYPE
Line
Count
Source
313
528k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
528k
    return Py_TYPE(ob) == type;
315
528k
}
_warnings.c:Py_IS_TYPE
Line
Count
Source
313
2.30k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
2.30k
    return Py_TYPE(ob) == type;
315
2.30k
}
bltinmodule.c:Py_IS_TYPE
Line
Count
Source
313
40.3M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
40.3M
    return Py_TYPE(ob) == type;
315
40.3M
}
ceval.c:Py_IS_TYPE
Line
Count
Source
313
5.49G
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
5.49G
    return Py_TYPE(ob) == type;
315
5.49G
}
codecs.c:Py_IS_TYPE
Line
Count
Source
313
1.57M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
1.57M
    return Py_TYPE(ob) == type;
315
1.57M
}
codegen.c:Py_IS_TYPE
Line
Count
Source
313
48
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
48
    return Py_TYPE(ob) == type;
315
48
}
compile.c:Py_IS_TYPE
Line
Count
Source
313
145k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
145k
    return Py_TYPE(ob) == type;
315
145k
}
context.c:Py_IS_TYPE
Line
Count
Source
313
15.4k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
15.4k
    return Py_TYPE(ob) == type;
315
15.4k
}
Unexecuted instantiation: errors.c:Py_IS_TYPE
flowgraph.c:Py_IS_TYPE
Line
Count
Source
313
60.1k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
60.1k
    return Py_TYPE(ob) == type;
315
60.1k
}
Unexecuted instantiation: frame.c:Py_IS_TYPE
Unexecuted instantiation: future.c:Py_IS_TYPE
gc.c:Py_IS_TYPE
Line
Count
Source
313
194M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
194M
    return Py_TYPE(ob) == type;
315
194M
}
Unexecuted instantiation: gc_gil.c:Py_IS_TYPE
getargs.c:Py_IS_TYPE
Line
Count
Source
313
12.0M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
12.0M
    return Py_TYPE(ob) == type;
315
12.0M
}
Unexecuted instantiation: ceval_gil.c:Py_IS_TYPE
Unexecuted instantiation: hamt.c:Py_IS_TYPE
Unexecuted instantiation: hashtable.c:Py_IS_TYPE
import.c:Py_IS_TYPE
Line
Count
Source
313
1.13k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
1.13k
    return Py_TYPE(ob) == type;
315
1.13k
}
importdl.c:Py_IS_TYPE
Line
Count
Source
313
750
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
750
    return Py_TYPE(ob) == type;
315
750
}
initconfig.c:Py_IS_TYPE
Line
Count
Source
313
128
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
128
    return Py_TYPE(ob) == type;
315
128
}
Unexecuted instantiation: instrumentation.c:Py_IS_TYPE
Unexecuted instantiation: instruction_sequence.c:Py_IS_TYPE
intrinsics.c:Py_IS_TYPE
Line
Count
Source
313
13.0k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
13.0k
    return Py_TYPE(ob) == type;
315
13.0k
}
Unexecuted instantiation: legacy_tracing.c:Py_IS_TYPE
Unexecuted instantiation: lock.c:Py_IS_TYPE
marshal.c:Py_IS_TYPE
Line
Count
Source
313
429k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
429k
    return Py_TYPE(ob) == type;
315
429k
}
modsupport.c:Py_IS_TYPE
Line
Count
Source
313
8.66k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
8.66k
    return Py_TYPE(ob) == type;
315
8.66k
}
Unexecuted instantiation: mysnprintf.c:Py_IS_TYPE
Unexecuted instantiation: parking_lot.c:Py_IS_TYPE
Unexecuted instantiation: preconfig.c:Py_IS_TYPE
Unexecuted instantiation: pyarena.c:Py_IS_TYPE
Unexecuted instantiation: pyctype.c:Py_IS_TYPE
Unexecuted instantiation: pyhash.c:Py_IS_TYPE
Unexecuted instantiation: pylifecycle.c:Py_IS_TYPE
Unexecuted instantiation: pymath.c:Py_IS_TYPE
Unexecuted instantiation: pystate.c:Py_IS_TYPE
Unexecuted instantiation: pythonrun.c:Py_IS_TYPE
Unexecuted instantiation: pytime.c:Py_IS_TYPE
Unexecuted instantiation: qsbr.c:Py_IS_TYPE
Unexecuted instantiation: bootstrap_hash.c:Py_IS_TYPE
specialize.c:Py_IS_TYPE
Line
Count
Source
313
19.9M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
19.9M
    return Py_TYPE(ob) == type;
315
19.9M
}
Unexecuted instantiation: symtable.c:Py_IS_TYPE
sysmodule.c:Py_IS_TYPE
Line
Count
Source
313
399
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
399
    return Py_TYPE(ob) == type;
315
399
}
Unexecuted instantiation: thread.c:Py_IS_TYPE
traceback.c:Py_IS_TYPE
Line
Count
Source
313
34.1M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
34.1M
    return Py_TYPE(ob) == type;
315
34.1M
}
Unexecuted instantiation: tracemalloc.c:Py_IS_TYPE
Unexecuted instantiation: getopt.c:Py_IS_TYPE
Unexecuted instantiation: pystrcmp.c:Py_IS_TYPE
Unexecuted instantiation: pystrtod.c:Py_IS_TYPE
Unexecuted instantiation: pystrhex.c:Py_IS_TYPE
Unexecuted instantiation: dtoa.c:Py_IS_TYPE
formatter_unicode.c:Py_IS_TYPE
Line
Count
Source
313
17.3M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
17.3M
    return Py_TYPE(ob) == type;
315
17.3M
}
Unexecuted instantiation: fileutils.c:Py_IS_TYPE
Unexecuted instantiation: suggestions.c:Py_IS_TYPE
Unexecuted instantiation: perf_trampoline.c:Py_IS_TYPE
Unexecuted instantiation: perf_jit_trampoline.c:Py_IS_TYPE
Unexecuted instantiation: remote_debugging.c:Py_IS_TYPE
Unexecuted instantiation: dynload_shlib.c:Py_IS_TYPE
Unexecuted instantiation: config.c:Py_IS_TYPE
Unexecuted instantiation: gcmodule.c:Py_IS_TYPE
Unexecuted instantiation: _asynciomodule.c:Py_IS_TYPE
Unexecuted instantiation: atexitmodule.c:Py_IS_TYPE
Unexecuted instantiation: faulthandler.c:Py_IS_TYPE
Unexecuted instantiation: posixmodule.c:Py_IS_TYPE
Unexecuted instantiation: signalmodule.c:Py_IS_TYPE
Unexecuted instantiation: _tracemalloc.c:Py_IS_TYPE
Unexecuted instantiation: _suggestions.c:Py_IS_TYPE
Unexecuted instantiation: _codecsmodule.c:Py_IS_TYPE
Unexecuted instantiation: _collectionsmodule.c:Py_IS_TYPE
Unexecuted instantiation: errnomodule.c:Py_IS_TYPE
Unexecuted instantiation: _iomodule.c:Py_IS_TYPE
Unexecuted instantiation: iobase.c:Py_IS_TYPE
fileio.c:Py_IS_TYPE
Line
Count
Source
313
1.21k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
1.21k
    return Py_TYPE(ob) == type;
315
1.21k
}
bytesio.c:Py_IS_TYPE
Line
Count
Source
313
9.00k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
9.00k
    return Py_TYPE(ob) == type;
315
9.00k
}
bufferedio.c:Py_IS_TYPE
Line
Count
Source
313
1.98k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
1.98k
    return Py_TYPE(ob) == type;
315
1.98k
}
textio.c:Py_IS_TYPE
Line
Count
Source
313
128
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
128
    return Py_TYPE(ob) == type;
315
128
}
stringio.c:Py_IS_TYPE
Line
Count
Source
313
19.6M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
19.6M
    return Py_TYPE(ob) == type;
315
19.6M
}
Unexecuted instantiation: itertoolsmodule.c:Py_IS_TYPE
sre.c:Py_IS_TYPE
Line
Count
Source
313
104k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
104k
    return Py_TYPE(ob) == type;
315
104k
}
Unexecuted instantiation: _sysconfig.c:Py_IS_TYPE
Unexecuted instantiation: _threadmodule.c:Py_IS_TYPE
Unexecuted instantiation: timemodule.c:Py_IS_TYPE
Unexecuted instantiation: _typesmodule.c:Py_IS_TYPE
Unexecuted instantiation: _typingmodule.c:Py_IS_TYPE
_weakref.c:Py_IS_TYPE
Line
Count
Source
313
2.82k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
2.82k
    return Py_TYPE(ob) == type;
315
2.82k
}
_abc.c:Py_IS_TYPE
Line
Count
Source
313
956
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
956
    return Py_TYPE(ob) == type;
315
956
}
_functoolsmodule.c:Py_IS_TYPE
Line
Count
Source
313
20
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
20
    return Py_TYPE(ob) == type;
315
20
}
Unexecuted instantiation: _localemodule.c:Py_IS_TYPE
Unexecuted instantiation: _opcode.c:Py_IS_TYPE
_operator.c:Py_IS_TYPE
Line
Count
Source
313
1.56M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
1.56M
    return Py_TYPE(ob) == type;
315
1.56M
}
Unexecuted instantiation: _stat.c:Py_IS_TYPE
Unexecuted instantiation: symtablemodule.c:Py_IS_TYPE
Unexecuted instantiation: pwdmodule.c:Py_IS_TYPE
getpath.c:Py_IS_TYPE
Line
Count
Source
313
16
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
16
    return Py_TYPE(ob) == type;
315
16
}
Unexecuted instantiation: frozen.c:Py_IS_TYPE
Unexecuted instantiation: getbuildinfo.c:Py_IS_TYPE
Unexecuted instantiation: peg_api.c:Py_IS_TYPE
Unexecuted instantiation: file_tokenizer.c:Py_IS_TYPE
Unexecuted instantiation: helpers.c:Py_IS_TYPE
Unexecuted instantiation: myreadline.c:Py_IS_TYPE
abstract.c:Py_IS_TYPE
Line
Count
Source
313
188M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
188M
    return Py_TYPE(ob) == type;
315
188M
}
Unexecuted instantiation: boolobject.c:Py_IS_TYPE
Unexecuted instantiation: bytes_methods.c:Py_IS_TYPE
bytearrayobject.c:Py_IS_TYPE
Line
Count
Source
313
9.94k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
9.94k
    return Py_TYPE(ob) == type;
315
9.94k
}
capsule.c:Py_IS_TYPE
Line
Count
Source
313
14.9k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
14.9k
    return Py_TYPE(ob) == type;
315
14.9k
}
cellobject.c:Py_IS_TYPE
Line
Count
Source
313
3.21k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
3.21k
    return Py_TYPE(ob) == type;
315
3.21k
}
Unexecuted instantiation: classobject.c:Py_IS_TYPE
codeobject.c:Py_IS_TYPE
Line
Count
Source
313
1.20M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
1.20M
    return Py_TYPE(ob) == type;
315
1.20M
}
complexobject.c:Py_IS_TYPE
Line
Count
Source
313
11.0k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
11.0k
    return Py_TYPE(ob) == type;
315
11.0k
}
descrobject.c:Py_IS_TYPE
Line
Count
Source
313
483M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
483M
    return Py_TYPE(ob) == type;
315
483M
}
Unexecuted instantiation: enumobject.c:Py_IS_TYPE
genobject.c:Py_IS_TYPE
Line
Count
Source
313
55.4M
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
55.4M
    return Py_TYPE(ob) == type;
315
55.4M
}
Unexecuted instantiation: fileobject.c:Py_IS_TYPE
frameobject.c:Py_IS_TYPE
Line
Count
Source
313
16
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
16
    return Py_TYPE(ob) == type;
315
16
}
funcobject.c:Py_IS_TYPE
Line
Count
Source
313
43
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
43
    return Py_TYPE(ob) == type;
315
43
}
Unexecuted instantiation: interpolationobject.c:Py_IS_TYPE
Unexecuted instantiation: iterobject.c:Py_IS_TYPE
Unexecuted instantiation: odictobject.c:Py_IS_TYPE
methodobject.c:Py_IS_TYPE
Line
Count
Source
313
4.15k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
4.15k
    return Py_TYPE(ob) == type;
315
4.15k
}
Unexecuted instantiation: namespaceobject.c:Py_IS_TYPE
Unexecuted instantiation: _contextvars.c:Py_IS_TYPE
Unexecuted instantiation: Python-ast.c:Py_IS_TYPE
Unexecuted instantiation: Python-tokenize.c:Py_IS_TYPE
Unexecuted instantiation: asdl.c:Py_IS_TYPE
Unexecuted instantiation: assemble.c:Py_IS_TYPE
ast.c:Py_IS_TYPE
Line
Count
Source
313
10.0k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
10.0k
    return Py_TYPE(ob) == type;
315
10.0k
}
Unexecuted instantiation: ast_preprocess.c:Py_IS_TYPE
Unexecuted instantiation: ast_unparse.c:Py_IS_TYPE
Unexecuted instantiation: critical_section.c:Py_IS_TYPE
Unexecuted instantiation: crossinterp.c:Py_IS_TYPE
Unexecuted instantiation: getcopyright.c:Py_IS_TYPE
Unexecuted instantiation: getplatform.c:Py_IS_TYPE
Unexecuted instantiation: getversion.c:Py_IS_TYPE
Unexecuted instantiation: optimizer.c:Py_IS_TYPE
Unexecuted instantiation: pathconfig.c:Py_IS_TYPE
Unexecuted instantiation: structmember.c:Py_IS_TYPE
pegen.c:Py_IS_TYPE
Line
Count
Source
313
11.8k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
11.8k
    return Py_TYPE(ob) == type;
315
11.8k
}
Unexecuted instantiation: pegen_errors.c:Py_IS_TYPE
Unexecuted instantiation: parser.c:Py_IS_TYPE
Unexecuted instantiation: buffer.c:Py_IS_TYPE
Unexecuted instantiation: lexer.c:Py_IS_TYPE
Unexecuted instantiation: state.c:Py_IS_TYPE
Unexecuted instantiation: readline_tokenizer.c:Py_IS_TYPE
Unexecuted instantiation: string_tokenizer.c:Py_IS_TYPE
Unexecuted instantiation: utf8_tokenizer.c:Py_IS_TYPE
Unexecuted instantiation: getcompiler.c:Py_IS_TYPE
Unexecuted instantiation: mystrtoul.c:Py_IS_TYPE
Unexecuted instantiation: token.c:Py_IS_TYPE
action_helpers.c:Py_IS_TYPE
Line
Count
Source
313
156k
static inline int Py_IS_TYPE(PyObject *ob, PyTypeObject *type) {
314
156k
    return Py_TYPE(ob) == type;
315
156k
}
Unexecuted instantiation: string_parser.c:Py_IS_TYPE
316
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
317
19.4G
#  define Py_IS_TYPE(ob, type) Py_IS_TYPE(_PyObject_CAST(ob), (type))
318
#endif
319
320
321
#ifndef _Py_OPAQUE_PYOBJECT
322
1.12G
static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) {
323
1.12G
    ob->ob_type = type;
324
1.12G
}
bytesobject.c:Py_SET_TYPE
Line
Count
Source
322
22.1M
static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) {
323
22.1M
    ob->ob_type = type;
324
22.1M
}
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
322
747k
static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) {
323
747k
    ob->ob_type = type;
324
747k
}
Unexecuted instantiation: listobject.c:Py_SET_TYPE
longobject.c:Py_SET_TYPE
Line
Count
Source
322
97.1M
static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) {
323
97.1M
    ob->ob_type = type;
324
97.1M
}
Unexecuted instantiation: dictobject.c:Py_SET_TYPE
Unexecuted instantiation: memoryobject.c:Py_SET_TYPE
moduleobject.c:Py_SET_TYPE
Line
Count
Source
322
439
static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) {
323
439
    ob->ob_type = type;
324
439
}
object.c:Py_SET_TYPE
Line
Count
Source
322
42.3k
static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) {
323
42.3k
    ob->ob_type = type;
324
42.3k
}
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
322
128
static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) {
323
128
    ob->ob_type = type;
324
128
}
Unexecuted instantiation: templateobject.c:Py_SET_TYPE
Unexecuted instantiation: tupleobject.c:Py_SET_TYPE
typeobject.c:Py_SET_TYPE
Line
Count
Source
322
116M
static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) {
323
116M
    ob->ob_type = type;
324
116M
}
Unexecuted instantiation: typevarobject.c:Py_SET_TYPE
unicodeobject.c:Py_SET_TYPE
Line
Count
Source
322
513M
static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) {
323
513M
    ob->ob_type = type;
324
513M
}
Unexecuted instantiation: unicodectype.c:Py_SET_TYPE
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
322
369M
static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) {
323
369M
    ob->ob_type = type;
324
369M
}
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: 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: formatter_unicode.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
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
322
12
static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) {
323
12
    ob->ob_type = type;
324
12
}
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
322
4.24k
static inline void Py_SET_TYPE(PyObject *ob, PyTypeObject *type) {
323
4.24k
    ob->ob_type = type;
324
4.24k
}
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: 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: structmember.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
325
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
326
1.12G
#  define Py_SET_TYPE(ob, type) Py_SET_TYPE(_PyObject_CAST(ob), type)
327
#endif
328
329
1.33G
static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) {
330
1.33G
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
331
1.33G
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
332
#ifdef Py_GIL_DISABLED
333
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
334
#else
335
1.33G
    ob->ob_size = size;
336
1.33G
#endif
337
1.33G
}
bytesobject.c:Py_SET_SIZE
Line
Count
Source
329
25.0M
static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) {
330
25.0M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
331
25.0M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
332
#ifdef Py_GIL_DISABLED
333
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
334
#else
335
25.0M
    ob->ob_size = size;
336
25.0M
#endif
337
25.0M
}
Unexecuted instantiation: call.c:Py_SET_SIZE
Unexecuted instantiation: exceptions.c:Py_SET_SIZE
Unexecuted instantiation: genericaliasobject.c:Py_SET_SIZE
Unexecuted instantiation: floatobject.c:Py_SET_SIZE
listobject.c:Py_SET_SIZE
Line
Count
Source
329
622M
static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) {
330
622M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
331
622M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
332
#ifdef Py_GIL_DISABLED
333
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
334
#else
335
622M
    ob->ob_size = size;
336
622M
#endif
337
622M
}
Unexecuted instantiation: longobject.c:Py_SET_SIZE
Unexecuted instantiation: dictobject.c:Py_SET_SIZE
Unexecuted instantiation: memoryobject.c:Py_SET_SIZE
Unexecuted instantiation: moduleobject.c:Py_SET_SIZE
object.c:Py_SET_SIZE
Line
Count
Source
329
30.9k
static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) {
330
30.9k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
331
30.9k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
332
#ifdef Py_GIL_DISABLED
333
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
334
#else
335
30.9k
    ob->ob_size = size;
336
30.9k
#endif
337
30.9k
}
Unexecuted instantiation: obmalloc.c:Py_SET_SIZE
Unexecuted instantiation: picklebufobject.c:Py_SET_SIZE
Unexecuted instantiation: rangeobject.c:Py_SET_SIZE
Unexecuted instantiation: setobject.c:Py_SET_SIZE
Unexecuted instantiation: sliceobject.c:Py_SET_SIZE
structseq.c:Py_SET_SIZE
Line
Count
Source
329
4.68k
static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) {
330
4.68k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
331
4.68k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
332
#ifdef Py_GIL_DISABLED
333
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
334
#else
335
4.68k
    ob->ob_size = size;
336
4.68k
#endif
337
4.68k
}
Unexecuted instantiation: templateobject.c:Py_SET_SIZE
Unexecuted instantiation: tupleobject.c:Py_SET_SIZE
typeobject.c:Py_SET_SIZE
Line
Count
Source
329
1.90M
static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) {
330
1.90M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
331
1.90M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
332
#ifdef Py_GIL_DISABLED
333
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
334
#else
335
1.90M
    ob->ob_size = size;
336
1.90M
#endif
337
1.90M
}
Unexecuted instantiation: typevarobject.c:Py_SET_SIZE
unicodeobject.c:Py_SET_SIZE
Line
Count
Source
329
17.6M
static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) {
330
17.6M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
331
17.6M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
332
#ifdef Py_GIL_DISABLED
333
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
334
#else
335
17.6M
    ob->ob_size = size;
336
17.6M
#endif
337
17.6M
}
Unexecuted instantiation: unicodectype.c:Py_SET_SIZE
Unexecuted instantiation: unionobject.c:Py_SET_SIZE
Unexecuted instantiation: weakrefobject.c:Py_SET_SIZE
Unexecuted instantiation: _warnings.c:Py_SET_SIZE
Unexecuted instantiation: bltinmodule.c:Py_SET_SIZE
ceval.c:Py_SET_SIZE
Line
Count
Source
329
365M
static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) {
330
365M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
331
365M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
332
#ifdef Py_GIL_DISABLED
333
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
334
#else
335
365M
    ob->ob_size = size;
336
365M
#endif
337
365M
}
Unexecuted instantiation: codecs.c:Py_SET_SIZE
Unexecuted instantiation: codegen.c:Py_SET_SIZE
Unexecuted instantiation: compile.c:Py_SET_SIZE
Unexecuted instantiation: context.c:Py_SET_SIZE
Unexecuted instantiation: errors.c:Py_SET_SIZE
Unexecuted instantiation: flowgraph.c:Py_SET_SIZE
Unexecuted instantiation: frame.c:Py_SET_SIZE
Unexecuted instantiation: future.c:Py_SET_SIZE
gc.c:Py_SET_SIZE
Line
Count
Source
329
214M
static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) {
330
214M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
331
214M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
332
#ifdef Py_GIL_DISABLED
333
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
334
#else
335
214M
    ob->ob_size = size;
336
214M
#endif
337
214M
}
Unexecuted instantiation: gc_gil.c:Py_SET_SIZE
Unexecuted instantiation: getargs.c:Py_SET_SIZE
Unexecuted instantiation: ceval_gil.c:Py_SET_SIZE
Unexecuted instantiation: hamt.c:Py_SET_SIZE
Unexecuted instantiation: hashtable.c:Py_SET_SIZE
Unexecuted instantiation: import.c:Py_SET_SIZE
Unexecuted instantiation: importdl.c:Py_SET_SIZE
Unexecuted instantiation: initconfig.c:Py_SET_SIZE
Unexecuted instantiation: instrumentation.c:Py_SET_SIZE
Unexecuted instantiation: instruction_sequence.c:Py_SET_SIZE
Unexecuted instantiation: intrinsics.c:Py_SET_SIZE
Unexecuted instantiation: legacy_tracing.c:Py_SET_SIZE
Unexecuted instantiation: lock.c:Py_SET_SIZE
Unexecuted instantiation: marshal.c:Py_SET_SIZE
Unexecuted instantiation: modsupport.c:Py_SET_SIZE
Unexecuted instantiation: mysnprintf.c:Py_SET_SIZE
Unexecuted instantiation: parking_lot.c:Py_SET_SIZE
Unexecuted instantiation: preconfig.c:Py_SET_SIZE
Unexecuted instantiation: pyarena.c:Py_SET_SIZE
Unexecuted instantiation: pyctype.c:Py_SET_SIZE
Unexecuted instantiation: pyhash.c:Py_SET_SIZE
Unexecuted instantiation: pylifecycle.c:Py_SET_SIZE
Unexecuted instantiation: pymath.c:Py_SET_SIZE
Unexecuted instantiation: pystate.c:Py_SET_SIZE
Unexecuted instantiation: pythonrun.c:Py_SET_SIZE
Unexecuted instantiation: pytime.c:Py_SET_SIZE
Unexecuted instantiation: qsbr.c:Py_SET_SIZE
Unexecuted instantiation: bootstrap_hash.c:Py_SET_SIZE
Unexecuted instantiation: specialize.c:Py_SET_SIZE
Unexecuted instantiation: symtable.c:Py_SET_SIZE
Unexecuted instantiation: sysmodule.c:Py_SET_SIZE
Unexecuted instantiation: thread.c:Py_SET_SIZE
Unexecuted instantiation: traceback.c:Py_SET_SIZE
Unexecuted instantiation: tracemalloc.c:Py_SET_SIZE
Unexecuted instantiation: getopt.c:Py_SET_SIZE
Unexecuted instantiation: pystrcmp.c:Py_SET_SIZE
Unexecuted instantiation: pystrtod.c:Py_SET_SIZE
Unexecuted instantiation: pystrhex.c:Py_SET_SIZE
Unexecuted instantiation: dtoa.c:Py_SET_SIZE
Unexecuted instantiation: formatter_unicode.c:Py_SET_SIZE
Unexecuted instantiation: fileutils.c:Py_SET_SIZE
Unexecuted instantiation: suggestions.c:Py_SET_SIZE
Unexecuted instantiation: perf_trampoline.c:Py_SET_SIZE
Unexecuted instantiation: perf_jit_trampoline.c:Py_SET_SIZE
Unexecuted instantiation: remote_debugging.c:Py_SET_SIZE
Unexecuted instantiation: dynload_shlib.c:Py_SET_SIZE
Unexecuted instantiation: config.c:Py_SET_SIZE
Unexecuted instantiation: gcmodule.c:Py_SET_SIZE
Unexecuted instantiation: _asynciomodule.c:Py_SET_SIZE
Unexecuted instantiation: atexitmodule.c:Py_SET_SIZE
Unexecuted instantiation: faulthandler.c:Py_SET_SIZE
Unexecuted instantiation: posixmodule.c:Py_SET_SIZE
Unexecuted instantiation: signalmodule.c:Py_SET_SIZE
Unexecuted instantiation: _tracemalloc.c:Py_SET_SIZE
Unexecuted instantiation: _suggestions.c:Py_SET_SIZE
Unexecuted instantiation: _codecsmodule.c:Py_SET_SIZE
_collectionsmodule.c:Py_SET_SIZE
Line
Count
Source
329
76.8M
static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) {
330
76.8M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
331
76.8M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
332
#ifdef Py_GIL_DISABLED
333
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
334
#else
335
76.8M
    ob->ob_size = size;
336
76.8M
#endif
337
76.8M
}
Unexecuted instantiation: errnomodule.c:Py_SET_SIZE
Unexecuted instantiation: _iomodule.c:Py_SET_SIZE
Unexecuted instantiation: iobase.c:Py_SET_SIZE
Unexecuted instantiation: fileio.c:Py_SET_SIZE
Unexecuted instantiation: bytesio.c:Py_SET_SIZE
Unexecuted instantiation: bufferedio.c:Py_SET_SIZE
Unexecuted instantiation: textio.c:Py_SET_SIZE
Unexecuted instantiation: stringio.c:Py_SET_SIZE
Unexecuted instantiation: itertoolsmodule.c:Py_SET_SIZE
Unexecuted instantiation: sre.c:Py_SET_SIZE
Unexecuted instantiation: _sysconfig.c:Py_SET_SIZE
Unexecuted instantiation: _threadmodule.c:Py_SET_SIZE
Unexecuted instantiation: timemodule.c:Py_SET_SIZE
Unexecuted instantiation: _typesmodule.c:Py_SET_SIZE
Unexecuted instantiation: _typingmodule.c:Py_SET_SIZE
Unexecuted instantiation: _weakref.c:Py_SET_SIZE
Unexecuted instantiation: _abc.c:Py_SET_SIZE
Unexecuted instantiation: _functoolsmodule.c:Py_SET_SIZE
Unexecuted instantiation: _localemodule.c:Py_SET_SIZE
Unexecuted instantiation: _opcode.c:Py_SET_SIZE
Unexecuted instantiation: _operator.c:Py_SET_SIZE
Unexecuted instantiation: _stat.c:Py_SET_SIZE
Unexecuted instantiation: symtablemodule.c:Py_SET_SIZE
Unexecuted instantiation: pwdmodule.c:Py_SET_SIZE
Unexecuted instantiation: getpath.c:Py_SET_SIZE
Unexecuted instantiation: frozen.c:Py_SET_SIZE
Unexecuted instantiation: getbuildinfo.c:Py_SET_SIZE
Unexecuted instantiation: peg_api.c:Py_SET_SIZE
Unexecuted instantiation: file_tokenizer.c:Py_SET_SIZE
Unexecuted instantiation: helpers.c:Py_SET_SIZE
Unexecuted instantiation: myreadline.c:Py_SET_SIZE
Unexecuted instantiation: abstract.c:Py_SET_SIZE
Unexecuted instantiation: boolobject.c:Py_SET_SIZE
Unexecuted instantiation: bytes_methods.c:Py_SET_SIZE
bytearrayobject.c:Py_SET_SIZE
Line
Count
Source
329
6.09M
static inline void Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size) {
330
6.09M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
331
6.09M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
332
#ifdef Py_GIL_DISABLED
333
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
334
#else
335
6.09M
    ob->ob_size = size;
336
6.09M
#endif
337
6.09M
}
Unexecuted instantiation: capsule.c:Py_SET_SIZE
Unexecuted instantiation: cellobject.c:Py_SET_SIZE
Unexecuted instantiation: classobject.c:Py_SET_SIZE
Unexecuted instantiation: codeobject.c:Py_SET_SIZE
Unexecuted instantiation: complexobject.c:Py_SET_SIZE
Unexecuted instantiation: descrobject.c:Py_SET_SIZE
Unexecuted instantiation: enumobject.c:Py_SET_SIZE
Unexecuted instantiation: genobject.c:Py_SET_SIZE
Unexecuted instantiation: fileobject.c:Py_SET_SIZE
Unexecuted instantiation: frameobject.c:Py_SET_SIZE
Unexecuted instantiation: funcobject.c:Py_SET_SIZE
Unexecuted instantiation: interpolationobject.c:Py_SET_SIZE
Unexecuted instantiation: iterobject.c:Py_SET_SIZE
Unexecuted instantiation: odictobject.c:Py_SET_SIZE
Unexecuted instantiation: methodobject.c:Py_SET_SIZE
Unexecuted instantiation: namespaceobject.c:Py_SET_SIZE
Unexecuted instantiation: _contextvars.c:Py_SET_SIZE
Unexecuted instantiation: Python-ast.c:Py_SET_SIZE
Unexecuted instantiation: Python-tokenize.c:Py_SET_SIZE
Unexecuted instantiation: asdl.c:Py_SET_SIZE
Unexecuted instantiation: assemble.c:Py_SET_SIZE
Unexecuted instantiation: ast.c:Py_SET_SIZE
Unexecuted instantiation: ast_preprocess.c:Py_SET_SIZE
Unexecuted instantiation: ast_unparse.c:Py_SET_SIZE
Unexecuted instantiation: critical_section.c:Py_SET_SIZE
Unexecuted instantiation: crossinterp.c:Py_SET_SIZE
Unexecuted instantiation: getcopyright.c:Py_SET_SIZE
Unexecuted instantiation: getplatform.c:Py_SET_SIZE
Unexecuted instantiation: getversion.c:Py_SET_SIZE
Unexecuted instantiation: optimizer.c:Py_SET_SIZE
Unexecuted instantiation: pathconfig.c:Py_SET_SIZE
Unexecuted instantiation: structmember.c:Py_SET_SIZE
Unexecuted instantiation: pegen.c:Py_SET_SIZE
Unexecuted instantiation: pegen_errors.c:Py_SET_SIZE
Unexecuted instantiation: parser.c:Py_SET_SIZE
Unexecuted instantiation: buffer.c:Py_SET_SIZE
Unexecuted instantiation: lexer.c:Py_SET_SIZE
Unexecuted instantiation: state.c:Py_SET_SIZE
Unexecuted instantiation: readline_tokenizer.c:Py_SET_SIZE
Unexecuted instantiation: string_tokenizer.c:Py_SET_SIZE
Unexecuted instantiation: utf8_tokenizer.c:Py_SET_SIZE
Unexecuted instantiation: getcompiler.c:Py_SET_SIZE
Unexecuted instantiation: mystrtoul.c:Py_SET_SIZE
Unexecuted instantiation: token.c:Py_SET_SIZE
Unexecuted instantiation: action_helpers.c:Py_SET_SIZE
Unexecuted instantiation: string_parser.c:Py_SET_SIZE
338
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
339
1.33G
#  define Py_SET_SIZE(ob, size) Py_SET_SIZE(_PyVarObject_CAST(ob), (size))
340
#endif
341
#endif // !defined(_Py_OPAQUE_PYOBJECT)
342
343
344
/*
345
Type objects contain a string containing the type name (to help somewhat
346
in debugging), the allocation parameters (see PyObject_New() and
347
PyObject_NewVar()),
348
and methods for accessing objects of the type.  Methods are optional, a
349
nil pointer meaning that particular kind of access is not available for
350
this type.  The Py_DECREF() macro uses the tp_dealloc method without
351
checking for a nil pointer; it should always be implemented except if
352
the implementation can guarantee that the reference count will never
353
reach zero (e.g., for statically allocated type objects).
354
355
NB: the methods for certain type groups are now contained in separate
356
method blocks.
357
*/
358
359
typedef PyObject * (*unaryfunc)(PyObject *);
360
typedef PyObject * (*binaryfunc)(PyObject *, PyObject *);
361
typedef PyObject * (*ternaryfunc)(PyObject *, PyObject *, PyObject *);
362
typedef int (*inquiry)(PyObject *);
363
typedef Py_ssize_t (*lenfunc)(PyObject *);
364
typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t);
365
typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t);
366
typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *);
367
typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *);
368
typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *);
369
370
typedef int (*objobjproc)(PyObject *, PyObject *);
371
typedef int (*visitproc)(PyObject *, void *);
372
typedef int (*traverseproc)(PyObject *, visitproc, void *);
373
374
375
typedef void (*freefunc)(void *);
376
typedef void (*destructor)(PyObject *);
377
typedef PyObject *(*getattrfunc)(PyObject *, char *);
378
typedef PyObject *(*getattrofunc)(PyObject *, PyObject *);
379
typedef int (*setattrfunc)(PyObject *, char *, PyObject *);
380
typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *);
381
typedef PyObject *(*reprfunc)(PyObject *);
382
typedef Py_hash_t (*hashfunc)(PyObject *);
383
typedef PyObject *(*richcmpfunc) (PyObject *, PyObject *, int);
384
typedef PyObject *(*getiterfunc) (PyObject *);
385
typedef PyObject *(*iternextfunc) (PyObject *);
386
typedef PyObject *(*descrgetfunc) (PyObject *, PyObject *, PyObject *);
387
typedef int (*descrsetfunc) (PyObject *, PyObject *, PyObject *);
388
typedef int (*initproc)(PyObject *, PyObject *, PyObject *);
389
typedef PyObject *(*newfunc)(PyTypeObject *, PyObject *, PyObject *);
390
typedef PyObject *(*allocfunc)(PyTypeObject *, Py_ssize_t);
391
392
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030c0000 // 3.12
393
typedef PyObject *(*vectorcallfunc)(PyObject *callable, PyObject *const *args,
394
                                    size_t nargsf, PyObject *kwnames);
395
#endif
396
397
typedef struct{
398
    int slot;    /* slot id, see below */
399
    void *pfunc; /* function pointer */
400
} PyType_Slot;
401
402
typedef struct{
403
    const char* name;
404
    int basicsize;
405
    int itemsize;
406
    unsigned int flags;
407
    PyType_Slot *slots; /* terminated by slot==0. */
408
} PyType_Spec;
409
410
PyAPI_FUNC(PyObject*) PyType_FromSpec(PyType_Spec*);
411
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
412
PyAPI_FUNC(PyObject*) PyType_FromSpecWithBases(PyType_Spec*, PyObject*);
413
#endif
414
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03040000
415
PyAPI_FUNC(void*) PyType_GetSlot(PyTypeObject*, int);
416
#endif
417
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000
418
PyAPI_FUNC(PyObject*) PyType_FromModuleAndSpec(PyObject *, PyType_Spec *, PyObject *);
419
PyAPI_FUNC(PyObject *) PyType_GetModule(PyTypeObject *);
420
PyAPI_FUNC(void *) PyType_GetModuleState(PyTypeObject *);
421
#endif
422
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030B0000
423
PyAPI_FUNC(PyObject *) PyType_GetName(PyTypeObject *);
424
PyAPI_FUNC(PyObject *) PyType_GetQualName(PyTypeObject *);
425
#endif
426
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030D0000
427
PyAPI_FUNC(PyObject *) PyType_GetFullyQualifiedName(PyTypeObject *type);
428
PyAPI_FUNC(PyObject *) PyType_GetModuleName(PyTypeObject *type);
429
#endif
430
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000
431
PyAPI_FUNC(PyObject *) PyType_FromMetaclass(PyTypeObject*, PyObject*, PyType_Spec*, PyObject*);
432
PyAPI_FUNC(void *) PyObject_GetTypeData(PyObject *obj, PyTypeObject *cls);
433
PyAPI_FUNC(Py_ssize_t) PyType_GetTypeDataSize(PyTypeObject *cls);
434
#endif
435
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030E0000
436
PyAPI_FUNC(int) PyType_GetBaseByToken(PyTypeObject *, void *, PyTypeObject **);
437
12
#define Py_TP_USE_SPEC NULL
438
#endif
439
440
/* Generic type check */
441
PyAPI_FUNC(int) PyType_IsSubtype(PyTypeObject *, PyTypeObject *);
442
443
629M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
629M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
629M
}
Unexecuted instantiation: bytesobject.c:PyObject_TypeCheck
Unexecuted instantiation: call.c:PyObject_TypeCheck
exceptions.c:PyObject_TypeCheck
Line
Count
Source
443
969k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
969k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
969k
}
Unexecuted instantiation: genericaliasobject.c:PyObject_TypeCheck
floatobject.c:PyObject_TypeCheck
Line
Count
Source
443
10.5M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
10.5M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
10.5M
}
Unexecuted instantiation: listobject.c:PyObject_TypeCheck
longobject.c:PyObject_TypeCheck
Line
Count
Source
443
2.24k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
2.24k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
2.24k
}
dictobject.c:PyObject_TypeCheck
Line
Count
Source
443
13.9M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
13.9M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
13.9M
}
Unexecuted instantiation: memoryobject.c:PyObject_TypeCheck
moduleobject.c:PyObject_TypeCheck
Line
Count
Source
443
22.2M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
22.2M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
22.2M
}
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
443
79.2M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
79.2M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
79.2M
}
Unexecuted instantiation: typevarobject.c:PyObject_TypeCheck
Unexecuted instantiation: unicodeobject.c:PyObject_TypeCheck
Unexecuted instantiation: unicodectype.c:PyObject_TypeCheck
Unexecuted instantiation: unionobject.c:PyObject_TypeCheck
weakrefobject.c:PyObject_TypeCheck
Line
Count
Source
443
328
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
328
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
328
}
Unexecuted instantiation: _warnings.c:PyObject_TypeCheck
bltinmodule.c:PyObject_TypeCheck
Line
Count
Source
443
9.39M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
9.39M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
9.39M
}
ceval.c:PyObject_TypeCheck
Line
Count
Source
443
14
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
14
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
14
}
codecs.c:PyObject_TypeCheck
Line
Count
Source
443
475k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
475k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
475k
}
codegen.c:PyObject_TypeCheck
Line
Count
Source
443
24
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
24
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
24
}
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
443
2.06M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
2.06M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
2.06M
}
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
443
929
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
929
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
929
}
importdl.c:PyObject_TypeCheck
Line
Count
Source
443
375
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
375
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
375
}
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
443
8.66k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
8.66k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
8.66k
}
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
443
356
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
356
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
356
}
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: formatter_unicode.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
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
443
2.82k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
2.82k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
2.82k
}
Unexecuted instantiation: _abc.c:PyObject_TypeCheck
_functoolsmodule.c:PyObject_TypeCheck
Line
Count
Source
443
20
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
20
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
20
}
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
443
6.54M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
6.54M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
6.54M
}
Unexecuted instantiation: boolobject.c:PyObject_TypeCheck
Unexecuted instantiation: bytes_methods.c:PyObject_TypeCheck
bytearrayobject.c:PyObject_TypeCheck
Line
Count
Source
443
8.69k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
8.69k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
8.69k
}
Unexecuted instantiation: capsule.c:PyObject_TypeCheck
Unexecuted instantiation: cellobject.c:PyObject_TypeCheck
Unexecuted instantiation: classobject.c:PyObject_TypeCheck
Unexecuted instantiation: codeobject.c:PyObject_TypeCheck
Unexecuted instantiation: complexobject.c:PyObject_TypeCheck
descrobject.c:PyObject_TypeCheck
Line
Count
Source
443
483M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
483M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
483M
}
Unexecuted instantiation: enumobject.c:PyObject_TypeCheck
Unexecuted instantiation: genobject.c:PyObject_TypeCheck
Unexecuted instantiation: fileobject.c:PyObject_TypeCheck
Unexecuted instantiation: frameobject.c:PyObject_TypeCheck
Unexecuted instantiation: funcobject.c:PyObject_TypeCheck
Unexecuted instantiation: interpolationobject.c:PyObject_TypeCheck
Unexecuted instantiation: iterobject.c:PyObject_TypeCheck
Unexecuted instantiation: odictobject.c:PyObject_TypeCheck
methodobject.c:PyObject_TypeCheck
Line
Count
Source
443
4.15k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
4.15k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
4.15k
}
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
Unexecuted instantiation: structmember.c:PyObject_TypeCheck
pegen.c:PyObject_TypeCheck
Line
Count
Source
443
11.8k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
444
11.8k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
445
11.8k
}
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
446
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
447
631M
#  define PyObject_TypeCheck(ob, type) PyObject_TypeCheck(_PyObject_CAST(ob), (type))
448
#endif
449
450
PyAPI_DATA(PyTypeObject) PyType_Type; /* built-in 'type' */
451
PyAPI_DATA(PyTypeObject) PyBaseObject_Type; /* built-in 'object' */
452
PyAPI_DATA(PyTypeObject) PySuper_Type; /* built-in 'super' */
453
454
PyAPI_FUNC(unsigned long) PyType_GetFlags(PyTypeObject*);
455
456
PyAPI_FUNC(int) PyType_Ready(PyTypeObject *);
457
PyAPI_FUNC(PyObject *) PyType_GenericAlloc(PyTypeObject *, Py_ssize_t);
458
PyAPI_FUNC(PyObject *) PyType_GenericNew(PyTypeObject *,
459
                                               PyObject *, PyObject *);
460
PyAPI_FUNC(unsigned int) PyType_ClearCache(void);
461
PyAPI_FUNC(void) PyType_Modified(PyTypeObject *);
462
463
/* Generic operations on objects */
464
PyAPI_FUNC(PyObject *) PyObject_Repr(PyObject *);
465
PyAPI_FUNC(PyObject *) PyObject_Str(PyObject *);
466
PyAPI_FUNC(PyObject *) PyObject_ASCII(PyObject *);
467
PyAPI_FUNC(PyObject *) PyObject_Bytes(PyObject *);
468
PyAPI_FUNC(PyObject *) PyObject_RichCompare(PyObject *, PyObject *, int);
469
PyAPI_FUNC(int) PyObject_RichCompareBool(PyObject *, PyObject *, int);
470
PyAPI_FUNC(PyObject *) PyObject_GetAttrString(PyObject *, const char *);
471
PyAPI_FUNC(int) PyObject_SetAttrString(PyObject *, const char *, PyObject *);
472
PyAPI_FUNC(int) PyObject_DelAttrString(PyObject *v, const char *name);
473
PyAPI_FUNC(int) PyObject_HasAttrString(PyObject *, const char *);
474
PyAPI_FUNC(PyObject *) PyObject_GetAttr(PyObject *, PyObject *);
475
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
476
PyAPI_FUNC(int) PyObject_GetOptionalAttr(PyObject *, PyObject *, PyObject **);
477
PyAPI_FUNC(int) PyObject_GetOptionalAttrString(PyObject *, const char *, PyObject **);
478
#endif
479
PyAPI_FUNC(int) PyObject_SetAttr(PyObject *, PyObject *, PyObject *);
480
PyAPI_FUNC(int) PyObject_DelAttr(PyObject *v, PyObject *name);
481
PyAPI_FUNC(int) PyObject_HasAttr(PyObject *, PyObject *);
482
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
483
PyAPI_FUNC(int) PyObject_HasAttrWithError(PyObject *, PyObject *);
484
PyAPI_FUNC(int) PyObject_HasAttrStringWithError(PyObject *, const char *);
485
#endif
486
PyAPI_FUNC(PyObject *) PyObject_SelfIter(PyObject *);
487
PyAPI_FUNC(PyObject *) PyObject_GenericGetAttr(PyObject *, PyObject *);
488
PyAPI_FUNC(int) PyObject_GenericSetAttr(PyObject *, PyObject *, PyObject *);
489
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
490
PyAPI_FUNC(int) PyObject_GenericSetDict(PyObject *, PyObject *, void *);
491
#endif
492
PyAPI_FUNC(Py_hash_t) PyObject_Hash(PyObject *);
493
PyAPI_FUNC(Py_hash_t) PyObject_HashNotImplemented(PyObject *);
494
PyAPI_FUNC(int) PyObject_IsTrue(PyObject *);
495
PyAPI_FUNC(int) PyObject_Not(PyObject *);
496
PyAPI_FUNC(int) PyCallable_Check(PyObject *);
497
PyAPI_FUNC(void) PyObject_ClearWeakRefs(PyObject *);
498
499
/* PyObject_Dir(obj) acts like Python builtins.dir(obj), returning a
500
   list of strings.  PyObject_Dir(NULL) is like builtins.dir(),
501
   returning the names of the current locals.  In this case, if there are
502
   no current locals, NULL is returned, and PyErr_Occurred() is false.
503
*/
504
PyAPI_FUNC(PyObject *) PyObject_Dir(PyObject *);
505
506
/* Helpers for printing recursive container types */
507
PyAPI_FUNC(int) Py_ReprEnter(PyObject *);
508
PyAPI_FUNC(void) Py_ReprLeave(PyObject *);
509
510
/* Flag bits for printing: */
511
0
#define Py_PRINT_RAW    1       /* No string quotes etc. */
512
513
/*
514
Type flags (tp_flags)
515
516
These flags are used to change expected features and behavior for a
517
particular type.
518
519
Arbitration of the flag bit positions will need to be coordinated among
520
all extension writers who publicly release their extensions (this will
521
be fewer than you might expect!).
522
523
Most flags were removed as of Python 3.0 to make room for new flags.  (Some
524
flags are not for backwards compatibility but to indicate the presence of an
525
optional feature; these flags remain of course.)
526
527
Type definitions should use Py_TPFLAGS_DEFAULT for their tp_flags value.
528
529
Code can use PyType_HasFeature(type_ob, flag_value) to test whether the
530
given type object has a specified feature.
531
*/
532
533
#ifndef Py_LIMITED_API
534
535
/* Track types initialized using _PyStaticType_InitBuiltin(). */
536
618M
#define _Py_TPFLAGS_STATIC_BUILTIN (1 << 1)
537
538
/* The values array is placed inline directly after the rest of
539
 * the object. Implies Py_TPFLAGS_HAVE_GC.
540
 */
541
922M
#define Py_TPFLAGS_INLINE_VALUES (1 << 2)
542
543
/* Placement of weakref pointers are managed by the VM, not by the type.
544
 * The VM will automatically set tp_weaklistoffset.
545
 */
546
946M
#define Py_TPFLAGS_MANAGED_WEAKREF (1 << 3)
547
548
/* Placement of dict (and values) pointers are managed by the VM, not by the type.
549
 * The VM will automatically set tp_dictoffset. Implies Py_TPFLAGS_HAVE_GC.
550
 */
551
1.31G
#define Py_TPFLAGS_MANAGED_DICT (1 << 4)
552
553
946M
#define Py_TPFLAGS_PREHEADER (Py_TPFLAGS_MANAGED_WEAKREF | Py_TPFLAGS_MANAGED_DICT)
554
555
/* Set if instances of the type object are treated as sequences for pattern matching */
556
2.61M
#define Py_TPFLAGS_SEQUENCE (1 << 5)
557
/* Set if instances of the type object are treated as mappings for pattern matching */
558
2.61M
#define Py_TPFLAGS_MAPPING (1 << 6)
559
#endif
560
561
/* Disallow creating instances of the type: set tp_new to NULL and don't create
562
 * the "__new__" key in the type dictionary. */
563
268k
#define Py_TPFLAGS_DISALLOW_INSTANTIATION (1UL << 7)
564
565
/* Set if the type object is immutable: type attributes cannot be set nor deleted */
566
723k
#define Py_TPFLAGS_IMMUTABLETYPE (1UL << 8)
567
568
/* Set if the type object is dynamically allocated */
569
473M
#define Py_TPFLAGS_HEAPTYPE (1UL << 9)
570
571
/* Set if the type allows subclassing */
572
1.05M
#define Py_TPFLAGS_BASETYPE (1UL << 10)
573
574
/* Set if the type implements the vectorcall protocol (PEP 590) */
575
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000
576
615M
#define Py_TPFLAGS_HAVE_VECTORCALL (1UL << 11)
577
#ifndef Py_LIMITED_API
578
// Backwards compatibility alias for API that was provisional in Python 3.8
579
#define _Py_TPFLAGS_HAVE_VECTORCALL Py_TPFLAGS_HAVE_VECTORCALL
580
#endif
581
#endif
582
583
/* Set if the type is 'ready' -- fully initialized */
584
28.4M
#define Py_TPFLAGS_READY (1UL << 12)
585
586
/* Set while the type is being 'readied', to prevent recursive ready calls */
587
528k
#define Py_TPFLAGS_READYING (1UL << 13)
588
589
/* Objects support garbage collection (see objimpl.h) */
590
5.75G
#define Py_TPFLAGS_HAVE_GC (1UL << 14)
591
592
/* These two bits are preserved for Stackless Python, next after this is 17 */
593
#ifdef STACKLESS
594
#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION (3UL << 15)
595
#else
596
263k
#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION 0
597
#endif
598
599
/* Objects behave like an unbound method */
600
105M
#define Py_TPFLAGS_METHOD_DESCRIPTOR (1UL << 17)
601
602
/* Unused. Legacy flag */
603
#define Py_TPFLAGS_VALID_VERSION_TAG  (1UL << 19)
604
605
/* Type is abstract and cannot be instantiated */
606
32.0M
#define Py_TPFLAGS_IS_ABSTRACT (1UL << 20)
607
608
// This undocumented flag gives certain built-ins their unique pattern-matching
609
// behavior, which allows a single positional subpattern to match against the
610
// subject itself (rather than a mapped attribute on it):
611
525k
#define _Py_TPFLAGS_MATCH_SELF (1UL << 22)
612
613
/* Items (ob_size*tp_itemsize) are found at the end of an instance's memory */
614
967k
#define Py_TPFLAGS_ITEMS_AT_END (1UL << 23)
615
616
/* These flags are used to determine if a type is a subclass. */
617
132
#define Py_TPFLAGS_LONG_SUBCLASS        (1UL << 24)
618
116
#define Py_TPFLAGS_LIST_SUBCLASS        (1UL << 25)
619
397
#define Py_TPFLAGS_TUPLE_SUBCLASS       (1UL << 26)
620
0
#define Py_TPFLAGS_BYTES_SUBCLASS       (1UL << 27)
621
7.31M
#define Py_TPFLAGS_UNICODE_SUBCLASS     (1UL << 28)
622
75
#define Py_TPFLAGS_DICT_SUBCLASS        (1UL << 29)
623
1.56k
#define Py_TPFLAGS_BASE_EXC_SUBCLASS    (1UL << 30)
624
27
#define Py_TPFLAGS_TYPE_SUBCLASS        (1UL << 31)
625
626
263k
#define Py_TPFLAGS_DEFAULT  ( \
627
263k
                 Py_TPFLAGS_HAVE_STACKLESS_EXTENSION | \
628
263k
                0)
629
630
/* NOTE: Some of the following flags reuse lower bits (removed as part of the
631
 * Python 3.0 transition). */
632
633
/* The following flags are kept for compatibility; in previous
634
 * versions they indicated presence of newer tp_* fields on the
635
 * type struct.
636
 * Starting with 3.8, binary compatibility of C extensions across
637
 * feature releases of Python is not supported anymore (except when
638
 * using the stable ABI, in which all classes are created dynamically,
639
 * using the interpreter's memory layout.)
640
 * Note that older extensions using the stable ABI set these flags,
641
 * so the bits must not be repurposed.
642
 */
643
#define Py_TPFLAGS_HAVE_FINALIZE (1UL << 0)
644
#define Py_TPFLAGS_HAVE_VERSION_TAG   (1UL << 18)
645
646
// Flag values for ob_flags (16 bits available, if SIZEOF_VOID_P > 4).
647
273M
#define _Py_IMMORTAL_FLAGS (1 << 0)
648
273M
#define _Py_STATICALLY_ALLOCATED_FLAG (1 << 2)
649
#if defined(Py_GIL_DISABLED) && defined(Py_DEBUG)
650
#define _Py_TYPE_REVEALED_FLAG (1 << 3)
651
#endif
652
653
#define Py_CONSTANT_NONE 0
654
#define Py_CONSTANT_FALSE 1
655
#define Py_CONSTANT_TRUE 2
656
#define Py_CONSTANT_ELLIPSIS 3
657
#define Py_CONSTANT_NOT_IMPLEMENTED 4
658
16
#define Py_CONSTANT_ZERO 5
659
16
#define Py_CONSTANT_ONE 6
660
280k
#define Py_CONSTANT_EMPTY_STR 7
661
4.30M
#define Py_CONSTANT_EMPTY_BYTES 8
662
16
#define Py_CONSTANT_EMPTY_TUPLE 9
663
664
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
665
PyAPI_FUNC(PyObject*) Py_GetConstant(unsigned int constant_id);
666
PyAPI_FUNC(PyObject*) Py_GetConstantBorrowed(unsigned int constant_id);
667
#endif
668
669
670
/*
671
_Py_NoneStruct is an object of undefined type which can be used in contexts
672
where NULL (nil) is not suitable (since NULL often means 'error').
673
*/
674
PyAPI_DATA(PyObject) _Py_NoneStruct; /* Don't use this directly */
675
676
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030D0000
677
#  define Py_None Py_GetConstantBorrowed(Py_CONSTANT_NONE)
678
#else
679
2.23G
#  define Py_None (&_Py_NoneStruct)
680
#endif
681
682
// Test if an object is the None singleton, the same as "x is None" in Python.
683
PyAPI_FUNC(int) Py_IsNone(PyObject *x);
684
148M
#define Py_IsNone(x) Py_Is((x), Py_None)
685
686
/* Macro for returning Py_None from a function.
687
 * Only treat Py_None as immortal in the limited C API 3.12 and newer. */
688
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 < 0x030c0000
689
#  define Py_RETURN_NONE return Py_NewRef(Py_None)
690
#else
691
107M
#  define Py_RETURN_NONE return Py_None
692
#endif
693
694
/*
695
Py_NotImplemented is a singleton used to signal that an operation is
696
not implemented for a given type combination.
697
*/
698
PyAPI_DATA(PyObject) _Py_NotImplementedStruct; /* Don't use this directly */
699
700
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030D0000
701
#  define Py_NotImplemented Py_GetConstantBorrowed(Py_CONSTANT_NOT_IMPLEMENTED)
702
#else
703
282M
#  define Py_NotImplemented (&_Py_NotImplementedStruct)
704
#endif
705
706
/* Macro for returning Py_NotImplemented from a function */
707
22.2M
#define Py_RETURN_NOTIMPLEMENTED return Py_NotImplemented
708
709
/* Rich comparison opcodes */
710
65.8M
#define Py_LT 0
711
636k
#define Py_LE 1
712
315M
#define Py_EQ 2
713
39.1M
#define Py_NE 3
714
1.77M
#define Py_GT 4
715
1.51k
#define Py_GE 5
716
717
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000
718
/* Result of calling PyIter_Send */
719
typedef enum {
720
    PYGEN_RETURN = 0,
721
    PYGEN_ERROR = -1,
722
    PYGEN_NEXT = 1
723
} PySendResult;
724
#endif
725
726
/*
727
 * Macro for implementing rich comparisons
728
 *
729
 * Needs to be a macro because any C-comparable type can be used.
730
 */
731
#define Py_RETURN_RICHCOMPARE(val1, val2, op)                               \
732
151M
    do {                                                                    \
733
151M
        switch (op) {                                                       \
734
109M
        case Py_EQ: if ((val1) == (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
735
109M
        case Py_NE: if ((val1) != (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
736
40.2M
        case Py_LT: if ((val1) < (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;   \
737
40.2M
        case Py_GT: if ((val1) > (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;   \
738
1.13M
        case Py_LE: if ((val1) <= (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
739
635k
        case Py_GE: if ((val1) >= (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
740
87
        default:                                                            \
741
0
            Py_UNREACHABLE();                                               \
742
151M
        }                                                                   \
743
151M
    } while (0)
744
745
746
/*
747
More conventions
748
================
749
750
Argument Checking
751
-----------------
752
753
Functions that take objects as arguments normally don't check for nil
754
arguments, but they do check the type of the argument, and return an
755
error if the function doesn't apply to the type.
756
757
Failure Modes
758
-------------
759
760
Functions may fail for a variety of reasons, including running out of
761
memory.  This is communicated to the caller in two ways: an error string
762
is set (see errors.h), and the function result differs: functions that
763
normally return a pointer return NULL for failure, functions returning
764
an integer return -1 (which could be a legal return value too!), and
765
other functions return 0 for success and -1 for failure.
766
Callers should always check for errors before using the result.  If
767
an error was set, the caller must either explicitly clear it, or pass
768
the error on to its caller.
769
770
Reference Counts
771
----------------
772
773
It takes a while to get used to the proper usage of reference counts.
774
775
Functions that create an object set the reference count to 1; such new
776
objects must be stored somewhere or destroyed again with Py_DECREF().
777
Some functions that 'store' objects, such as PyTuple_SetItem() and
778
PyList_SetItem(),
779
don't increment the reference count of the object, since the most
780
frequent use is to store a fresh object.  Functions that 'retrieve'
781
objects, such as PyTuple_GetItem() and PyDict_GetItemString(), also
782
don't increment
783
the reference count, since most frequently the object is only looked at
784
quickly.  Thus, to retrieve an object and store it again, the caller
785
must call Py_INCREF() explicitly.
786
787
NOTE: functions that 'consume' a reference count, like
788
PyList_SetItem(), consume the reference even if the object wasn't
789
successfully stored, to simplify error handling.
790
791
It seems attractive to make other functions that take an object as
792
argument consume a reference count; however, this may quickly get
793
confusing (even the current practice is already confusing).  Consider
794
it carefully, it may save lots of calls to Py_INCREF() and Py_DECREF() at
795
times.
796
*/
797
798
#ifndef Py_LIMITED_API
799
#  define Py_CPYTHON_OBJECT_H
800
#  include "cpython/object.h"
801
#  undef Py_CPYTHON_OBJECT_H
802
#endif
803
804
805
static inline int
806
PyType_HasFeature(PyTypeObject *type, unsigned long feature)
807
6.08G
{
808
6.08G
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
    flags = type->tp_flags;
814
#endif
815
6.08G
    return ((flags & feature) != 0);
816
6.08G
}
bytesobject.c:PyType_HasFeature
Line
Count
Source
807
13.1M
{
808
13.1M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
13.1M
    flags = type->tp_flags;
814
13.1M
#endif
815
13.1M
    return ((flags & feature) != 0);
816
13.1M
}
call.c:PyType_HasFeature
Line
Count
Source
807
507M
{
808
507M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
507M
    flags = type->tp_flags;
814
507M
#endif
815
507M
    return ((flags & feature) != 0);
816
507M
}
exceptions.c:PyType_HasFeature
Line
Count
Source
807
658k
{
808
658k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
658k
    flags = type->tp_flags;
814
658k
#endif
815
658k
    return ((flags & feature) != 0);
816
658k
}
genericaliasobject.c:PyType_HasFeature
Line
Count
Source
807
782
{
808
782
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
782
    flags = type->tp_flags;
814
782
#endif
815
782
    return ((flags & feature) != 0);
816
782
}
floatobject.c:PyType_HasFeature
Line
Count
Source
807
1.54M
{
808
1.54M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
1.54M
    flags = type->tp_flags;
814
1.54M
#endif
815
1.54M
    return ((flags & feature) != 0);
816
1.54M
}
listobject.c:PyType_HasFeature
Line
Count
Source
807
260M
{
808
260M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
260M
    flags = type->tp_flags;
814
260M
#endif
815
260M
    return ((flags & feature) != 0);
816
260M
}
longobject.c:PyType_HasFeature
Line
Count
Source
807
864M
{
808
864M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
864M
    flags = type->tp_flags;
814
864M
#endif
815
864M
    return ((flags & feature) != 0);
816
864M
}
dictobject.c:PyType_HasFeature
Line
Count
Source
807
336M
{
808
336M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
336M
    flags = type->tp_flags;
814
336M
#endif
815
336M
    return ((flags & feature) != 0);
816
336M
}
memoryobject.c:PyType_HasFeature
Line
Count
Source
807
4
{
808
4
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
4
    flags = type->tp_flags;
814
4
#endif
815
4
    return ((flags & feature) != 0);
816
4
}
moduleobject.c:PyType_HasFeature
Line
Count
Source
807
2.93k
{
808
2.93k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
2.93k
    flags = type->tp_flags;
814
2.93k
#endif
815
2.93k
    return ((flags & feature) != 0);
816
2.93k
}
object.c:PyType_HasFeature
Line
Count
Source
807
688M
{
808
688M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
688M
    flags = type->tp_flags;
814
688M
#endif
815
688M
    return ((flags & feature) != 0);
816
688M
}
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
Unexecuted instantiation: structseq.c:PyType_HasFeature
Unexecuted instantiation: templateobject.c:PyType_HasFeature
tupleobject.c:PyType_HasFeature
Line
Count
Source
807
73.8M
{
808
73.8M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
73.8M
    flags = type->tp_flags;
814
73.8M
#endif
815
73.8M
    return ((flags & feature) != 0);
816
73.8M
}
typeobject.c:PyType_HasFeature
Line
Count
Source
807
268M
{
808
268M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
268M
    flags = type->tp_flags;
814
268M
#endif
815
268M
    return ((flags & feature) != 0);
816
268M
}
Unexecuted instantiation: typevarobject.c:PyType_HasFeature
unicodeobject.c:PyType_HasFeature
Line
Count
Source
807
1.50G
{
808
1.50G
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
1.50G
    flags = type->tp_flags;
814
1.50G
#endif
815
1.50G
    return ((flags & feature) != 0);
816
1.50G
}
Unexecuted instantiation: unicodectype.c:PyType_HasFeature
unionobject.c:PyType_HasFeature
Line
Count
Source
807
432
{
808
432
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
432
    flags = type->tp_flags;
814
432
#endif
815
432
    return ((flags & feature) != 0);
816
432
}
weakrefobject.c:PyType_HasFeature
Line
Count
Source
807
40.3M
{
808
40.3M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
40.3M
    flags = type->tp_flags;
814
40.3M
#endif
815
40.3M
    return ((flags & feature) != 0);
816
40.3M
}
_warnings.c:PyType_HasFeature
Line
Count
Source
807
53.2k
{
808
53.2k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
53.2k
    flags = type->tp_flags;
814
53.2k
#endif
815
53.2k
    return ((flags & feature) != 0);
816
53.2k
}
bltinmodule.c:PyType_HasFeature
Line
Count
Source
807
85.0M
{
808
85.0M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
85.0M
    flags = type->tp_flags;
814
85.0M
#endif
815
85.0M
    return ((flags & feature) != 0);
816
85.0M
}
ceval.c:PyType_HasFeature
Line
Count
Source
807
234M
{
808
234M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
234M
    flags = type->tp_flags;
814
234M
#endif
815
234M
    return ((flags & feature) != 0);
816
234M
}
codecs.c:PyType_HasFeature
Line
Count
Source
807
1.26M
{
808
1.26M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
1.26M
    flags = type->tp_flags;
814
1.26M
#endif
815
1.26M
    return ((flags & feature) != 0);
816
1.26M
}
codegen.c:PyType_HasFeature
Line
Count
Source
807
1.19k
{
808
1.19k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
1.19k
    flags = type->tp_flags;
814
1.19k
#endif
815
1.19k
    return ((flags & feature) != 0);
816
1.19k
}
Unexecuted instantiation: compile.c:PyType_HasFeature
context.c:PyType_HasFeature
Line
Count
Source
807
24
{
808
24
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
24
    flags = type->tp_flags;
814
24
#endif
815
24
    return ((flags & feature) != 0);
816
24
}
errors.c:PyType_HasFeature
Line
Count
Source
807
348M
{
808
348M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
348M
    flags = type->tp_flags;
814
348M
#endif
815
348M
    return ((flags & feature) != 0);
816
348M
}
flowgraph.c:PyType_HasFeature
Line
Count
Source
807
176
{
808
176
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
176
    flags = type->tp_flags;
814
176
#endif
815
176
    return ((flags & feature) != 0);
816
176
}
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
807
3.03M
{
808
3.03M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
3.03M
    flags = type->tp_flags;
814
3.03M
#endif
815
3.03M
    return ((flags & feature) != 0);
816
3.03M
}
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
807
30.2k
{
808
30.2k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
30.2k
    flags = type->tp_flags;
814
30.2k
#endif
815
30.2k
    return ((flags & feature) != 0);
816
30.2k
}
importdl.c:PyType_HasFeature
Line
Count
Source
807
158
{
808
158
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
158
    flags = type->tp_flags;
814
158
#endif
815
158
    return ((flags & feature) != 0);
816
158
}
initconfig.c:PyType_HasFeature
Line
Count
Source
807
320
{
808
320
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
320
    flags = type->tp_flags;
814
320
#endif
815
320
    return ((flags & feature) != 0);
816
320
}
Unexecuted instantiation: instrumentation.c:PyType_HasFeature
Unexecuted instantiation: instruction_sequence.c:PyType_HasFeature
intrinsics.c:PyType_HasFeature
Line
Count
Source
807
13.8k
{
808
13.8k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
13.8k
    flags = type->tp_flags;
814
13.8k
#endif
815
13.8k
    return ((flags & feature) != 0);
816
13.8k
}
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
807
16
{
808
16
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
16
    flags = type->tp_flags;
814
16
#endif
815
16
    return ((flags & feature) != 0);
816
16
}
Unexecuted instantiation: pymath.c:PyType_HasFeature
Unexecuted instantiation: pystate.c:PyType_HasFeature
pythonrun.c:PyType_HasFeature
Line
Count
Source
807
41.6k
{
808
41.6k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
41.6k
    flags = type->tp_flags;
814
41.6k
#endif
815
41.6k
    return ((flags & feature) != 0);
816
41.6k
}
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
807
1.32M
{
808
1.32M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
1.32M
    flags = type->tp_flags;
814
1.32M
#endif
815
1.32M
    return ((flags & feature) != 0);
816
1.32M
}
symtable.c:PyType_HasFeature
Line
Count
Source
807
109k
{
808
109k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
109k
    flags = type->tp_flags;
814
109k
#endif
815
109k
    return ((flags & feature) != 0);
816
109k
}
sysmodule.c:PyType_HasFeature
Line
Count
Source
807
399
{
808
399
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
399
    flags = type->tp_flags;
814
399
#endif
815
399
    return ((flags & feature) != 0);
816
399
}
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: formatter_unicode.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
807
47.6k
{
808
47.6k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
47.6k
    flags = type->tp_flags;
814
47.6k
#endif
815
47.6k
    return ((flags & feature) != 0);
816
47.6k
}
Unexecuted instantiation: signalmodule.c:PyType_HasFeature
Unexecuted instantiation: _tracemalloc.c:PyType_HasFeature
Unexecuted instantiation: _suggestions.c:PyType_HasFeature
_codecsmodule.c:PyType_HasFeature
Line
Count
Source
807
1.00M
{
808
1.00M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
1.00M
    flags = type->tp_flags;
814
1.00M
#endif
815
1.00M
    return ((flags & feature) != 0);
816
1.00M
}
Unexecuted instantiation: _collectionsmodule.c:PyType_HasFeature
Unexecuted instantiation: errnomodule.c:PyType_HasFeature
_iomodule.c:PyType_HasFeature
Line
Count
Source
807
2.88k
{
808
2.88k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
2.88k
    flags = type->tp_flags;
814
2.88k
#endif
815
2.88k
    return ((flags & feature) != 0);
816
2.88k
}
Unexecuted instantiation: iobase.c:PyType_HasFeature
fileio.c:PyType_HasFeature
Line
Count
Source
807
1.21k
{
808
1.21k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
1.21k
    flags = type->tp_flags;
814
1.21k
#endif
815
1.21k
    return ((flags & feature) != 0);
816
1.21k
}
Unexecuted instantiation: bytesio.c:PyType_HasFeature
bufferedio.c:PyType_HasFeature
Line
Count
Source
807
1.88k
{
808
1.88k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
1.88k
    flags = type->tp_flags;
814
1.88k
#endif
815
1.88k
    return ((flags & feature) != 0);
816
1.88k
}
textio.c:PyType_HasFeature
Line
Count
Source
807
65.8k
{
808
65.8k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
65.8k
    flags = type->tp_flags;
814
65.8k
#endif
815
65.8k
    return ((flags & feature) != 0);
816
65.8k
}
stringio.c:PyType_HasFeature
Line
Count
Source
807
98.6k
{
808
98.6k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
98.6k
    flags = type->tp_flags;
814
98.6k
#endif
815
98.6k
    return ((flags & feature) != 0);
816
98.6k
}
Unexecuted instantiation: itertoolsmodule.c:PyType_HasFeature
sre.c:PyType_HasFeature
Line
Count
Source
807
200M
{
808
200M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
200M
    flags = type->tp_flags;
814
200M
#endif
815
200M
    return ((flags & feature) != 0);
816
200M
}
Unexecuted instantiation: _sysconfig.c:PyType_HasFeature
Unexecuted instantiation: _threadmodule.c:PyType_HasFeature
Unexecuted instantiation: timemodule.c:PyType_HasFeature
Unexecuted instantiation: _typesmodule.c:PyType_HasFeature
Unexecuted instantiation: _typingmodule.c:PyType_HasFeature
_weakref.c:PyType_HasFeature
Line
Count
Source
807
2.82k
{
808
2.82k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
2.82k
    flags = type->tp_flags;
814
2.82k
#endif
815
2.82k
    return ((flags & feature) != 0);
816
2.82k
}
_abc.c:PyType_HasFeature
Line
Count
Source
807
27.3k
{
808
27.3k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
27.3k
    flags = type->tp_flags;
814
27.3k
#endif
815
27.3k
    return ((flags & feature) != 0);
816
27.3k
}
_functoolsmodule.c:PyType_HasFeature
Line
Count
Source
807
36.0k
{
808
36.0k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
36.0k
    flags = type->tp_flags;
814
36.0k
#endif
815
36.0k
    return ((flags & feature) != 0);
816
36.0k
}
Unexecuted instantiation: _localemodule.c:PyType_HasFeature
Unexecuted instantiation: _opcode.c:PyType_HasFeature
Unexecuted instantiation: _operator.c:PyType_HasFeature
_stat.c:PyType_HasFeature
Line
Count
Source
807
16
{
808
16
    unsigned long flags;
809
16
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
16
    flags = PyType_GetFlags(type);
812
#else
813
    flags = type->tp_flags;
814
#endif
815
16
    return ((flags & feature) != 0);
816
16
}
Unexecuted instantiation: symtablemodule.c:PyType_HasFeature
Unexecuted instantiation: pwdmodule.c:PyType_HasFeature
getpath.c:PyType_HasFeature
Line
Count
Source
807
432
{
808
432
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
432
    flags = type->tp_flags;
814
432
#endif
815
432
    return ((flags & feature) != 0);
816
432
}
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
807
582M
{
808
582M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
582M
    flags = type->tp_flags;
814
582M
#endif
815
582M
    return ((flags & feature) != 0);
816
582M
}
Unexecuted instantiation: boolobject.c:PyType_HasFeature
bytes_methods.c:PyType_HasFeature
Line
Count
Source
807
1.19M
{
808
1.19M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
1.19M
    flags = type->tp_flags;
814
1.19M
#endif
815
1.19M
    return ((flags & feature) != 0);
816
1.19M
}
bytearrayobject.c:PyType_HasFeature
Line
Count
Source
807
1.46M
{
808
1.46M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
1.46M
    flags = type->tp_flags;
814
1.46M
#endif
815
1.46M
    return ((flags & feature) != 0);
816
1.46M
}
Unexecuted instantiation: capsule.c:PyType_HasFeature
Unexecuted instantiation: cellobject.c:PyType_HasFeature
classobject.c:PyType_HasFeature
Line
Count
Source
807
21.3M
{
808
21.3M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
21.3M
    flags = type->tp_flags;
814
21.3M
#endif
815
21.3M
    return ((flags & feature) != 0);
816
21.3M
}
codeobject.c:PyType_HasFeature
Line
Count
Source
807
309k
{
808
309k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
309k
    flags = type->tp_flags;
814
309k
#endif
815
309k
    return ((flags & feature) != 0);
816
309k
}
Unexecuted instantiation: complexobject.c:PyType_HasFeature
descrobject.c:PyType_HasFeature
Line
Count
Source
807
6.86M
{
808
6.86M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
6.86M
    flags = type->tp_flags;
814
6.86M
#endif
815
6.86M
    return ((flags & feature) != 0);
816
6.86M
}
enumobject.c:PyType_HasFeature
Line
Count
Source
807
38.9M
{
808
38.9M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
38.9M
    flags = type->tp_flags;
814
38.9M
#endif
815
38.9M
    return ((flags & feature) != 0);
816
38.9M
}
genobject.c:PyType_HasFeature
Line
Count
Source
807
4.32k
{
808
4.32k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
4.32k
    flags = type->tp_flags;
814
4.32k
#endif
815
4.32k
    return ((flags & feature) != 0);
816
4.32k
}
fileobject.c:PyType_HasFeature
Line
Count
Source
807
944
{
808
944
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
944
    flags = type->tp_flags;
814
944
#endif
815
944
    return ((flags & feature) != 0);
816
944
}
Unexecuted instantiation: frameobject.c:PyType_HasFeature
funcobject.c:PyType_HasFeature
Line
Count
Source
807
27.6k
{
808
27.6k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
27.6k
    flags = type->tp_flags;
814
27.6k
#endif
815
27.6k
    return ((flags & feature) != 0);
816
27.6k
}
Unexecuted instantiation: interpolationobject.c:PyType_HasFeature
iterobject.c:PyType_HasFeature
Line
Count
Source
807
2.85M
{
808
2.85M
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
2.85M
    flags = type->tp_flags;
814
2.85M
#endif
815
2.85M
    return ((flags & feature) != 0);
816
2.85M
}
Unexecuted instantiation: odictobject.c:PyType_HasFeature
Unexecuted instantiation: methodobject.c:PyType_HasFeature
Unexecuted instantiation: namespaceobject.c:PyType_HasFeature
Unexecuted instantiation: _contextvars.c:PyType_HasFeature
Unexecuted instantiation: Python-ast.c:PyType_HasFeature
Unexecuted instantiation: Python-tokenize.c:PyType_HasFeature
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
807
471
{
808
471
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
471
    flags = type->tp_flags;
814
471
#endif
815
471
    return ((flags & feature) != 0);
816
471
}
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
Unexecuted instantiation: structmember.c:PyType_HasFeature
pegen.c:PyType_HasFeature
Line
Count
Source
807
55.2k
{
808
55.2k
    unsigned long flags;
809
#ifdef Py_LIMITED_API
810
    // PyTypeObject is opaque in the limited C API
811
    flags = PyType_GetFlags(type);
812
#else
813
55.2k
    flags = type->tp_flags;
814
55.2k
#endif
815
55.2k
    return ((flags & feature) != 0);
816
55.2k
}
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
Unexecuted instantiation: readline_tokenizer.c:PyType_HasFeature
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
817
818
5.82G
#define PyType_FastSubclass(type, flag) PyType_HasFeature((type), (flag))
819
820
401M
static inline int PyType_Check(PyObject *op) {
821
401M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
822
401M
}
Unexecuted instantiation: bytesobject.c:PyType_Check
Unexecuted instantiation: call.c:PyType_Check
Unexecuted instantiation: exceptions.c:PyType_Check
Unexecuted instantiation: genericaliasobject.c:PyType_Check
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
820
75.0M
static inline int PyType_Check(PyObject *op) {
821
75.0M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
822
75.0M
}
Unexecuted instantiation: typevarobject.c:PyType_Check
Unexecuted instantiation: unicodeobject.c:PyType_Check
Unexecuted instantiation: unicodectype.c:PyType_Check
unionobject.c:PyType_Check
Line
Count
Source
820
432
static inline int PyType_Check(PyObject *op) {
821
432
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
822
432
}
weakrefobject.c:PyType_Check
Line
Count
Source
820
40.3M
static inline int PyType_Check(PyObject *op) {
821
40.3M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
822
40.3M
}
Unexecuted instantiation: _warnings.c:PyType_Check
bltinmodule.c:PyType_Check
Line
Count
Source
820
8.69k
static inline int PyType_Check(PyObject *op) {
821
8.69k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
822
8.69k
}
ceval.c:PyType_Check
Line
Count
Source
820
150M
static inline int PyType_Check(PyObject *op) {
821
150M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
822
150M
}
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
820
95.1M
static inline int PyType_Check(PyObject *op) {
821
95.1M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
822
95.1M
}
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
820
1.25M
static inline int PyType_Check(PyObject *op) {
821
1.25M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
822
1.25M
}
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: formatter_unicode.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: _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
820
2.18k
static inline int PyType_Check(PyObject *op) {
821
2.18k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
822
2.18k
}
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
820
31.9M
static inline int PyType_Check(PyObject *op) {
821
31.9M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
822
31.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
820
6.84M
static inline int PyType_Check(PyObject *op) {
821
6.84M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
822
6.84M
}
Unexecuted instantiation: enumobject.c:PyType_Check
genobject.c:PyType_Check
Line
Count
Source
820
2.16k
static inline int PyType_Check(PyObject *op) {
821
2.16k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
822
2.16k
}
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: odictobject.c:PyType_Check
Unexecuted instantiation: methodobject.c:PyType_Check
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: structmember.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
823
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
824
632M
#  define PyType_Check(op) PyType_Check(_PyObject_CAST(op))
825
#endif
826
827
#define _PyType_CAST(op) \
828
338M
    (assert(PyType_Check(op)), _Py_CAST(PyTypeObject*, (op)))
829
830
17.6M
static inline int PyType_CheckExact(PyObject *op) {
831
17.6M
    return Py_IS_TYPE(op, &PyType_Type);
832
17.6M
}
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: unicodeobject.c:PyType_CheckExact
Unexecuted instantiation: unicodectype.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: 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: formatter_unicode.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: _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
830
17.6M
static inline int PyType_CheckExact(PyObject *op) {
831
17.6M
    return Py_IS_TYPE(op, &PyType_Type);
832
17.6M
}
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: 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: structmember.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
833
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
834
17.6M
#  define PyType_CheckExact(op) PyType_CheckExact(_PyObject_CAST(op))
835
#endif
836
837
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
838
PyAPI_FUNC(PyObject *) PyType_GetModuleByDef(PyTypeObject *, PyModuleDef *);
839
#endif
840
841
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030e0000
842
PyAPI_FUNC(int) PyType_Freeze(PyTypeObject *type);
843
#endif
844
845
#ifdef __cplusplus
846
}
847
#endif
848
#endif   // !Py_OBJECT_H