Coverage Report

Created: 2026-02-09 07:07

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
194M
    {                               \
91
194M
        { _Py_STATIC_IMMORTAL_INITIAL_REFCNT },    \
92
194M
        (type)                      \
93
194M
    },
94
#endif
95
96
#define PyVarObject_HEAD_INIT(type, size) \
97
194M
    {                                     \
98
194M
        PyObject_HEAD_INIT(type)          \
99
194M
        (size)                            \
100
194M
    },
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
192G
#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
11.7G
#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
437M
#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.08G
{
286
1.08G
    ob->ob_type = type;
287
1.08G
}
bytesobject.c:Py_SET_TYPE
Line
Count
Source
285
84.4M
{
286
84.4M
    ob->ob_type = type;
287
84.4M
}
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.14M
{
286
1.14M
    ob->ob_type = type;
287
1.14M
}
Unexecuted instantiation: listobject.c:Py_SET_TYPE
longobject.c:Py_SET_TYPE
Line
Count
Source
285
84.6M
{
286
84.6M
    ob->ob_type = type;
287
84.6M
}
Unexecuted instantiation: dictobject.c:Py_SET_TYPE
Unexecuted instantiation: memoryobject.c:Py_SET_TYPE
moduleobject.c:Py_SET_TYPE
Line
Count
Source
285
965
{
286
965
    ob->ob_type = type;
287
965
}
object.c:Py_SET_TYPE
Line
Count
Source
285
2.79M
{
286
2.79M
    ob->ob_type = type;
287
2.79M
}
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
256
{
286
256
    ob->ob_type = type;
287
256
}
Unexecuted instantiation: templateobject.c:Py_SET_TYPE
Unexecuted instantiation: tupleobject.c:Py_SET_TYPE
typeobject.c:Py_SET_TYPE
Line
Count
Source
285
120M
{
286
120M
    ob->ob_type = type;
287
120M
}
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
436M
{
286
436M
    ob->ob_type = type;
287
436M
}
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
352M
{
286
352M
    ob->ob_type = type;
287
352M
}
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
292
{
286
292
    ob->ob_type = type;
287
292
}
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
28
{
286
28
    ob->ob_type = type;
287
28
}
Unexecuted instantiation: sre.c:Py_SET_TYPE
Unexecuted instantiation: _sysconfig.c:Py_SET_TYPE
Unexecuted instantiation: _threadmodule.c:Py_SET_TYPE
Unexecuted instantiation: timemodule.c:Py_SET_TYPE
Unexecuted instantiation: _typesmodule.c:Py_SET_TYPE
Unexecuted instantiation: _typingmodule.c:Py_SET_TYPE
Unexecuted instantiation: _weakref.c:Py_SET_TYPE
Unexecuted instantiation: _abc.c:Py_SET_TYPE
Unexecuted instantiation: _functoolsmodule.c:Py_SET_TYPE
Unexecuted instantiation: _localemodule.c:Py_SET_TYPE
Unexecuted instantiation: _opcode.c:Py_SET_TYPE
Unexecuted instantiation: _operator.c:Py_SET_TYPE
Unexecuted instantiation: _stat.c:Py_SET_TYPE
Unexecuted instantiation: symtablemodule.c:Py_SET_TYPE
Unexecuted instantiation: pwdmodule.c:Py_SET_TYPE
Unexecuted instantiation: getpath.c:Py_SET_TYPE
Unexecuted instantiation: frozen.c:Py_SET_TYPE
Unexecuted instantiation: getbuildinfo.c:Py_SET_TYPE
Unexecuted instantiation: peg_api.c:Py_SET_TYPE
Unexecuted instantiation: file_tokenizer.c:Py_SET_TYPE
Unexecuted instantiation: helpers.c:Py_SET_TYPE
Unexecuted instantiation: myreadline.c:Py_SET_TYPE
Unexecuted instantiation: abstract.c:Py_SET_TYPE
Unexecuted instantiation: boolobject.c:Py_SET_TYPE
Unexecuted instantiation: bytes_methods.c:Py_SET_TYPE
Unexecuted instantiation: bytearrayobject.c:Py_SET_TYPE
Unexecuted instantiation: capsule.c:Py_SET_TYPE
Unexecuted instantiation: cellobject.c:Py_SET_TYPE
Unexecuted instantiation: classobject.c:Py_SET_TYPE
Unexecuted instantiation: codeobject.c:Py_SET_TYPE
complexobject.c:Py_SET_TYPE
Line
Count
Source
285
2.43k
{
286
2.43k
    ob->ob_type = type;
287
2.43k
}
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
34.1G
#  define Py_TYPE(ob) _Py_TYPE_impl(_PyObject_CAST(ob))
293
10.4G
#  define Py_SIZE(ob) _Py_SIZE_impl(_PyObject_CAST(ob))
294
19.2G
#  define Py_IS_TYPE(ob, type) _Py_IS_TYPE_impl(_PyObject_CAST(ob), (type))
295
1.21G
#  define Py_SET_SIZE(ob, size) _Py_SET_SIZE_impl(_PyVarObject_CAST(ob), (size))
296
1.08G
#  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
41.6G
{
313
41.6G
    return ob->ob_type;
314
41.6G
}
bytesobject.c:_Py_TYPE_impl
Line
Count
Source
312
295M
{
313
295M
    return ob->ob_type;
314
295M
}
call.c:_Py_TYPE_impl
Line
Count
Source
312
479M
{
313
479M
    return ob->ob_type;
314
479M
}
exceptions.c:_Py_TYPE_impl
Line
Count
Source
312
91.4M
{
313
91.4M
    return ob->ob_type;
314
91.4M
}
genericaliasobject.c:_Py_TYPE_impl
Line
Count
Source
312
2.37k
{
313
2.37k
    return ob->ob_type;
314
2.37k
}
floatobject.c:_Py_TYPE_impl
Line
Count
Source
312
14.0M
{
313
14.0M
    return ob->ob_type;
314
14.0M
}
listobject.c:_Py_TYPE_impl
Line
Count
Source
312
587M
{
313
587M
    return ob->ob_type;
314
587M
}
longobject.c:_Py_TYPE_impl
Line
Count
Source
312
1.79G
{
313
1.79G
    return ob->ob_type;
314
1.79G
}
dictobject.c:_Py_TYPE_impl
Line
Count
Source
312
4.86G
{
313
4.86G
    return ob->ob_type;
314
4.86G
}
memoryobject.c:_Py_TYPE_impl
Line
Count
Source
312
280k
{
313
280k
    return ob->ob_type;
314
280k
}
moduleobject.c:_Py_TYPE_impl
Line
Count
Source
312
26.6M
{
313
26.6M
    return ob->ob_type;
314
26.6M
}
object.c:_Py_TYPE_impl
Line
Count
Source
312
7.86G
{
313
7.86G
    return ob->ob_type;
314
7.86G
}
Unexecuted instantiation: obmalloc.c:_Py_TYPE_impl
Unexecuted instantiation: picklebufobject.c:_Py_TYPE_impl
rangeobject.c:_Py_TYPE_impl
Line
Count
Source
312
3.93M
{
313
3.93M
    return ob->ob_type;
314
3.93M
}
setobject.c:_Py_TYPE_impl
Line
Count
Source
312
363M
{
313
363M
    return ob->ob_type;
314
363M
}
sliceobject.c:_Py_TYPE_impl
Line
Count
Source
312
1.31M
{
313
1.31M
    return ob->ob_type;
314
1.31M
}
structseq.c:_Py_TYPE_impl
Line
Count
Source
312
708k
{
313
708k
    return ob->ob_type;
314
708k
}
templateobject.c:_Py_TYPE_impl
Line
Count
Source
312
8
{
313
8
    return ob->ob_type;
314
8
}
tupleobject.c:_Py_TYPE_impl
Line
Count
Source
312
1.05G
{
313
1.05G
    return ob->ob_type;
314
1.05G
}
typeobject.c:_Py_TYPE_impl
Line
Count
Source
312
1.24G
{
313
1.24G
    return ob->ob_type;
314
1.24G
}
typevarobject.c:_Py_TYPE_impl
Line
Count
Source
312
1.37k
{
313
1.37k
    return ob->ob_type;
314
1.37k
}
unicode_format.c:_Py_TYPE_impl
Line
Count
Source
312
138M
{
313
138M
    return ob->ob_type;
314
138M
}
unicode_formatter.c:_Py_TYPE_impl
Line
Count
Source
312
12.9M
{
313
12.9M
    return ob->ob_type;
314
12.9M
}
unicode_writer.c:_Py_TYPE_impl
Line
Count
Source
312
9.93M
{
313
9.93M
    return ob->ob_type;
314
9.93M
}
Unexecuted instantiation: unicodectype.c:_Py_TYPE_impl
unicodeobject.c:_Py_TYPE_impl
Line
Count
Source
312
2.19G
{
313
2.19G
    return ob->ob_type;
314
2.19G
}
unionobject.c:_Py_TYPE_impl
Line
Count
Source
312
3.77k
{
313
3.77k
    return ob->ob_type;
314
3.77k
}
weakrefobject.c:_Py_TYPE_impl
Line
Count
Source
312
113M
{
313
113M
    return ob->ob_type;
314
113M
}
_warnings.c:_Py_TYPE_impl
Line
Count
Source
312
6.22M
{
313
6.22M
    return ob->ob_type;
314
6.22M
}
bltinmodule.c:_Py_TYPE_impl
Line
Count
Source
312
1.79G
{
313
1.79G
    return ob->ob_type;
314
1.79G
}
ceval.c:_Py_TYPE_impl
Line
Count
Source
312
10.9G
{
313
10.9G
    return ob->ob_type;
314
10.9G
}
codecs.c:_Py_TYPE_impl
Line
Count
Source
312
7.46M
{
313
7.46M
    return ob->ob_type;
314
7.46M
}
codegen.c:_Py_TYPE_impl
Line
Count
Source
312
339
{
313
339
    return ob->ob_type;
314
339
}
compile.c:_Py_TYPE_impl
Line
Count
Source
312
95.3k
{
313
95.3k
    return ob->ob_type;
314
95.3k
}
context.c:_Py_TYPE_impl
Line
Count
Source
312
56.5k
{
313
56.5k
    return ob->ob_type;
314
56.5k
}
errors.c:_Py_TYPE_impl
Line
Count
Source
312
394M
{
313
394M
    return ob->ob_type;
314
394M
}
flowgraph.c:_Py_TYPE_impl
Line
Count
Source
312
38.6k
{
313
38.6k
    return ob->ob_type;
314
38.6k
}
Unexecuted instantiation: frame.c:_Py_TYPE_impl
Unexecuted instantiation: future.c:_Py_TYPE_impl
gc.c:_Py_TYPE_impl
Line
Count
Source
312
1.89G
{
313
1.89G
    return ob->ob_type;
314
1.89G
}
Unexecuted instantiation: gc_gil.c:_Py_TYPE_impl
getargs.c:_Py_TYPE_impl
Line
Count
Source
312
18.3M
{
313
18.3M
    return ob->ob_type;
314
18.3M
}
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
837k
{
313
837k
    return ob->ob_type;
314
837k
}
importdl.c:_Py_TYPE_impl
Line
Count
Source
312
2.02k
{
313
2.02k
    return ob->ob_type;
314
2.02k
}
initconfig.c:_Py_TYPE_impl
Line
Count
Source
312
896
{
313
896
    return ob->ob_type;
314
896
}
Unexecuted instantiation: instrumentation.c:_Py_TYPE_impl
Unexecuted instantiation: instruction_sequence.c:_Py_TYPE_impl
intrinsics.c:_Py_TYPE_impl
Line
Count
Source
312
63.1k
{
313
63.1k
    return ob->ob_type;
314
63.1k
}
Unexecuted instantiation: legacy_tracing.c:_Py_TYPE_impl
Unexecuted instantiation: lock.c:_Py_TYPE_impl
marshal.c:_Py_TYPE_impl
Line
Count
Source
312
224k
{
313
224k
    return ob->ob_type;
314
224k
}
modsupport.c:_Py_TYPE_impl
Line
Count
Source
312
8.27M
{
313
8.27M
    return ob->ob_type;
314
8.27M
}
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
32
{
313
32
    return ob->ob_type;
314
32
}
Unexecuted instantiation: pymath.c:_Py_TYPE_impl
Unexecuted instantiation: pystate.c:_Py_TYPE_impl
pythonrun.c:_Py_TYPE_impl
Line
Count
Source
312
35.5k
{
313
35.5k
    return ob->ob_type;
314
35.5k
}
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
116M
{
313
116M
    return ob->ob_type;
314
116M
}
Unexecuted instantiation: structmember.c:_Py_TYPE_impl
symtable.c:_Py_TYPE_impl
Line
Count
Source
312
74.0k
{
313
74.0k
    return ob->ob_type;
314
74.0k
}
sysmodule.c:_Py_TYPE_impl
Line
Count
Source
312
1.38M
{
313
1.38M
    return ob->ob_type;
314
1.38M
}
Unexecuted instantiation: thread.c:_Py_TYPE_impl
traceback.c:_Py_TYPE_impl
Line
Count
Source
312
59.2M
{
313
59.2M
    return ob->ob_type;
314
59.2M
}
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
4.64M
{
313
4.64M
    return ob->ob_type;
314
4.64M
}
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
336
{
313
336
    return ob->ob_type;
314
336
}
_codecsmodule.c:_Py_TYPE_impl
Line
Count
Source
312
1.50M
{
313
1.50M
    return ob->ob_type;
314
1.50M
}
_collectionsmodule.c:_Py_TYPE_impl
Line
Count
Source
312
95.9k
{
313
95.9k
    return ob->ob_type;
314
95.9k
}
Unexecuted instantiation: errnomodule.c:_Py_TYPE_impl
_iomodule.c:_Py_TYPE_impl
Line
Count
Source
312
65.6k
{
313
65.6k
    return ob->ob_type;
314
65.6k
}
iobase.c:_Py_TYPE_impl
Line
Count
Source
312
55.8k
{
313
55.8k
    return ob->ob_type;
314
55.8k
}
fileio.c:_Py_TYPE_impl
Line
Count
Source
312
99.8k
{
313
99.8k
    return ob->ob_type;
314
99.8k
}
bytesio.c:_Py_TYPE_impl
Line
Count
Source
312
79.9k
{
313
79.9k
    return ob->ob_type;
314
79.9k
}
bufferedio.c:_Py_TYPE_impl
Line
Count
Source
312
2.13M
{
313
2.13M
    return ob->ob_type;
314
2.13M
}
textio.c:_Py_TYPE_impl
Line
Count
Source
312
260k
{
313
260k
    return ob->ob_type;
314
260k
}
stringio.c:_Py_TYPE_impl
Line
Count
Source
312
22.0M
{
313
22.0M
    return ob->ob_type;
314
22.0M
}
itertoolsmodule.c:_Py_TYPE_impl
Line
Count
Source
312
136k
{
313
136k
    return ob->ob_type;
314
136k
}
sre.c:_Py_TYPE_impl
Line
Count
Source
312
168M
{
313
168M
    return ob->ob_type;
314
168M
}
Unexecuted instantiation: _sysconfig.c:_Py_TYPE_impl
_threadmodule.c:_Py_TYPE_impl
Line
Count
Source
312
26.1k
{
313
26.1k
    return ob->ob_type;
314
26.1k
}
timemodule.c:_Py_TYPE_impl
Line
Count
Source
312
192
{
313
192
    return ob->ob_type;
314
192
}
Unexecuted instantiation: _typesmodule.c:_Py_TYPE_impl
Unexecuted instantiation: _typingmodule.c:_Py_TYPE_impl
_weakref.c:_Py_TYPE_impl
Line
Count
Source
312
29.6k
{
313
29.6k
    return ob->ob_type;
314
29.6k
}
_abc.c:_Py_TYPE_impl
Line
Count
Source
312
207k
{
313
207k
    return ob->ob_type;
314
207k
}
_functoolsmodule.c:_Py_TYPE_impl
Line
Count
Source
312
1.96M
{
313
1.96M
    return ob->ob_type;
314
1.96M
}
Unexecuted instantiation: _localemodule.c:_Py_TYPE_impl
Unexecuted instantiation: _opcode.c:_Py_TYPE_impl
_operator.c:_Py_TYPE_impl
Line
Count
Source
312
1.19M
{
313
1.19M
    return ob->ob_type;
314
1.19M
}
_stat.c:_Py_TYPE_impl
Line
Count
Source
312
1.44k
{
313
1.44k
    return ob->ob_type;
314
1.44k
}
Unexecuted instantiation: symtablemodule.c:_Py_TYPE_impl
Unexecuted instantiation: pwdmodule.c:_Py_TYPE_impl
getpath.c:_Py_TYPE_impl
Line
Count
Source
312
896
{
313
896
    return ob->ob_type;
314
896
}
Unexecuted instantiation: frozen.c:_Py_TYPE_impl
Unexecuted instantiation: getbuildinfo.c:_Py_TYPE_impl
Unexecuted instantiation: peg_api.c:_Py_TYPE_impl
Unexecuted instantiation: file_tokenizer.c:_Py_TYPE_impl
Unexecuted instantiation: helpers.c:_Py_TYPE_impl
Unexecuted instantiation: myreadline.c:_Py_TYPE_impl
abstract.c:_Py_TYPE_impl
Line
Count
Source
312
3.86G
{
313
3.86G
    return ob->ob_type;
314
3.86G
}
Unexecuted instantiation: boolobject.c:_Py_TYPE_impl
bytes_methods.c:_Py_TYPE_impl
Line
Count
Source
312
861k
{
313
861k
    return ob->ob_type;
314
861k
}
bytearrayobject.c:_Py_TYPE_impl
Line
Count
Source
312
249M
{
313
249M
    return ob->ob_type;
314
249M
}
capsule.c:_Py_TYPE_impl
Line
Count
Source
312
8.28k
{
313
8.28k
    return ob->ob_type;
314
8.28k
}
cellobject.c:_Py_TYPE_impl
Line
Count
Source
312
7.84k
{
313
7.84k
    return ob->ob_type;
314
7.84k
}
classobject.c:_Py_TYPE_impl
Line
Count
Source
312
30.7M
{
313
30.7M
    return ob->ob_type;
314
30.7M
}
codeobject.c:_Py_TYPE_impl
Line
Count
Source
312
4.25M
{
313
4.25M
    return ob->ob_type;
314
4.25M
}
complexobject.c:_Py_TYPE_impl
Line
Count
Source
312
6.86k
{
313
6.86k
    return ob->ob_type;
314
6.86k
}
descrobject.c:_Py_TYPE_impl
Line
Count
Source
312
720M
{
313
720M
    return ob->ob_type;
314
720M
}
enumobject.c:_Py_TYPE_impl
Line
Count
Source
312
107M
{
313
107M
    return ob->ob_type;
314
107M
}
genobject.c:_Py_TYPE_impl
Line
Count
Source
312
41.7M
{
313
41.7M
    return ob->ob_type;
314
41.7M
}
fileobject.c:_Py_TYPE_impl
Line
Count
Source
312
4.05k
{
313
4.05k
    return ob->ob_type;
314
4.05k
}
frameobject.c:_Py_TYPE_impl
Line
Count
Source
312
64
{
313
64
    return ob->ob_type;
314
64
}
funcobject.c:_Py_TYPE_impl
Line
Count
Source
312
48.3k
{
313
48.3k
    return ob->ob_type;
314
48.3k
}
Unexecuted instantiation: interpolationobject.c:_Py_TYPE_impl
iterobject.c:_Py_TYPE_impl
Line
Count
Source
312
3.24M
{
313
3.24M
    return ob->ob_type;
314
3.24M
}
odictobject.c:_Py_TYPE_impl
Line
Count
Source
312
320
{
313
320
    return ob->ob_type;
314
320
}
methodobject.c:_Py_TYPE_impl
Line
Count
Source
312
4.76k
{
313
4.76k
    return ob->ob_type;
314
4.76k
}
namespaceobject.c:_Py_TYPE_impl
Line
Count
Source
312
471
{
313
471
    return ob->ob_type;
314
471
}
Unexecuted instantiation: _contextvars.c:_Py_TYPE_impl
Python-ast.c:_Py_TYPE_impl
Line
Count
Source
312
422k
{
313
422k
    return ob->ob_type;
314
422k
}
Python-tokenize.c:_Py_TYPE_impl
Line
Count
Source
312
8
{
313
8
    return ob->ob_type;
314
8
}
Unexecuted instantiation: asdl.c:_Py_TYPE_impl
Unexecuted instantiation: assemble.c:_Py_TYPE_impl
ast.c:_Py_TYPE_impl
Line
Count
Source
312
5.89k
{
313
5.89k
    return ob->ob_type;
314
5.89k
}
ast_preprocess.c:_Py_TYPE_impl
Line
Count
Source
312
103
{
313
103
    return ob->ob_type;
314
103
}
Unexecuted instantiation: ast_unparse.c:_Py_TYPE_impl
Unexecuted instantiation: critical_section.c:_Py_TYPE_impl
crossinterp.c:_Py_TYPE_impl
Line
Count
Source
312
32
{
313
32
    return ob->ob_type;
314
32
}
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
57.1k
{
313
57.1k
    return ob->ob_type;
314
57.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
readline_tokenizer.c:_Py_TYPE_impl
Line
Count
Source
312
102
{
313
102
    return ob->ob_type;
314
102
}
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
121k
{
313
121k
    return ob->ob_type;
314
121k
}
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
10.4G
{
320
10.4G
    assert(Py_TYPE(ob) != &PyLong_Type);
321
10.4G
    assert(Py_TYPE(ob) != &PyBool_Type);
322
10.4G
    return  _PyVarObject_CAST(ob)->ob_size;
323
10.4G
}
bytesobject.c:_Py_SIZE_impl
Line
Count
Source
319
317M
{
320
317M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
317M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
317M
    return  _PyVarObject_CAST(ob)->ob_size;
323
317M
}
call.c:_Py_SIZE_impl
Line
Count
Source
319
86.6M
{
320
86.6M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
86.6M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
86.6M
    return  _PyVarObject_CAST(ob)->ob_size;
323
86.6M
}
exceptions.c:_Py_SIZE_impl
Line
Count
Source
319
16.6M
{
320
16.6M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
16.6M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
16.6M
    return  _PyVarObject_CAST(ob)->ob_size;
323
16.6M
}
genericaliasobject.c:_Py_SIZE_impl
Line
Count
Source
319
332
{
320
332
    assert(Py_TYPE(ob) != &PyLong_Type);
321
332
    assert(Py_TYPE(ob) != &PyBool_Type);
322
332
    return  _PyVarObject_CAST(ob)->ob_size;
323
332
}
floatobject.c:_Py_SIZE_impl
Line
Count
Source
319
709k
{
320
709k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
709k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
709k
    return  _PyVarObject_CAST(ob)->ob_size;
323
709k
}
listobject.c:_Py_SIZE_impl
Line
Count
Source
319
1.70G
{
320
1.70G
    assert(Py_TYPE(ob) != &PyLong_Type);
321
1.70G
    assert(Py_TYPE(ob) != &PyBool_Type);
322
1.70G
    return  _PyVarObject_CAST(ob)->ob_size;
323
1.70G
}
longobject.c:_Py_SIZE_impl
Line
Count
Source
319
2.19M
{
320
2.19M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
2.19M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
2.19M
    return  _PyVarObject_CAST(ob)->ob_size;
323
2.19M
}
dictobject.c:_Py_SIZE_impl
Line
Count
Source
319
96.6k
{
320
96.6k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
96.6k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
96.6k
    return  _PyVarObject_CAST(ob)->ob_size;
323
96.6k
}
memoryobject.c:_Py_SIZE_impl
Line
Count
Source
319
116k
{
320
116k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
116k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
116k
    return  _PyVarObject_CAST(ob)->ob_size;
323
116k
}
moduleobject.c:_Py_SIZE_impl
Line
Count
Source
319
4.35k
{
320
4.35k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
4.35k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
4.35k
    return  _PyVarObject_CAST(ob)->ob_size;
323
4.35k
}
object.c:_Py_SIZE_impl
Line
Count
Source
319
5.70M
{
320
5.70M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
5.70M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
5.70M
    return  _PyVarObject_CAST(ob)->ob_size;
323
5.70M
}
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
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: templateobject.c:_Py_SIZE_impl
tupleobject.c:_Py_SIZE_impl
Line
Count
Source
319
5.75G
{
320
5.75G
    assert(Py_TYPE(ob) != &PyLong_Type);
321
5.75G
    assert(Py_TYPE(ob) != &PyBool_Type);
322
5.75G
    return  _PyVarObject_CAST(ob)->ob_size;
323
5.75G
}
typeobject.c:_Py_SIZE_impl
Line
Count
Source
319
665M
{
320
665M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
665M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
665M
    return  _PyVarObject_CAST(ob)->ob_size;
323
665M
}
typevarobject.c:_Py_SIZE_impl
Line
Count
Source
319
636
{
320
636
    assert(Py_TYPE(ob) != &PyLong_Type);
321
636
    assert(Py_TYPE(ob) != &PyBool_Type);
322
636
    return  _PyVarObject_CAST(ob)->ob_size;
323
636
}
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
89.1M
{
320
89.1M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
89.1M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
89.1M
    return  _PyVarObject_CAST(ob)->ob_size;
323
89.1M
}
unionobject.c:_Py_SIZE_impl
Line
Count
Source
319
1.03k
{
320
1.03k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
1.03k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
1.03k
    return  _PyVarObject_CAST(ob)->ob_size;
323
1.03k
}
Unexecuted instantiation: weakrefobject.c:_Py_SIZE_impl
_warnings.c:_Py_SIZE_impl
Line
Count
Source
319
663k
{
320
663k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
663k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
663k
    return  _PyVarObject_CAST(ob)->ob_size;
323
663k
}
bltinmodule.c:_Py_SIZE_impl
Line
Count
Source
319
64.6M
{
320
64.6M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
64.6M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
64.6M
    return  _PyVarObject_CAST(ob)->ob_size;
323
64.6M
}
ceval.c:_Py_SIZE_impl
Line
Count
Source
319
1.43G
{
320
1.43G
    assert(Py_TYPE(ob) != &PyLong_Type);
321
1.43G
    assert(Py_TYPE(ob) != &PyBool_Type);
322
1.43G
    return  _PyVarObject_CAST(ob)->ob_size;
323
1.43G
}
codecs.c:_Py_SIZE_impl
Line
Count
Source
319
1.24M
{
320
1.24M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
1.24M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
1.24M
    return  _PyVarObject_CAST(ob)->ob_size;
323
1.24M
}
codegen.c:_Py_SIZE_impl
Line
Count
Source
319
173
{
320
173
    assert(Py_TYPE(ob) != &PyLong_Type);
321
173
    assert(Py_TYPE(ob) != &PyBool_Type);
322
173
    return  _PyVarObject_CAST(ob)->ob_size;
323
173
}
compile.c:_Py_SIZE_impl
Line
Count
Source
319
27.5k
{
320
27.5k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
27.5k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
27.5k
    return  _PyVarObject_CAST(ob)->ob_size;
323
27.5k
}
Unexecuted instantiation: context.c:_Py_SIZE_impl
Unexecuted instantiation: errors.c:_Py_SIZE_impl
flowgraph.c:_Py_SIZE_impl
Line
Count
Source
319
29.6k
{
320
29.6k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
29.6k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
29.6k
    return  _PyVarObject_CAST(ob)->ob_size;
323
29.6k
}
Unexecuted instantiation: frame.c:_Py_SIZE_impl
Unexecuted instantiation: future.c:_Py_SIZE_impl
gc.c:_Py_SIZE_impl
Line
Count
Source
319
248k
{
320
248k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
248k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
248k
    return  _PyVarObject_CAST(ob)->ob_size;
323
248k
}
Unexecuted instantiation: gc_gil.c:_Py_SIZE_impl
getargs.c:_Py_SIZE_impl
Line
Count
Source
319
9.05M
{
320
9.05M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
9.05M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
9.05M
    return  _PyVarObject_CAST(ob)->ob_size;
323
9.05M
}
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
224
{
320
224
    assert(Py_TYPE(ob) != &PyLong_Type);
321
224
    assert(Py_TYPE(ob) != &PyBool_Type);
322
224
    return  _PyVarObject_CAST(ob)->ob_size;
323
224
}
Unexecuted instantiation: importdl.c:_Py_SIZE_impl
initconfig.c:_Py_SIZE_impl
Line
Count
Source
319
128
{
320
128
    assert(Py_TYPE(ob) != &PyLong_Type);
321
128
    assert(Py_TYPE(ob) != &PyBool_Type);
322
128
    return  _PyVarObject_CAST(ob)->ob_size;
323
128
}
Unexecuted instantiation: instrumentation.c:_Py_SIZE_impl
Unexecuted instantiation: instruction_sequence.c:_Py_SIZE_impl
intrinsics.c:_Py_SIZE_impl
Line
Count
Source
319
6.52M
{
320
6.52M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
6.52M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
6.52M
    return  _PyVarObject_CAST(ob)->ob_size;
323
6.52M
}
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.30M
{
320
1.30M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
1.30M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
1.30M
    return  _PyVarObject_CAST(ob)->ob_size;
323
1.30M
}
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
17.3k
{
320
17.3k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
17.3k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
17.3k
    return  _PyVarObject_CAST(ob)->ob_size;
323
17.3k
}
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.07k
{
320
7.07k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
7.07k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
7.07k
    return  _PyVarObject_CAST(ob)->ob_size;
323
7.07k
}
Unexecuted instantiation: structmember.c:_Py_SIZE_impl
symtable.c:_Py_SIZE_impl
Line
Count
Source
319
29.5k
{
320
29.5k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
29.5k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
29.5k
    return  _PyVarObject_CAST(ob)->ob_size;
323
29.5k
}
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
8
{
320
8
    assert(Py_TYPE(ob) != &PyLong_Type);
321
8
    assert(Py_TYPE(ob) != &PyBool_Type);
322
8
    return  _PyVarObject_CAST(ob)->ob_size;
323
8
}
Unexecuted instantiation: faulthandler.c:_Py_SIZE_impl
posixmodule.c:_Py_SIZE_impl
Line
Count
Source
319
1.40M
{
320
1.40M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
1.40M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
1.40M
    return  _PyVarObject_CAST(ob)->ob_size;
323
1.40M
}
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
743
{
320
743
    assert(Py_TYPE(ob) != &PyLong_Type);
321
743
    assert(Py_TYPE(ob) != &PyBool_Type);
322
743
    return  _PyVarObject_CAST(ob)->ob_size;
323
743
}
Unexecuted instantiation: _codecsmodule.c:_Py_SIZE_impl
_collectionsmodule.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: 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
30.9k
{
320
30.9k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
30.9k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
30.9k
    return  _PyVarObject_CAST(ob)->ob_size;
323
30.9k
}
bytesio.c:_Py_SIZE_impl
Line
Count
Source
319
135k
{
320
135k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
135k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
135k
    return  _PyVarObject_CAST(ob)->ob_size;
323
135k
}
bufferedio.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
}
textio.c:_Py_SIZE_impl
Line
Count
Source
319
16.1k
{
320
16.1k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
16.1k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
16.1k
    return  _PyVarObject_CAST(ob)->ob_size;
323
16.1k
}
stringio.c:_Py_SIZE_impl
Line
Count
Source
319
37.8k
{
320
37.8k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
37.8k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
37.8k
    return  _PyVarObject_CAST(ob)->ob_size;
323
37.8k
}
itertoolsmodule.c:_Py_SIZE_impl
Line
Count
Source
319
7.23k
{
320
7.23k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
7.23k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
7.23k
    return  _PyVarObject_CAST(ob)->ob_size;
323
7.23k
}
sre.c:_Py_SIZE_impl
Line
Count
Source
319
28.9M
{
320
28.9M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
28.9M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
28.9M
    return  _PyVarObject_CAST(ob)->ob_size;
323
28.9M
}
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
50.2k
{
320
50.2k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
50.2k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
50.2k
    return  _PyVarObject_CAST(ob)->ob_size;
323
50.2k
}
_functoolsmodule.c:_Py_SIZE_impl
Line
Count
Source
319
231k
{
320
231k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
231k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
231k
    return  _PyVarObject_CAST(ob)->ob_size;
323
231k
}
Unexecuted instantiation: _localemodule.c:_Py_SIZE_impl
Unexecuted instantiation: _opcode.c:_Py_SIZE_impl
_operator.c:_Py_SIZE_impl
Line
Count
Source
319
973k
{
320
973k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
973k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
973k
    return  _PyVarObject_CAST(ob)->ob_size;
323
973k
}
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
288
{
320
288
    assert(Py_TYPE(ob) != &PyLong_Type);
321
288
    assert(Py_TYPE(ob) != &PyBool_Type);
322
288
    return  _PyVarObject_CAST(ob)->ob_size;
323
288
}
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
580k
{
320
580k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
580k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
580k
    return  _PyVarObject_CAST(ob)->ob_size;
323
580k
}
Unexecuted instantiation: boolobject.c:_Py_SIZE_impl
bytes_methods.c:_Py_SIZE_impl
Line
Count
Source
319
148k
{
320
148k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
148k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
148k
    return  _PyVarObject_CAST(ob)->ob_size;
323
148k
}
bytearrayobject.c:_Py_SIZE_impl
Line
Count
Source
319
121M
{
320
121M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
121M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
121M
    return  _PyVarObject_CAST(ob)->ob_size;
323
121M
}
Unexecuted instantiation: capsule.c:_Py_SIZE_impl
Unexecuted instantiation: cellobject.c:_Py_SIZE_impl
classobject.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
}
codeobject.c:_Py_SIZE_impl
Line
Count
Source
319
2.78M
{
320
2.78M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
2.78M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
2.78M
    return  _PyVarObject_CAST(ob)->ob_size;
323
2.78M
}
Unexecuted instantiation: complexobject.c:_Py_SIZE_impl
descrobject.c:_Py_SIZE_impl
Line
Count
Source
319
11.7M
{
320
11.7M
    assert(Py_TYPE(ob) != &PyLong_Type);
321
11.7M
    assert(Py_TYPE(ob) != &PyBool_Type);
322
11.7M
    return  _PyVarObject_CAST(ob)->ob_size;
323
11.7M
}
enumobject.c:_Py_SIZE_impl
Line
Count
Source
319
5.77k
{
320
5.77k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
5.77k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
5.77k
    return  _PyVarObject_CAST(ob)->ob_size;
323
5.77k
}
Unexecuted instantiation: genobject.c:_Py_SIZE_impl
Unexecuted instantiation: fileobject.c:_Py_SIZE_impl
frameobject.c:_Py_SIZE_impl
Line
Count
Source
319
32
{
320
32
    assert(Py_TYPE(ob) != &PyLong_Type);
321
32
    assert(Py_TYPE(ob) != &PyBool_Type);
322
32
    return  _PyVarObject_CAST(ob)->ob_size;
323
32
}
funcobject.c:_Py_SIZE_impl
Line
Count
Source
319
198
{
320
198
    assert(Py_TYPE(ob) != &PyLong_Type);
321
198
    assert(Py_TYPE(ob) != &PyBool_Type);
322
198
    return  _PyVarObject_CAST(ob)->ob_size;
323
198
}
Unexecuted instantiation: interpolationobject.c:_Py_SIZE_impl
Unexecuted instantiation: iterobject.c:_Py_SIZE_impl
odictobject.c:_Py_SIZE_impl
Line
Count
Source
319
516
{
320
516
    assert(Py_TYPE(ob) != &PyLong_Type);
321
516
    assert(Py_TYPE(ob) != &PyBool_Type);
322
516
    return  _PyVarObject_CAST(ob)->ob_size;
323
516
}
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
460
{
320
460
    assert(Py_TYPE(ob) != &PyLong_Type);
321
460
    assert(Py_TYPE(ob) != &PyBool_Type);
322
460
    return  _PyVarObject_CAST(ob)->ob_size;
323
460
}
Python-tokenize.c:_Py_SIZE_impl
Line
Count
Source
319
6
{
320
6
    assert(Py_TYPE(ob) != &PyLong_Type);
321
6
    assert(Py_TYPE(ob) != &PyBool_Type);
322
6
    return  _PyVarObject_CAST(ob)->ob_size;
323
6
}
Unexecuted instantiation: asdl.c:_Py_SIZE_impl
assemble.c:_Py_SIZE_impl
Line
Count
Source
319
317k
{
320
317k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
317k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
317k
    return  _PyVarObject_CAST(ob)->ob_size;
323
317k
}
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
389
{
320
389
    assert(Py_TYPE(ob) != &PyLong_Type);
321
389
    assert(Py_TYPE(ob) != &PyBool_Type);
322
389
    return  _PyVarObject_CAST(ob)->ob_size;
323
389
}
Unexecuted instantiation: state.c:_Py_SIZE_impl
readline_tokenizer.c:_Py_SIZE_impl
Line
Count
Source
319
2
{
320
2
    assert(Py_TYPE(ob) != &PyLong_Type);
321
2
    assert(Py_TYPE(ob) != &PyBool_Type);
322
2
    return  _PyVarObject_CAST(ob)->ob_size;
323
2
}
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
4.44k
{
320
4.44k
    assert(Py_TYPE(ob) != &PyLong_Type);
321
4.44k
    assert(Py_TYPE(ob) != &PyBool_Type);
322
4.44k
    return  _PyVarObject_CAST(ob)->ob_size;
323
4.44k
}
Unexecuted instantiation: string_parser.c:_Py_SIZE_impl
324
325
static inline int
326
_Py_IS_TYPE_impl(PyObject *ob, PyTypeObject *type)
327
12.6G
{
328
12.6G
    return Py_TYPE(ob) == type;
329
12.6G
}
bytesobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
56.0M
{
328
56.0M
    return Py_TYPE(ob) == type;
329
56.0M
}
Unexecuted instantiation: call.c:_Py_IS_TYPE_impl
exceptions.c:_Py_IS_TYPE_impl
Line
Count
Source
327
46.9M
{
328
46.9M
    return Py_TYPE(ob) == type;
329
46.9M
}
genericaliasobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
122
{
328
122
    return Py_TYPE(ob) == type;
329
122
}
floatobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
12.5M
{
328
12.5M
    return Py_TYPE(ob) == type;
329
12.5M
}
listobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
320M
{
328
320M
    return Py_TYPE(ob) == type;
329
320M
}
longobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
731M
{
328
731M
    return Py_TYPE(ob) == type;
329
731M
}
dictobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
3.42G
{
328
3.42G
    return Py_TYPE(ob) == type;
329
3.42G
}
memoryobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
142k
{
328
142k
    return Py_TYPE(ob) == type;
329
142k
}
moduleobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
26.6M
{
328
26.6M
    return Py_TYPE(ob) == type;
329
26.6M
}
object.c:_Py_IS_TYPE_impl
Line
Count
Source
327
495M
{
328
495M
    return Py_TYPE(ob) == type;
329
495M
}
Unexecuted instantiation: obmalloc.c:_Py_IS_TYPE_impl
Unexecuted instantiation: picklebufobject.c:_Py_IS_TYPE_impl
rangeobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
1.31M
{
328
1.31M
    return Py_TYPE(ob) == type;
329
1.31M
}
setobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
360M
{
328
360M
    return Py_TYPE(ob) == type;
329
360M
}
sliceobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
80
{
328
80
    return Py_TYPE(ob) == type;
329
80
}
Unexecuted instantiation: structseq.c:_Py_IS_TYPE_impl
Unexecuted instantiation: templateobject.c:_Py_IS_TYPE_impl
tupleobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
451M
{
328
451M
    return Py_TYPE(ob) == type;
329
451M
}
typeobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
156M
{
328
156M
    return Py_TYPE(ob) == type;
329
156M
}
typevarobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
12
{
328
12
    return Py_TYPE(ob) == type;
329
12
}
unicode_format.c:_Py_IS_TYPE_impl
Line
Count
Source
327
61.4M
{
328
61.4M
    return Py_TYPE(ob) == type;
329
61.4M
}
unicode_formatter.c:_Py_IS_TYPE_impl
Line
Count
Source
327
12.9M
{
328
12.9M
    return Py_TYPE(ob) == type;
329
12.9M
}
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
302M
{
328
302M
    return Py_TYPE(ob) == type;
329
302M
}
unionobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
1.73k
{
328
1.73k
    return Py_TYPE(ob) == type;
329
1.73k
}
weakrefobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
433k
{
328
433k
    return Py_TYPE(ob) == type;
329
433k
}
_warnings.c:_Py_IS_TYPE_impl
Line
Count
Source
327
586k
{
328
586k
    return Py_TYPE(ob) == type;
329
586k
}
bltinmodule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
1.47G
{
328
1.47G
    return Py_TYPE(ob) == type;
329
1.47G
}
ceval.c:_Py_IS_TYPE_impl
Line
Count
Source
327
3.55G
{
328
3.55G
    return Py_TYPE(ob) == type;
329
3.55G
}
codecs.c:_Py_IS_TYPE_impl
Line
Count
Source
327
1.95M
{
328
1.95M
    return Py_TYPE(ob) == type;
329
1.95M
}
Unexecuted instantiation: codegen.c:_Py_IS_TYPE_impl
compile.c:_Py_IS_TYPE_impl
Line
Count
Source
327
95.3k
{
328
95.3k
    return Py_TYPE(ob) == type;
329
95.3k
}
context.c:_Py_IS_TYPE_impl
Line
Count
Source
327
56.5k
{
328
56.5k
    return Py_TYPE(ob) == type;
329
56.5k
}
Unexecuted instantiation: errors.c:_Py_IS_TYPE_impl
flowgraph.c:_Py_IS_TYPE_impl
Line
Count
Source
327
38.5k
{
328
38.5k
    return Py_TYPE(ob) == type;
329
38.5k
}
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
146M
{
328
146M
    return Py_TYPE(ob) == type;
329
146M
}
Unexecuted instantiation: gc_gil.c:_Py_IS_TYPE_impl
getargs.c:_Py_IS_TYPE_impl
Line
Count
Source
327
7.56M
{
328
7.56M
    return Py_TYPE(ob) == type;
329
7.56M
}
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
5.07k
{
328
5.07k
    return Py_TYPE(ob) == type;
329
5.07k
}
importdl.c:_Py_IS_TYPE_impl
Line
Count
Source
327
1.67k
{
328
1.67k
    return Py_TYPE(ob) == type;
329
1.67k
}
initconfig.c:_Py_IS_TYPE_impl
Line
Count
Source
327
256
{
328
256
    return Py_TYPE(ob) == type;
329
256
}
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
30.5k
{
328
30.5k
    return Py_TYPE(ob) == type;
329
30.5k
}
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
224k
{
328
224k
    return Py_TYPE(ob) == type;
329
224k
}
modsupport.c:_Py_IS_TYPE_impl
Line
Count
Source
327
18.7k
{
328
18.7k
    return Py_TYPE(ob) == type;
329
18.7k
}
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
94.9M
{
328
94.9M
    return Py_TYPE(ob) == type;
329
94.9M
}
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
1.45k
{
328
1.45k
    return Py_TYPE(ob) == type;
329
1.45k
}
Unexecuted instantiation: thread.c:_Py_IS_TYPE_impl
traceback.c:_Py_IS_TYPE_impl
Line
Count
Source
327
59.2M
{
328
59.2M
    return Py_TYPE(ob) == type;
329
59.2M
}
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
469k
{
328
469k
    return Py_TYPE(ob) == type;
329
469k
}
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
39
{
328
39
    return Py_TYPE(ob) == type;
329
39
}
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
30.9k
{
328
30.9k
    return Py_TYPE(ob) == type;
329
30.9k
}
bytesio.c:_Py_IS_TYPE_impl
Line
Count
Source
327
38.2k
{
328
38.2k
    return Py_TYPE(ob) == type;
329
38.2k
}
bufferedio.c:_Py_IS_TYPE_impl
Line
Count
Source
327
78.2k
{
328
78.2k
    return Py_TYPE(ob) == type;
329
78.2k
}
textio.c:_Py_IS_TYPE_impl
Line
Count
Source
327
51.2k
{
328
51.2k
    return Py_TYPE(ob) == type;
329
51.2k
}
stringio.c:_Py_IS_TYPE_impl
Line
Count
Source
327
21.8M
{
328
21.8M
    return Py_TYPE(ob) == type;
329
21.8M
}
Unexecuted instantiation: itertoolsmodule.c:_Py_IS_TYPE_impl
sre.c:_Py_IS_TYPE_impl
Line
Count
Source
327
518k
{
328
518k
    return Py_TYPE(ob) == type;
329
518k
}
Unexecuted instantiation: _sysconfig.c:_Py_IS_TYPE_impl
_threadmodule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
63
{
328
63
    return Py_TYPE(ob) == type;
329
63
}
timemodule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
96
{
328
96
    return Py_TYPE(ob) == type;
329
96
}
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
9.89k
{
328
9.89k
    return Py_TYPE(ob) == type;
329
9.89k
}
_abc.c:_Py_IS_TYPE_impl
Line
Count
Source
327
14.9k
{
328
14.9k
    return Py_TYPE(ob) == type;
329
14.9k
}
_functoolsmodule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
203k
{
328
203k
    return Py_TYPE(ob) == type;
329
203k
}
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
973k
{
328
973k
    return Py_TYPE(ob) == type;
329
973k
}
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
32
{
328
32
    return Py_TYPE(ob) == type;
329
32
}
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
319M
{
328
319M
    return Py_TYPE(ob) == type;
329
319M
}
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
82.1M
{
328
82.1M
    return Py_TYPE(ob) == type;
329
82.1M
}
capsule.c:_Py_IS_TYPE_impl
Line
Count
Source
327
8.28k
{
328
8.28k
    return Py_TYPE(ob) == type;
329
8.28k
}
cellobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
7.84k
{
328
7.84k
    return Py_TYPE(ob) == type;
329
7.84k
}
Unexecuted instantiation: classobject.c:_Py_IS_TYPE_impl
codeobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
3.02M
{
328
3.02M
    return Py_TYPE(ob) == type;
329
3.02M
}
complexobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
6.86k
{
328
6.86k
    return Py_TYPE(ob) == type;
329
6.86k
}
descrobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
369M
{
328
369M
    return Py_TYPE(ob) == type;
329
369M
}
Unexecuted instantiation: enumobject.c:_Py_IS_TYPE_impl
genobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
41.7M
{
328
41.7M
    return Py_TYPE(ob) == type;
329
41.7M
}
Unexecuted instantiation: fileobject.c:_Py_IS_TYPE_impl
frameobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
32
{
328
32
    return Py_TYPE(ob) == type;
329
32
}
funcobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
602
{
328
602
    return Py_TYPE(ob) == type;
329
602
}
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
320
{
328
320
    return Py_TYPE(ob) == type;
329
320
}
methodobject.c:_Py_IS_TYPE_impl
Line
Count
Source
327
4.25k
{
328
4.25k
    return Py_TYPE(ob) == type;
329
4.25k
}
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
128
{
328
128
    return Py_TYPE(ob) == type;
329
128
}
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
5.89k
{
328
5.89k
    return Py_TYPE(ob) == type;
329
5.89k
}
Unexecuted instantiation: ast_preprocess.c:_Py_IS_TYPE_impl
Unexecuted instantiation: ast_unparse.c:_Py_IS_TYPE_impl
Unexecuted instantiation: critical_section.c:_Py_IS_TYPE_impl
Unexecuted instantiation: crossinterp.c:_Py_IS_TYPE_impl
Unexecuted instantiation: getcopyright.c:_Py_IS_TYPE_impl
Unexecuted instantiation: getplatform.c:_Py_IS_TYPE_impl
Unexecuted instantiation: getversion.c:_Py_IS_TYPE_impl
Unexecuted instantiation: optimizer.c:_Py_IS_TYPE_impl
Unexecuted instantiation: pathconfig.c:_Py_IS_TYPE_impl
pegen.c:_Py_IS_TYPE_impl
Line
Count
Source
327
10.3k
{
328
10.3k
    return Py_TYPE(ob) == type;
329
10.3k
}
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
121k
{
328
121k
    return Py_TYPE(ob) == type;
329
121k
}
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.21G
{
334
1.21G
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
1.21G
    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.21G
    ob->ob_size = size;
340
1.21G
#endif
341
1.21G
}
bytesobject.c:_Py_SET_SIZE_impl
Line
Count
Source
333
89.2M
{
334
89.2M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
89.2M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
336
#ifdef Py_GIL_DISABLED
337
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
338
#else
339
89.2M
    ob->ob_size = size;
340
89.2M
#endif
341
89.2M
}
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
623M
{
334
623M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
623M
    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
623M
    ob->ob_size = size;
340
623M
#endif
341
623M
}
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
121k
{
334
121k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
121k
    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
121k
    ob->ob_size = size;
340
121k
#endif
341
121k
}
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
353k
{
334
353k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
353k
    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
353k
    ob->ob_size = size;
340
353k
#endif
341
353k
}
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
1.39M
{
334
1.39M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
1.39M
    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.39M
    ob->ob_size = size;
340
1.39M
#endif
341
1.39M
}
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
18.1M
{
334
18.1M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
18.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
18.1M
    ob->ob_size = size;
340
18.1M
#endif
341
18.1M
}
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
225M
{
334
225M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
225M
    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
225M
    ob->ob_size = size;
340
225M
#endif
341
225M
}
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
172M
{
334
172M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
172M
    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
172M
    ob->ob_size = size;
340
172M
#endif
341
172M
}
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
72.5M
{
334
72.5M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
72.5M
    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
72.5M
    ob->ob_size = size;
340
72.5M
#endif
341
72.5M
}
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
878
{
334
878
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
878
    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
878
    ob->ob_size = size;
340
878
#endif
341
878
}
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
8.80M
{
334
8.80M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
335
8.80M
    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
8.80M
    ob->ob_size = size;
340
8.80M
#endif
341
8.80M
}
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
28
#define Py_TP_USE_SPEC NULL
440
#endif
441
442
/* Generic type check */
443
PyAPI_FUNC(int) PyType_IsSubtype(PyTypeObject *, PyTypeObject *);
444
445
632M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
632M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
632M
}
Unexecuted instantiation: bytesobject.c:PyObject_TypeCheck
Unexecuted instantiation: call.c:PyObject_TypeCheck
exceptions.c:PyObject_TypeCheck
Line
Count
Source
445
1.42M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
1.42M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
1.42M
}
genericaliasobject.c:PyObject_TypeCheck
Line
Count
Source
445
76
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
76
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
76
}
floatobject.c:PyObject_TypeCheck
Line
Count
Source
445
8.24M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
8.24M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
8.24M
}
Unexecuted instantiation: listobject.c:PyObject_TypeCheck
longobject.c:PyObject_TypeCheck
Line
Count
Source
445
4.33M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
4.33M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
4.33M
}
dictobject.c:PyObject_TypeCheck
Line
Count
Source
445
9.58M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
9.58M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
9.58M
}
Unexecuted instantiation: memoryobject.c:PyObject_TypeCheck
moduleobject.c:PyObject_TypeCheck
Line
Count
Source
445
26.6M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
26.6M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
26.6M
}
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
84.3M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
84.3M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
84.3M
}
Unexecuted instantiation: typevarobject.c:PyObject_TypeCheck
Unexecuted instantiation: unicode_format.c:PyObject_TypeCheck
Unexecuted instantiation: unicode_formatter.c:PyObject_TypeCheck
Unexecuted instantiation: unicode_writer.c:PyObject_TypeCheck
Unexecuted instantiation: unicodectype.c:PyObject_TypeCheck
Unexecuted instantiation: unicodeobject.c:PyObject_TypeCheck
unionobject.c:PyObject_TypeCheck
Line
Count
Source
445
156
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
156
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
156
}
weakrefobject.c:PyObject_TypeCheck
Line
Count
Source
445
26.1k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
26.1k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
26.1k
}
_warnings.c:PyObject_TypeCheck
Line
Count
Source
445
363k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
363k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
363k
}
bltinmodule.c:PyObject_TypeCheck
Line
Count
Source
445
6.43M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
6.43M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
6.43M
}
ceval.c:PyObject_TypeCheck
Line
Count
Source
445
61
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
61
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
61
}
codecs.c:PyObject_TypeCheck
Line
Count
Source
445
667k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
667k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
667k
}
Unexecuted instantiation: codegen.c:PyObject_TypeCheck
Unexecuted instantiation: compile.c:PyObject_TypeCheck
Unexecuted instantiation: context.c:PyObject_TypeCheck
Unexecuted instantiation: errors.c:PyObject_TypeCheck
Unexecuted instantiation: flowgraph.c:PyObject_TypeCheck
Unexecuted instantiation: frame.c:PyObject_TypeCheck
Unexecuted instantiation: future.c:PyObject_TypeCheck
gc.c:PyObject_TypeCheck
Line
Count
Source
445
1.74M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
1.74M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
1.74M
}
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
4.65k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
4.65k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
4.65k
}
importdl.c:PyObject_TypeCheck
Line
Count
Source
445
837
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
837
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
837
}
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
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: 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
15.3k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
15.3k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
15.3k
}
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
39
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
39
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
39
}
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
9.89k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
9.89k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
9.89k
}
Unexecuted instantiation: _abc.c:PyObject_TypeCheck
_functoolsmodule.c:PyObject_TypeCheck
Line
Count
Source
445
203k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
203k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
203k
}
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
39.6M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
39.6M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
39.6M
}
Unexecuted instantiation: boolobject.c:PyObject_TypeCheck
Unexecuted instantiation: bytes_methods.c:PyObject_TypeCheck
bytearrayobject.c:PyObject_TypeCheck
Line
Count
Source
445
79.8M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
79.8M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
79.8M
}
Unexecuted instantiation: capsule.c:PyObject_TypeCheck
Unexecuted instantiation: cellobject.c:PyObject_TypeCheck
Unexecuted instantiation: classobject.c:PyObject_TypeCheck
Unexecuted instantiation: codeobject.c:PyObject_TypeCheck
complexobject.c:PyObject_TypeCheck
Line
Count
Source
445
4
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
4
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
4
}
descrobject.c:PyObject_TypeCheck
Line
Count
Source
445
369M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
369M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
369M
}
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
38
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
38
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
38
}
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.25k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
4.25k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
4.25k
}
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
10.3k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
446
10.3k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
447
10.3k
}
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
636M
#  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
737M
#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.07G
#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
917M
#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.29G
#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
917M
#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
1.86M
#define Py_TPFLAGS_SEQUENCE (1 << 5)
562
/* Set if instances of the type object are treated as mappings for pattern matching */
563
1.86M
#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
199k
#define Py_TPFLAGS_DISALLOW_INSTANTIATION (1UL << 7)
569
570
/* Set if the type object is immutable: type attributes cannot be set nor deleted */
571
1.85M
#define Py_TPFLAGS_IMMUTABLETYPE (1UL << 8)
572
573
/* Set if the type object is dynamically allocated */
574
389M
#define Py_TPFLAGS_HEAPTYPE (1UL << 9)
575
576
/* Set if the type allows subclassing */
577
753k
#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
540M
#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
14.8M
#define Py_TPFLAGS_READY (1UL << 12)
590
591
/* Set while the type is being 'readied', to prevent recursive ready calls */
592
382k
#define Py_TPFLAGS_READYING (1UL << 13)
593
594
/* Objects support garbage collection (see objimpl.h) */
595
5.35G
#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
189k
#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION 0
602
#endif
603
604
/* Objects behave like an unbound method */
605
153M
#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
33.3M
#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
376k
#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
10.2M
#define Py_TPFLAGS_ITEMS_AT_END (1UL << 23)
620
621
/* These flags are used to determine if a type is a subclass. */
622
291
#define Py_TPFLAGS_LONG_SUBCLASS        (1UL << 24)
623
142
#define Py_TPFLAGS_LIST_SUBCLASS        (1UL << 25)
624
918
#define Py_TPFLAGS_TUPLE_SUBCLASS       (1UL << 26)
625
4
#define Py_TPFLAGS_BYTES_SUBCLASS       (1UL << 27)
626
7.26M
#define Py_TPFLAGS_UNICODE_SUBCLASS     (1UL << 28)
627
186
#define Py_TPFLAGS_DICT_SUBCLASS        (1UL << 29)
628
3.29k
#define Py_TPFLAGS_BASE_EXC_SUBCLASS    (1UL << 30)
629
134
#define Py_TPFLAGS_TYPE_SUBCLASS        (1UL << 31)
630
631
189k
#define Py_TPFLAGS_DEFAULT  ( \
632
189k
                 Py_TPFLAGS_HAVE_STACKLESS_EXTENSION | \
