Coverage Report

Created: 2026-01-09 06:26

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