633
189k
                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
195M
#define _Py_IMMORTAL_FLAGS (1 << 0)
653
#define _Py_LEGACY_ABI_CHECK_FLAG (1 << 1) /* see PyModuleDef_Init() */
654
194M
#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
32
#define Py_CONSTANT_ZERO 5
665
32
#define Py_CONSTANT_ONE 6
666
196k
#define Py_CONSTANT_EMPTY_STR 7
667
6.81M
#define Py_CONSTANT_EMPTY_BYTES 8
668
32
#define Py_CONSTANT_EMPTY_TUPLE 9
669
670
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
671
PyAPI_FUNC(PyObject*) Py_GetConstant(unsigned int constant_id);
672
PyAPI_FUNC(PyObject*) Py_GetConstantBorrowed(unsigned int constant_id);
673
#endif
674
675
676
/*
677
_Py_NoneStruct is an object of undefined type which can be used in contexts
678
where NULL (nil) is not suitable (since NULL often means 'error').
679
*/
680
PyAPI_DATA(PyObject) _Py_NoneStruct; /* Don't use this directly */
681
682
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030D0000
683
#  define Py_None Py_GetConstantBorrowed(Py_CONSTANT_NONE)
684
#else
685
1.56G
#  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
252M
#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
160M
#  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
358M
#  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
21.9M
#  define Py_RETURN_NOTIMPLEMENTED return Py_NotImplemented
718
#endif
719
720
/* Rich comparison opcodes */
721
69.2M
#define Py_LT 0
722
421k
#define Py_LE 1
723
451M
#define Py_EQ 2
724
110M
#define Py_NE 3
725
3.56M
#define Py_GT 4
726
14.7k
#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
79.8M
    do {                                                                    \
744
79.8M
        switch (op) {                                                       \
745
44.6M
        case Py_EQ: if ((val1) == (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
746
44.6M
        case Py_NE: if ((val1) != (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
747
32.6M
        case Py_LT: if ((val1) < (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;   \
748
32.6M
        case Py_GT: if ((val1) > (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;   \
749
1.68M
        case Py_LE: if ((val1) <= (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
750
406k
        case Py_GE: if ((val1) >= (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
751
255
        default:                                                            \
752
0
            Py_UNREACHABLE();                                               \
753
79.8M
        }                                                                   \
754
79.8M
    } 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
7.19G
{
819
7.19G
    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
7.19G
    return ((flags & feature) != 0);
827
7.19G
}
bytesobject.c:PyType_HasFeature
Line
Count
Source
818
172M
{
819
172M
    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
172M
    flags = type->tp_flags;
825
172M
#endif
826
172M
    return ((flags & feature) != 0);
827
172M
}
call.c:PyType_HasFeature
Line
Count
Source
818
351M
{
819
351M
    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
351M
    flags = type->tp_flags;
825
351M
#endif
826
351M
    return ((flags & feature) != 0);
827
351M
}
exceptions.c:PyType_HasFeature
Line
Count
Source
818
2.81M
{
819
2.81M
    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.81M
    flags = type->tp_flags;
825
2.81M
#endif
826
2.81M
    return ((flags & feature) != 0);
827
2.81M
}
genericaliasobject.c:PyType_HasFeature
Line
Count
Source
818
2.03k
{
819
2.03k
    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.03k
    flags = type->tp_flags;
825
2.03k
#endif
826
2.03k
    return ((flags & feature) != 0);
827
2.03k
}
floatobject.c:PyType_HasFeature
Line
Count
Source
818
1.56M
{
819
1.56M
    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.56M
    flags = type->tp_flags;
825
1.56M
#endif
826
1.56M
    return ((flags & feature) != 0);
827
1.56M
}
listobject.c:PyType_HasFeature
Line
Count
Source
818
228M
{
819
228M
    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
228M
    flags = type->tp_flags;
825
228M
#endif
826
228M
    return ((flags & feature) != 0);
827
228M
}
longobject.c:PyType_HasFeature
Line
Count
Source
818
1.05G
{
819
1.05G
    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.05G
    flags = type->tp_flags;
825
1.05G
#endif
826
1.05G
    return ((flags & feature) != 0);
827
1.05G
}
dictobject.c:PyType_HasFeature
Line
Count
Source
818
867M
{
819
867M
    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
867M
    flags = type->tp_flags;
825
867M
#endif
826
867M
    return ((flags & feature) != 0);
827
867M
}
memoryobject.c:PyType_HasFeature
Line
Count
Source
818
112k
{
819
112k
    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
112k
    flags = type->tp_flags;
825
112k
#endif
826
112k
    return ((flags & feature) != 0);
827
112k
}
moduleobject.c:PyType_HasFeature
Line
Count
Source
818
16.7k
{
819
16.7k
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
16.7k
    flags = type->tp_flags;
825
16.7k
#endif
826
16.7k
    return ((flags & feature) != 0);
827
16.7k
}
object.c:PyType_HasFeature
Line
Count
Source
818
944M
{
819
944M
    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
944M
    flags = type->tp_flags;
825
944M
#endif
826
944M
    return ((flags & feature) != 0);
827
944M
}
Unexecuted instantiation: obmalloc.c:PyType_HasFeature
Unexecuted instantiation: picklebufobject.c:PyType_HasFeature
Unexecuted instantiation: rangeobject.c:PyType_HasFeature
Unexecuted instantiation: setobject.c:PyType_HasFeature
Unexecuted instantiation: sliceobject.c:PyType_HasFeature
structseq.c:PyType_HasFeature
Line
Count
Source
818
960
{
819
960
    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
960
    flags = type->tp_flags;
825
960
#endif
826
960
    return ((flags & feature) != 0);
827
960
}
Unexecuted instantiation: templateobject.c:PyType_HasFeature
tupleobject.c:PyType_HasFeature
Line
Count
Source
818
89.2M
{
819
89.2M
    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
89.2M
    flags = type->tp_flags;
825
89.2M
#endif
826
89.2M
    return ((flags & feature) != 0);
827
89.2M
}
typeobject.c:PyType_HasFeature
Line
Count
Source
818
288M
{
819
288M
    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
288M
    flags = type->tp_flags;
825
288M
#endif
826
288M
    return ((flags & feature) != 0);
827
288M
}
typevarobject.c:PyType_HasFeature
Line
Count
Source
818
204
{
819
204
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
204
    flags = type->tp_flags;
825
204
#endif
826
204
    return ((flags & feature) != 0);
827
204
}
unicode_format.c:PyType_HasFeature
Line
Count
Source
818
76.6M
{
819
76.6M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
76.6M
    flags = type->tp_flags;
825
76.6M
#endif
826
76.6M
    return ((flags & feature) != 0);
827
76.6M
}
Unexecuted instantiation: unicode_formatter.c:PyType_HasFeature
unicode_writer.c:PyType_HasFeature
Line
Count
Source
818
438k
{
819
438k
    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
438k
    flags = type->tp_flags;
825
438k
#endif
826
438k
    return ((flags & feature) != 0);
827
438k
}
Unexecuted instantiation: unicodectype.c:PyType_HasFeature
unicodeobject.c:PyType_HasFeature
Line
Count
Source
818
1.34G
{
819
1.34G
    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.34G
    flags = type->tp_flags;
825
1.34G
#endif
826
1.34G
    return ((flags & feature) != 0);
827
1.34G
}
unionobject.c:PyType_HasFeature
Line
Count
Source
818
1.85k
{
819
1.85k
    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.85k
    flags = type->tp_flags;
825
1.85k
#endif
826
1.85k
    return ((flags & feature) != 0);
827
1.85k
}
weakrefobject.c:PyType_HasFeature
Line
Count
Source
818
37.8M
{
819
37.8M
    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.8M
    flags = type->tp_flags;
825
37.8M
#endif
826
37.8M
    return ((flags & feature) != 0);
827
37.8M
}
_warnings.c:PyType_HasFeature
Line
Count
Source
818
5.27M
{
819
5.27M
    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.27M
    flags = type->tp_flags;
825
5.27M
#endif
826
5.27M
    return ((flags & feature) != 0);
827
5.27M
}
bltinmodule.c:PyType_HasFeature
Line
Count
Source
818
215M
{
819
215M
    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
215M
    flags = type->tp_flags;
825
215M
#endif
826
215M
    return ((flags & feature) != 0);
827
215M
}
ceval.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
}
codecs.c:PyType_HasFeature
Line
Count
Source
818
3.20M
{
819
3.20M
    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.20M
    flags = type->tp_flags;
825
3.20M
#endif
826
3.20M
    return ((flags & feature) != 0);
827
3.20M
}
codegen.c:PyType_HasFeature
Line
Count
Source
818
346
{
819
346
    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
346
    flags = type->tp_flags;
825
346
#endif
826
346
    return ((flags & feature) != 0);
827
346
}
Unexecuted instantiation: compile.c:PyType_HasFeature
context.c:PyType_HasFeature
Line
Count
Source
818
54
{
819
54
    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
54
    flags = type->tp_flags;
825
54
#endif
826
54
    return ((flags & feature) != 0);
827
54
}
errors.c:PyType_HasFeature
Line
Count
Source
818
373M
{
819
373M
    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
373M
    flags = type->tp_flags;
825
373M
#endif
826
373M
    return ((flags & feature) != 0);
827
373M
}
flowgraph.c:PyType_HasFeature
Line
Count
Source
818
84
{
819
84
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
84
    flags = type->tp_flags;
825
84
#endif
826
84
    return ((flags & feature) != 0);
827
84
}
Unexecuted instantiation: frame.c:PyType_HasFeature
Unexecuted instantiation: future.c:PyType_HasFeature
Unexecuted instantiation: gc.c:PyType_HasFeature
Unexecuted instantiation: gc_gil.c:PyType_HasFeature
getargs.c:PyType_HasFeature
Line
Count
Source
818
10.3M
{
819
10.3M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
10.3M
    flags = type->tp_flags;
825
10.3M
#endif
826
10.3M
    return ((flags & feature) != 0);
827
10.3M
}
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
826k
{
819
826k
    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
826k
    flags = type->tp_flags;
825
826k
#endif
826
826k
    return ((flags & feature) != 0);
827
826k
}
importdl.c:PyType_HasFeature
Line
Count
Source
818
354
{
819
354
    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
354
    flags = type->tp_flags;
825
354
#endif
826
354
    return ((flags & feature) != 0);
827
354
}
initconfig.c:PyType_HasFeature
Line
Count
Source
818
640
{
819
640
    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
640
    flags = type->tp_flags;
825
640
#endif
826
640
    return ((flags & feature) != 0);
827
640
}
Unexecuted instantiation: instrumentation.c:PyType_HasFeature
Unexecuted instantiation: instruction_sequence.c:PyType_HasFeature
intrinsics.c:PyType_HasFeature
Line
Count
Source
818
32.5k
{
819
32.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
32.5k
    flags = type->tp_flags;
825
32.5k
#endif
826
32.5k
    return ((flags & feature) != 0);
827
32.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
32
{
819
32
    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
32
    flags = type->tp_flags;
825
32
#endif
826
32
    return ((flags & feature) != 0);
827
32
}
Unexecuted instantiation: pymath.c:PyType_HasFeature
Unexecuted instantiation: pystate.c:PyType_HasFeature
pythonrun.c:PyType_HasFeature
Line
Count
Source
818
35.5k
{
819
35.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
35.5k
    flags = type->tp_flags;
825
35.5k
#endif
826
35.5k
    return ((flags & feature) != 0);
827
35.5k
}
Unexecuted instantiation: pytime.c:PyType_HasFeature
Unexecuted instantiation: qsbr.c:PyType_HasFeature
Unexecuted instantiation: bootstrap_hash.c:PyType_HasFeature
specialize.c:PyType_HasFeature
Line
Count
Source
818
3.23M
{
819
3.23M
    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.23M
    flags = type->tp_flags;
825
3.23M
#endif
826
3.23M
    return ((flags & feature) != 0);
827
3.23M
}
Unexecuted instantiation: structmember.c:PyType_HasFeature
symtable.c:PyType_HasFeature
Line
Count
Source
818
74.0k
{
819
74.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
74.0k
    flags = type->tp_flags;
825
74.0k
#endif
826
74.0k
    return ((flags & feature) != 0);
827
74.0k
}
sysmodule.c:PyType_HasFeature
Line
Count
Source
818
1.38M
{
819
1.38M
    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.38M
    flags = type->tp_flags;
825
1.38M
#endif
826
1.38M
    return ((flags & feature) != 0);
827
1.38M
}
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
3.68M
{
819
3.68M
    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.68M
    flags = type->tp_flags;
825
3.68M
#endif
826
3.68M
    return ((flags & feature) != 0);
827
3.68M
}
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
135
{
819
135
    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
135
    flags = type->tp_flags;
825
135
#endif
826
135
    return ((flags & feature) != 0);
827
135
}
_codecsmodule.c:PyType_HasFeature
Line
Count
Source
818
1.50M
{
819
1.50M
    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.50M
    flags = type->tp_flags;
825
1.50M
#endif
826
1.50M
    return ((flags & feature) != 0);
827
1.50M
}
_collectionsmodule.c:PyType_HasFeature
Line
Count
Source
818
208
{
819
208
    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
208
    flags = type->tp_flags;
825
208
#endif
826
208
    return ((flags & feature) != 0);
827
208
}
Unexecuted instantiation: errnomodule.c:PyType_HasFeature
_iomodule.c:PyType_HasFeature
Line
Count
Source
818
65.6k
{
819
65.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
65.6k
    flags = type->tp_flags;
825
65.6k
#endif
826
65.6k
    return ((flags & feature) != 0);
827
65.6k
}
Unexecuted instantiation: iobase.c:PyType_HasFeature
fileio.c:PyType_HasFeature
Line
Count
Source
818
30.9k
{
819
30.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
30.9k
    flags = type->tp_flags;
825
30.9k
#endif
826
30.9k
    return ((flags & feature) != 0);
827
30.9k
}
Unexecuted instantiation: bytesio.c:PyType_HasFeature
bufferedio.c:PyType_HasFeature
Line
Count
Source
818
8.10k
{
819
8.10k
    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
8.10k
    flags = type->tp_flags;
825
8.10k
#endif
826
8.10k
    return ((flags & feature) != 0);
827
8.10k
}
textio.c:PyType_HasFeature
Line
Count
Source
818
182k
{
819
182k
    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
182k
    flags = type->tp_flags;
825
182k
#endif
826
182k
    return ((flags & feature) != 0);
827
182k
}
stringio.c:PyType_HasFeature
Line
Count
Source
818
99.4k
{
819
99.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
99.4k
    flags = type->tp_flags;
825
99.4k
#endif
826
99.4k
    return ((flags & feature) != 0);
827
99.4k
}
itertoolsmodule.c:PyType_HasFeature
Line
Count
Source
818
6
{
819
6
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
6
    flags = type->tp_flags;
825
6
#endif
826
6
    return ((flags & feature) != 0);
827
6
}
sre.c:PyType_HasFeature
Line
Count
Source
818
121M
{
819
121M
    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
121M
    flags = type->tp_flags;
825
121M
#endif
826
121M
    return ((flags & feature) != 0);
827
121M
}
Unexecuted instantiation: _sysconfig.c:PyType_HasFeature
_threadmodule.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
}
timemodule.c:PyType_HasFeature
Line
Count
Source
818
96
{
819
96
    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
96
    flags = type->tp_flags;
825
96
#endif
826
96
    return ((flags & feature) != 0);
827
96
}
Unexecuted instantiation: _typesmodule.c:PyType_HasFeature
Unexecuted instantiation: _typingmodule.c:PyType_HasFeature
_weakref.c:PyType_HasFeature
Line
Count
Source
818
9.89k
{
819
9.89k
    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
9.89k
    flags = type->tp_flags;
825
9.89k
#endif
826
9.89k
    return ((flags & feature) != 0);
827
9.89k
}
_abc.c:PyType_HasFeature
Line
Count
Source
818
73.5k
{
819
73.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
73.5k
    flags = type->tp_flags;
825
73.5k
#endif
826
73.5k
    return ((flags & feature) != 0);
827
73.5k
}
_functoolsmodule.c:PyType_HasFeature
Line
Count
Source
818
27.0k
{
819
27.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
27.0k
    flags = type->tp_flags;
825
27.0k
#endif
826
27.0k
    return ((flags & feature) != 0);
827
27.0k
}
Unexecuted instantiation: _localemodule.c:PyType_HasFeature
Unexecuted instantiation: _opcode.c:PyType_HasFeature
_operator.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
}
_stat.c:PyType_HasFeature
Line
Count
Source
818
1.44k
{
819
1.44k
    unsigned long flags;
820
1.44k
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
1.44k
    flags = PyType_GetFlags(type);
823
#else
824
    flags = type->tp_flags;
825
#endif
826
1.44k
    return ((flags & feature) != 0);
827
1.44k
}
Unexecuted instantiation: symtablemodule.c:PyType_HasFeature
Unexecuted instantiation: pwdmodule.c:PyType_HasFeature
getpath.c:PyType_HasFeature
Line
Count
Source
818
864
{
819
864
    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
864
    flags = type->tp_flags;
825
864
#endif
826
864
    return ((flags & feature) != 0);
827
864
}
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
623M
{
819
623M
    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
623M
    flags = type->tp_flags;
825
623M
#endif
826
623M
    return ((flags & feature) != 0);
827
623M
}
Unexecuted instantiation: boolobject.c:PyType_HasFeature
bytes_methods.c:PyType_HasFeature
Line
Count
Source
818
296k
{
819
296k
    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
296k
    flags = type->tp_flags;
825
296k
#endif
826
296k
    return ((flags & feature) != 0);
827
296k
}
bytearrayobject.c:PyType_HasFeature
Line
Count
Source
818
1.53M
{
819
1.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
1.53M
    flags = type->tp_flags;
825
1.53M
#endif
826
1.53M
    return ((flags & feature) != 0);
827
1.53M
}
Unexecuted instantiation: capsule.c:PyType_HasFeature
Unexecuted instantiation: cellobject.c:PyType_HasFeature
classobject.c:PyType_HasFeature
Line
Count
Source
818
30.7M
{
819
30.7M
    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
30.7M
    flags = type->tp_flags;
825
30.7M
#endif
826
30.7M
    return ((flags & feature) != 0);
827
30.7M
}
codeobject.c:PyType_HasFeature
Line
Count
Source
818
1.21M
{
819
1.21M
    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.21M
    flags = type->tp_flags;
825
1.21M
#endif
826
1.21M
    return ((flags & feature) != 0);
827
1.21M
}
Unexecuted instantiation: complexobject.c:PyType_HasFeature
descrobject.c:PyType_HasFeature
Line
Count
Source
818
8.41M
{
819
8.41M
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
8.41M
    flags = type->tp_flags;
825
8.41M
#endif
826
8.41M
    return ((flags & feature) != 0);
827
8.41M
}
enumobject.c:PyType_HasFeature
Line
Count
Source
818
36.6M
{
819
36.6M
    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.6M
    flags = type->tp_flags;
825
36.6M
#endif
826
36.6M
    return ((flags & feature) != 0);
827
36.6M
}
genobject.c:PyType_HasFeature
Line
Count
Source
818
1.96k
{
819
1.96k
    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.96k
    flags = type->tp_flags;
825
1.96k
#endif
826
1.96k
    return ((flags & feature) != 0);
827
1.96k
}
fileobject.c:PyType_HasFeature
Line
Count
Source
818
4.05k
{
819
4.05k
    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.05k
    flags = type->tp_flags;
825
4.05k
#endif
826
4.05k
    return ((flags & feature) != 0);
827
4.05k
}
Unexecuted instantiation: frameobject.c:PyType_HasFeature
funcobject.c:PyType_HasFeature
Line
Count
Source
818
47.5k
{
819
47.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
47.5k
    flags = type->tp_flags;
825
47.5k
#endif
826
47.5k
    return ((flags & feature) != 0);
827
47.5k
}
Unexecuted instantiation: interpolationobject.c:PyType_HasFeature
iterobject.c:PyType_HasFeature
Line
Count
Source
818
3.24M
{
819
3.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
3.24M
    flags = type->tp_flags;
825
3.24M
#endif
826
3.24M
    return ((flags & feature) != 0);
827
3.24M
}
Unexecuted instantiation: odictobject.c:PyType_HasFeature
methodobject.c:PyType_HasFeature
Line
Count
Source
818
192
{
819
192
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
192
    flags = type->tp_flags;
825
192
#endif
826
192
    return ((flags & feature) != 0);
827
192
}
Unexecuted instantiation: namespaceobject.c:PyType_HasFeature
Unexecuted instantiation: _contextvars.c:PyType_HasFeature
Unexecuted instantiation: Python-ast.c:PyType_HasFeature
Python-tokenize.c:PyType_HasFeature
Line
Count
Source
818
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: asdl.c:PyType_HasFeature
Unexecuted instantiation: assemble.c:PyType_HasFeature
Unexecuted instantiation: ast.c:PyType_HasFeature
ast_preprocess.c:PyType_HasFeature
Line
Count
Source
818
103
{
819
103
    unsigned long flags;
820
#ifdef Py_LIMITED_API
821
    // PyTypeObject is opaque in the limited C API
822
    flags = PyType_GetFlags(type);
823
#else
824
103
    flags = type->tp_flags;
825
103
#endif
826
103
    return ((flags & feature) != 0);
827
103
}
Unexecuted instantiation: ast_unparse.c:PyType_HasFeature
Unexecuted instantiation: critical_section.c:PyType_HasFeature
Unexecuted instantiation: crossinterp.c:PyType_HasFeature
Unexecuted instantiation: getcopyright.c:PyType_HasFeature
Unexecuted instantiation: getplatform.c:PyType_HasFeature
Unexecuted instantiation: getversion.c:PyType_HasFeature
Unexecuted instantiation: optimizer.c:PyType_HasFeature
Unexecuted instantiation: pathconfig.c:PyType_HasFeature
pegen.c:PyType_HasFeature
Line
Count
Source
818
46.6k
{
819
46.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
46.6k
    flags = type->tp_flags;
825
46.6k
#endif
826
46.6k
    return ((flags & feature) != 0);
827
46.6k
}
Unexecuted instantiation: pegen_errors.c:PyType_HasFeature
Unexecuted instantiation: parser.c:PyType_HasFeature
Unexecuted instantiation: buffer.c:PyType_HasFeature
Unexecuted instantiation: lexer.c:PyType_HasFeature
Unexecuted instantiation: state.c:PyType_HasFeature
readline_tokenizer.c:PyType_HasFeature
Line
Count
Source
818
102
{
819
102
    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
102
    flags = type->tp_flags;
825
102
#endif
826
102
    return ((flags & feature) != 0);
827
102
}
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
6.99G
#define PyType_FastSubclass(type, flag) PyType_HasFeature((type), (flag))
830
831
453M
static inline int PyType_Check(PyObject *op) {
832
453M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
453M
}
Unexecuted instantiation: bytesobject.c:PyType_Check
Unexecuted instantiation: call.c:PyType_Check
Unexecuted instantiation: exceptions.c:PyType_Check
genericaliasobject.c:PyType_Check
Line
Count
Source
831
74
static inline int PyType_Check(PyObject *op) {
832
74
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
74
}
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
70.8M
static inline int PyType_Check(PyObject *op) {
832
70.8M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
70.8M
}
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
1.31k
static inline int PyType_Check(PyObject *op) {
832
1.31k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
1.31k
}
weakrefobject.c:PyType_Check
Line
Count
Source
831
37.8M
static inline int PyType_Check(PyObject *op) {
832
37.8M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
37.8M
}
_warnings.c:PyType_Check
Line
Count
Source
831
176k
static inline int PyType_Check(PyObject *op) {
832
176k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
176k
}
bltinmodule.c:PyType_Check
Line
Count
Source
831
17.8k
static inline int PyType_Check(PyObject *op) {
832
17.8k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
17.8k
}
ceval.c:PyType_Check
Line
Count
Source
831
165M
static inline int PyType_Check(PyObject *op) {
832
165M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
165M
}
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
106M
static inline int PyType_Check(PyObject *op) {
832
106M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
106M
}
Unexecuted instantiation: flowgraph.c:PyType_Check
Unexecuted instantiation: frame.c:PyType_Check
Unexecuted instantiation: future.c:PyType_Check
Unexecuted instantiation: gc.c:PyType_Check
Unexecuted instantiation: gc_gil.c:PyType_Check
Unexecuted instantiation: getargs.c:PyType_Check
Unexecuted instantiation: ceval_gil.c:PyType_Check
Unexecuted instantiation: hamt.c:PyType_Check
Unexecuted instantiation: hashtable.c:PyType_Check
Unexecuted instantiation: import.c:PyType_Check
Unexecuted instantiation: importdl.c:PyType_Check
Unexecuted instantiation: initconfig.c:PyType_Check
Unexecuted instantiation: instrumentation.c:PyType_Check
Unexecuted instantiation: instruction_sequence.c:PyType_Check
Unexecuted instantiation: intrinsics.c:PyType_Check
Unexecuted instantiation: legacy_tracing.c:PyType_Check
Unexecuted instantiation: lock.c:PyType_Check
Unexecuted instantiation: marshal.c:PyType_Check
Unexecuted instantiation: modsupport.c:PyType_Check
Unexecuted instantiation: mysnprintf.c:PyType_Check
Unexecuted instantiation: parking_lot.c:PyType_Check
Unexecuted instantiation: preconfig.c:PyType_Check
Unexecuted instantiation: pyarena.c:PyType_Check
Unexecuted instantiation: pyctype.c:PyType_Check
Unexecuted instantiation: pyhash.c:PyType_Check
Unexecuted instantiation: pylifecycle.c:PyType_Check
Unexecuted instantiation: pymath.c:PyType_Check
Unexecuted instantiation: pystate.c:PyType_Check
Unexecuted instantiation: pythonrun.c:PyType_Check
Unexecuted instantiation: pytime.c:PyType_Check
Unexecuted instantiation: qsbr.c:PyType_Check
Unexecuted instantiation: bootstrap_hash.c:PyType_Check
specialize.c:PyType_Check
Line
Count
Source
831
3.16M
static inline int PyType_Check(PyObject *op) {
832
3.16M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
3.16M
}
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
5.37k
static inline int PyType_Check(PyObject *op) {
832
5.37k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
5.37k
}
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
61.3M
static inline int PyType_Check(PyObject *op) {
832
61.3M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
61.3M
}
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
8.25M
static inline int PyType_Check(PyObject *op) {
832
8.25M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
8.25M
}
Unexecuted instantiation: enumobject.c:PyType_Check
genobject.c:PyType_Check
Line
Count
Source
831
984
static inline int PyType_Check(PyObject *op) {
832
984
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
984
}
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
methodobject.c:PyType_Check
Line
Count
Source
831
96
static inline int PyType_Check(PyObject *op) {
832
96
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
833
96
}
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
687M
#  define PyType_Check(op) PyType_Check(_PyObject_CAST(op))
836
#endif
837
838
#define _PyType_CAST(op) \
839
275M
    (assert(PyType_Check(op)), _Py_CAST(PyTypeObject*, (op)))
840
841
59.0M
static inline int PyType_CheckExact(PyObject *op) {
842
59.0M
    return Py_IS_TYPE(op, &PyType_Type);
843
59.0M
}
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
59.0M
static inline int PyType_CheckExact(PyObject *op) {
842
59.0M
    return Py_IS_TYPE(op, &PyType_Type);
843
59.0M
}
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
59.0M
#  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