Coverage Report

Created: 2026-04-12 06:54

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
260M
    {                               \
91
260M
        { _Py_STATIC_IMMORTAL_INITIAL_REFCNT },    \
92
260M
        (type)                      \
93
260M
    },
94
#endif
95
96
#define PyVarObject_HEAD_INIT(type, size) \
97
260M
    {                                     \
98
260M
        PyObject_HEAD_INIT(type)          \
99
260M
        (size)                            \
100
260M
    },
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
        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
236G
#define _PyObject_CAST(op) _Py_CAST(PyObject*, (op))
172
173
#ifndef _Py_OPAQUE_PYOBJECT
174
struct PyVarObject {
175
    PyObject ob_base;
176
    Py_ssize_t ob_size; // Number of items in variable part. Part of stable ABI
177
};
178
#endif
179
typedef struct PyVarObject PyVarObject;
180
181
/* Cast argument to PyVarObject* type. */
182
15.9G
#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
590M
#define Py_Is(x, y) ((x) == (y))
188
189
PyAPI_DATA(PyTypeObject) PyLong_Type;
190
PyAPI_DATA(PyTypeObject) PyBool_Type;
191
192
/* Definitions for the stable ABI */
193
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= _Py_PACK_VERSION(3, 14)
194
PyAPI_FUNC(PyTypeObject*) Py_TYPE(PyObject *ob);
195
#endif
196
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= _Py_PACK_VERSION(3, 15)
197
PyAPI_FUNC(Py_ssize_t) Py_SIZE(PyObject *ob);
198
PyAPI_FUNC(int) Py_IS_TYPE(PyObject *ob, PyTypeObject *type);
199
PyAPI_FUNC(void) Py_SET_SIZE(PyVarObject *ob, Py_ssize_t size);
200
#endif
201
202
#ifndef _Py_OPAQUE_PYOBJECT
203
204
static inline void
205
Py_SET_TYPE(PyObject *ob, PyTypeObject *type)
206
1.42G
{
207
1.42G
    ob->ob_type = type;
208
1.42G
}
bytesobject.c:Py_SET_TYPE
Line
Count
Source
206
152M
{
207
152M
    ob->ob_type = type;
208
152M
}
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
206
1.64M
{
207
1.64M
    ob->ob_type = type;
208
1.64M
}
Unexecuted instantiation: listobject.c:Py_SET_TYPE
longobject.c:Py_SET_TYPE
Line
Count
Source
206
82.7M
{
207
82.7M
    ob->ob_type = type;
208
82.7M
}
Unexecuted instantiation: dictobject.c:Py_SET_TYPE
Unexecuted instantiation: memoryobject.c:Py_SET_TYPE
moduleobject.c:Py_SET_TYPE
Line
Count
Source
206
1.10k
{
207
1.10k
    ob->ob_type = type;
208
1.10k
}
object.c:Py_SET_TYPE
Line
Count
Source
206
3.14M
{
207
3.14M
    ob->ob_type = type;
208
3.14M
}
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
206
288
{
207
288
    ob->ob_type = type;
208
288
}
Unexecuted instantiation: templateobject.c:Py_SET_TYPE
Unexecuted instantiation: tupleobject.c:Py_SET_TYPE
typeobject.c:Py_SET_TYPE
Line
Count
Source
206
174M
{
207
174M
    ob->ob_type = type;
208
174M
}
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
206
499M
{
207
499M
    ob->ob_type = type;
208
499M
}
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
206
514M
{
207
514M
    ob->ob_type = type;
208
514M
}
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
206
11.1k
{
207
11.1k
    ob->ob_type = type;
208
11.1k
}
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
206
33
{
207
33
    ob->ob_type = type;
208
33
}
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
206
2.44k
{
207
2.44k
    ob->ob_type = type;
208
2.44k
}
Unexecuted instantiation: descrobject.c:Py_SET_TYPE
Unexecuted instantiation: enumobject.c:Py_SET_TYPE
Unexecuted instantiation: genobject.c:Py_SET_TYPE
Unexecuted instantiation: fileobject.c:Py_SET_TYPE
Unexecuted instantiation: frameobject.c:Py_SET_TYPE
Unexecuted instantiation: funcobject.c:Py_SET_TYPE
Unexecuted instantiation: interpolationobject.c:Py_SET_TYPE
Unexecuted instantiation: iterobject.c:Py_SET_TYPE
Unexecuted instantiation: lazyimportobject.c:Py_SET_TYPE
Unexecuted instantiation: odictobject.c:Py_SET_TYPE
Unexecuted instantiation: methodobject.c:Py_SET_TYPE
Unexecuted instantiation: namespaceobject.c:Py_SET_TYPE
Unexecuted instantiation: _contextvars.c:Py_SET_TYPE
Unexecuted instantiation: Python-ast.c:Py_SET_TYPE
Unexecuted instantiation: Python-tokenize.c:Py_SET_TYPE
Unexecuted instantiation: asdl.c:Py_SET_TYPE
Unexecuted instantiation: assemble.c:Py_SET_TYPE
Unexecuted instantiation: ast.c:Py_SET_TYPE
Unexecuted instantiation: ast_preprocess.c:Py_SET_TYPE
Unexecuted instantiation: ast_unparse.c:Py_SET_TYPE
Unexecuted instantiation: critical_section.c:Py_SET_TYPE
Unexecuted instantiation: crossinterp.c:Py_SET_TYPE
Unexecuted instantiation: getcopyright.c:Py_SET_TYPE
Unexecuted instantiation: getplatform.c:Py_SET_TYPE
Unexecuted instantiation: getversion.c:Py_SET_TYPE
Unexecuted instantiation: optimizer.c:Py_SET_TYPE
Unexecuted instantiation: pathconfig.c:Py_SET_TYPE
Unexecuted instantiation: pegen.c:Py_SET_TYPE
Unexecuted instantiation: pegen_errors.c:Py_SET_TYPE
Unexecuted instantiation: parser.c:Py_SET_TYPE
Unexecuted instantiation: buffer.c:Py_SET_TYPE
Unexecuted instantiation: lexer.c:Py_SET_TYPE
Unexecuted instantiation: state.c:Py_SET_TYPE
Unexecuted instantiation: readline_tokenizer.c:Py_SET_TYPE
Unexecuted instantiation: string_tokenizer.c:Py_SET_TYPE
Unexecuted instantiation: utf8_tokenizer.c:Py_SET_TYPE
Unexecuted instantiation: getcompiler.c:Py_SET_TYPE
Unexecuted instantiation: mystrtoul.c:Py_SET_TYPE
Unexecuted instantiation: token.c:Py_SET_TYPE
Unexecuted instantiation: action_helpers.c:Py_SET_TYPE
Unexecuted instantiation: string_parser.c:Py_SET_TYPE
209
210
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < _Py_PACK_VERSION(3, 11)
211
// Non-limited API & limited API 3.11 & below: use static inline functions and
212
// use _PyObject_CAST so that users don't need their own casts
213
40.5G
#  define Py_TYPE(ob) _Py_TYPE_impl(_PyObject_CAST(ob))
214
14.3G
#  define Py_SIZE(ob) _Py_SIZE_impl(_PyObject_CAST(ob))
215
22.3G
#  define Py_IS_TYPE(ob, type) _Py_IS_TYPE_impl(_PyObject_CAST(ob), (type))
216
1.52G
#  define Py_SET_SIZE(ob, size) _Py_SET_SIZE_impl(_PyVarObject_CAST(ob), (size))
217
1.42G
#  define Py_SET_TYPE(ob, type) Py_SET_TYPE(_PyObject_CAST(ob), type)
218
#elif Py_LIMITED_API+0 < _Py_PACK_VERSION(3, 15)
219
// Limited API 3.11-3.14: use static inline functions, without casts
220
#  define Py_SIZE(ob) _Py_SIZE_impl(ob)
221
#  define Py_IS_TYPE(ob, type) _Py_IS_TYPE_impl((ob), (type))
222
#  define Py_SET_SIZE(ob, size) _Py_SET_SIZE_impl((ob), (size))
223
#  if Py_LIMITED_API+0 < _Py_PACK_VERSION(3, 14)
224
//   Py_TYPE() is static inline only on Limited API 3.13 and below
225
#    define Py_TYPE(ob) _Py_TYPE_impl(ob)
226
#  endif
227
#else
228
// Limited API 3.15+: use function calls
229
#endif
230
231
static inline
232
PyTypeObject* _Py_TYPE_impl(PyObject *ob)
233
52.4G
{
234
52.4G
    return ob->ob_type;
235
52.4G
}
bytesobject.c:_Py_TYPE_impl
Line
Count
Source
233
466M
{
234
466M
    return ob->ob_type;
235
466M
}
call.c:_Py_TYPE_impl
Line
Count
Source
233
735M
{
234
735M
    return ob->ob_type;
235
735M
}
exceptions.c:_Py_TYPE_impl
Line
Count
Source
233
127M
{
234
127M
    return ob->ob_type;
235
127M
}
genericaliasobject.c:_Py_TYPE_impl
Line
Count
Source
233
4.23k
{
234
4.23k
    return ob->ob_type;
235
4.23k
}
floatobject.c:_Py_TYPE_impl
Line
Count
Source
233
34.3M
{
234
34.3M
    return ob->ob_type;
235
34.3M
}
listobject.c:_Py_TYPE_impl
Line
Count
Source
233
736M
{
234
736M
    return ob->ob_type;
235
736M
}
longobject.c:_Py_TYPE_impl
Line
Count
Source
233
1.98G
{
234
1.98G
    return ob->ob_type;
235
1.98G
}
dictobject.c:_Py_TYPE_impl
Line
Count
Source
233
6.33G
{
234
6.33G
    return ob->ob_type;
235
6.33G
}
memoryobject.c:_Py_TYPE_impl
Line
Count
Source
233
317k
{
234
317k
    return ob->ob_type;
235
317k
}
moduleobject.c:_Py_TYPE_impl
Line
Count
Source
233
38.2M
{
234
38.2M
    return ob->ob_type;
235
38.2M
}
object.c:_Py_TYPE_impl
Line
Count
Source
233
8.94G
{
234
8.94G
    return ob->ob_type;
235
8.94G
}
Unexecuted instantiation: obmalloc.c:_Py_TYPE_impl
Unexecuted instantiation: picklebufobject.c:_Py_TYPE_impl
rangeobject.c:_Py_TYPE_impl
Line
Count
Source
233
5.64M
{
234
5.64M
    return ob->ob_type;
235
5.64M
}
setobject.c:_Py_TYPE_impl
Line
Count
Source
233
461M
{
234
461M
    return ob->ob_type;
235
461M
}
sliceobject.c:_Py_TYPE_impl
Line
Count
Source
233
1.88M
{
234
1.88M
    return ob->ob_type;
235
1.88M
}
structseq.c:_Py_TYPE_impl
Line
Count
Source
233
1.11M
{
234
1.11M
    return ob->ob_type;
235
1.11M
}
templateobject.c:_Py_TYPE_impl
Line
Count
Source
233
16
{
234
16
    return ob->ob_type;
235
16
}
tupleobject.c:_Py_TYPE_impl
Line
Count
Source
233
3.62G
{
234
3.62G
    return ob->ob_type;
235
3.62G
}
typeobject.c:_Py_TYPE_impl
Line
Count
Source
233
1.83G
{
234
1.83G
    return ob->ob_type;
235
1.83G
}
typevarobject.c:_Py_TYPE_impl
Line
Count
Source
233
530k
{
234
530k
    return ob->ob_type;
235
530k
}
unicode_format.c:_Py_TYPE_impl
Line
Count
Source
233
128M
{
234
128M
    return ob->ob_type;
235
128M
}
unicode_formatter.c:_Py_TYPE_impl
Line
Count
Source
233
16.0M
{
234
16.0M
    return ob->ob_type;
235
16.0M
}
unicode_writer.c:_Py_TYPE_impl
Line
Count
Source
233
12.9M
{
234
12.9M
    return ob->ob_type;
235
12.9M
}
Unexecuted instantiation: unicodectype.c:_Py_TYPE_impl
unicodeobject.c:_Py_TYPE_impl
Line
Count
Source
233
2.37G
{
234
2.37G
    return ob->ob_type;
235
2.37G
}
unionobject.c:_Py_TYPE_impl
Line
Count
Source
233
6.89k
{
234
6.89k
    return ob->ob_type;
235
6.89k
}
weakrefobject.c:_Py_TYPE_impl
Line
Count
Source
233
160M
{
234
160M
    return ob->ob_type;
235
160M
}
_warnings.c:_Py_TYPE_impl
Line
Count
Source
233
32.1M
{
234
32.1M
    return ob->ob_type;
235
32.1M
}
bltinmodule.c:_Py_TYPE_impl
Line
Count
Source
233
2.40G
{
234
2.40G
    return ob->ob_type;
235
2.40G
}
ceval.c:_Py_TYPE_impl
Line
Count
Source
233
12.1G
{
234
12.1G
    return ob->ob_type;
235
12.1G
}
codecs.c:_Py_TYPE_impl
Line
Count
Source
233
9.41M
{
234
9.41M
    return ob->ob_type;
235
9.41M
}
codegen.c:_Py_TYPE_impl
Line
Count
Source
233
341
{
234
341
    return ob->ob_type;
235
341
}
compile.c:_Py_TYPE_impl
Line
Count
Source
233
114k
{
234
114k
    return ob->ob_type;
235
114k
}
context.c:_Py_TYPE_impl
Line
Count
Source
233
262k
{
234
262k
    return ob->ob_type;
235
262k
}
errors.c:_Py_TYPE_impl
Line
Count
Source
233
563M
{
234
563M
    return ob->ob_type;
235
563M
}
flowgraph.c:_Py_TYPE_impl
Line
Count
Source
233
44.4k
{
234
44.4k
    return ob->ob_type;
235
44.4k
}
Unexecuted instantiation: frame.c:_Py_TYPE_impl
Unexecuted instantiation: future.c:_Py_TYPE_impl
gc.c:_Py_TYPE_impl
Line
Count
Source
233
2.32G
{
234
2.32G
    return ob->ob_type;
235
2.32G
}
Unexecuted instantiation: gc_gil.c:_Py_TYPE_impl
getargs.c:_Py_TYPE_impl
Line
Count
Source
233
31.8M
{
234
31.8M
    return ob->ob_type;
235
31.8M
}
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
233
4.32M
{
234
4.32M
    return ob->ob_type;
235
4.32M
}
importdl.c:_Py_TYPE_impl
Line
Count
Source
233
2.34k
{
234
2.34k
    return ob->ob_type;
235
2.34k
}
initconfig.c:_Py_TYPE_impl
Line
Count
Source
233
1.00k
{
234
1.00k
    return ob->ob_type;
235
1.00k
}
Unexecuted instantiation: instrumentation.c:_Py_TYPE_impl
Unexecuted instantiation: instruction_sequence.c:_Py_TYPE_impl
intrinsics.c:_Py_TYPE_impl
Line
Count
Source
233
72.2k
{
234
72.2k
    return ob->ob_type;
235
72.2k
}
Unexecuted instantiation: legacy_tracing.c:_Py_TYPE_impl
Unexecuted instantiation: lock.c:_Py_TYPE_impl
marshal.c:_Py_TYPE_impl
Line
Count
Source
233
233k
{
234
233k
    return ob->ob_type;
235
233k
}
modsupport.c:_Py_TYPE_impl
Line
Count
Source
233
16.3M
{
234
16.3M
    return ob->ob_type;
235
16.3M
}
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
233
36
{
234
36
    return ob->ob_type;
235
36
}
Unexecuted instantiation: pymath.c:_Py_TYPE_impl
Unexecuted instantiation: pystate.c:_Py_TYPE_impl
pythonrun.c:_Py_TYPE_impl
Line
Count
Source
233
121k
{
234
121k
    return ob->ob_type;
235
121k
}
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
233
209M
{
234
209M
    return ob->ob_type;
235
209M
}
structmember.c:_Py_TYPE_impl
Line
Count
Source
233
5
{
234
5
    return ob->ob_type;
235
5
}
symtable.c:_Py_TYPE_impl
Line
Count
Source
233
76.2k
{
234
76.2k
    return ob->ob_type;
235
76.2k
}
sysmodule.c:_Py_TYPE_impl
Line
Count
Source
233
1.87M
{
234
1.87M
    return ob->ob_type;
235
1.87M
}
Unexecuted instantiation: thread.c:_Py_TYPE_impl
traceback.c:_Py_TYPE_impl
Line
Count
Source
233
94.1M
{
234
94.1M
    return ob->ob_type;
235
94.1M
}
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
233
6.52M
{
234
6.52M
    return ob->ob_type;
235
6.52M
}
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
233
77.2k
{
234
77.2k
    return ob->ob_type;
235
77.2k
}
_codecsmodule.c:_Py_TYPE_impl
Line
Count
Source
233
1.96M
{
234
1.96M
    return ob->ob_type;
235
1.96M
}
_collectionsmodule.c:_Py_TYPE_impl
Line
Count
Source
233
223k
{
234
223k
    return ob->ob_type;
235
223k
}
Unexecuted instantiation: errnomodule.c:_Py_TYPE_impl
_iomodule.c:_Py_TYPE_impl
Line
Count
Source
233
69.8k
{
234
69.8k
    return ob->ob_type;
235
69.8k
}
iobase.c:_Py_TYPE_impl
Line
Count
Source
233
56.9k
{
234
56.9k
    return ob->ob_type;
235
56.9k
}
fileio.c:_Py_TYPE_impl
Line
Count
Source
233
106k
{
234
106k
    return ob->ob_type;
235
106k
}
bytesio.c:_Py_TYPE_impl
Line
Count
Source
233
106k
{
234
106k
    return ob->ob_type;
235
106k
}
bufferedio.c:_Py_TYPE_impl
Line
Count
Source
233
2.57M
{
234
2.57M
    return ob->ob_type;
235
2.57M
}
textio.c:_Py_TYPE_impl
Line
Count
Source
233
1.12M
{
234
1.12M
    return ob->ob_type;
235
1.12M
}
stringio.c:_Py_TYPE_impl
Line
Count
Source
233
24.0M
{
234
24.0M
    return ob->ob_type;
235
24.0M
}
itertoolsmodule.c:_Py_TYPE_impl
Line
Count
Source
233
151k
{
234
151k
    return ob->ob_type;
235
151k
}
sre.c:_Py_TYPE_impl
Line
Count
Source
233
207M
{
234
207M
    return ob->ob_type;
235
207M
}
Unexecuted instantiation: _sysconfig.c:_Py_TYPE_impl
_threadmodule.c:_Py_TYPE_impl
Line
Count
Source
233
27.2M
{
234
27.2M
    return ob->ob_type;
235
27.2M
}
timemodule.c:_Py_TYPE_impl
Line
Count
Source
233
384
{
234
384
    return ob->ob_type;
235
384
}
Unexecuted instantiation: _typesmodule.c:_Py_TYPE_impl
Unexecuted instantiation: _typingmodule.c:_Py_TYPE_impl
_weakref.c:_Py_TYPE_impl
Line
Count
Source
233
43.4k
{
234
43.4k
    return ob->ob_type;
235
43.4k
}
_abc.c:_Py_TYPE_impl
Line
Count
Source
233
450k
{
234
450k
    return ob->ob_type;
235
450k
}
_functoolsmodule.c:_Py_TYPE_impl
Line
Count
Source
233
2.18M
{
234
2.18M
    return ob->ob_type;
235
2.18M
}
Unexecuted instantiation: _localemodule.c:_Py_TYPE_impl
Unexecuted instantiation: _opcode.c:_Py_TYPE_impl
_operator.c:_Py_TYPE_impl
Line
Count
Source
233
1.55M
{
234
1.55M
    return ob->ob_type;
235
1.55M
}
_stat.c:_Py_TYPE_impl
Line
Count
Source
233
423
{
234
423
    return ob->ob_type;
235
423
}
Unexecuted instantiation: symtablemodule.c:_Py_TYPE_impl
Unexecuted instantiation: pwdmodule.c:_Py_TYPE_impl
getpath.c:_Py_TYPE_impl
Line
Count
Source
233
1.00k
{
234
1.00k
    return ob->ob_type;
235
1.00k
}
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
233
5.03G
{
234
5.03G
    return ob->ob_type;
235
5.03G
}
Unexecuted instantiation: boolobject.c:_Py_TYPE_impl
bytes_methods.c:_Py_TYPE_impl
Line
Count
Source
233
1.05M
{
234
1.05M
    return ob->ob_type;
235
1.05M
}
bytearrayobject.c:_Py_TYPE_impl
Line
Count
Source
233
443M
{
234
443M
    return ob->ob_type;
235
443M
}
capsule.c:_Py_TYPE_impl
Line
Count
Source
233
9.89k
{
234
9.89k
    return ob->ob_type;
235
9.89k
}
cellobject.c:_Py_TYPE_impl
Line
Count
Source
233
9.78k
{
234
9.78k
    return ob->ob_type;
235
9.78k
}
classobject.c:_Py_TYPE_impl
Line
Count
Source
233
518
{
234
518
    return ob->ob_type;
235
518
}
codeobject.c:_Py_TYPE_impl
Line
Count
Source
233
6.29M
{
234
6.29M
    return ob->ob_type;
235
6.29M
}
complexobject.c:_Py_TYPE_impl
Line
Count
Source
233
7.50k
{
234
7.50k
    return ob->ob_type;
235
7.50k
}
descrobject.c:_Py_TYPE_impl
Line
Count
Source
233
668M
{
234
668M
    return ob->ob_type;
235
668M
}
enumobject.c:_Py_TYPE_impl
Line
Count
Source
233
71.4M
{
234
71.4M
    return ob->ob_type;
235
71.4M
}
genobject.c:_Py_TYPE_impl
Line
Count
Source
233
58.4M
{
234
58.4M
    return ob->ob_type;
235
58.4M
}
fileobject.c:_Py_TYPE_impl
Line
Count
Source
233
6.35k
{
234
6.35k
    return ob->ob_type;
235
6.35k
}
frameobject.c:_Py_TYPE_impl
Line
Count
Source
233
88
{
234
88
    return ob->ob_type;
235
88
}
funcobject.c:_Py_TYPE_impl
Line
Count
Source
233
133k
{
234
133k
    return ob->ob_type;
235
133k
}
Unexecuted instantiation: interpolationobject.c:_Py_TYPE_impl
iterobject.c:_Py_TYPE_impl
Line
Count
Source
233
3.23M
{
234
3.23M
    return ob->ob_type;
235
3.23M
}
lazyimportobject.c:_Py_TYPE_impl
Line
Count
Source
233
414
{
234
414
    return ob->ob_type;
235
414
}
odictobject.c:_Py_TYPE_impl
Line
Count
Source
233
30.8k
{
234
30.8k
    return ob->ob_type;
235
30.8k
}
methodobject.c:_Py_TYPE_impl
Line
Count
Source
233
250k
{
234
250k
    return ob->ob_type;
235
250k
}
namespaceobject.c:_Py_TYPE_impl
Line
Count
Source
233
552
{
234
552
    return ob->ob_type;
235
552
}
Unexecuted instantiation: _contextvars.c:_Py_TYPE_impl
Python-ast.c:_Py_TYPE_impl
Line
Count
Source
233
930k
{
234
930k
    return ob->ob_type;
235
930k
}
Python-tokenize.c:_Py_TYPE_impl
Line
Count
Source
233
24
{
234
24
    return ob->ob_type;
235
24
}
Unexecuted instantiation: asdl.c:_Py_TYPE_impl
Unexecuted instantiation: assemble.c:_Py_TYPE_impl
ast.c:_Py_TYPE_impl
Line
Count
Source
233
6.40k
{
234
6.40k
    return ob->ob_type;
235
6.40k
}
ast_preprocess.c:_Py_TYPE_impl
Line
Count
Source
233
105
{
234
105
    return ob->ob_type;
235
105
}
Unexecuted instantiation: ast_unparse.c:_Py_TYPE_impl
Unexecuted instantiation: critical_section.c:_Py_TYPE_impl
crossinterp.c:_Py_TYPE_impl
Line
Count
Source
233
36
{
234
36
    return ob->ob_type;
235
36
}
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
233
144k
{
234
144k
    return ob->ob_type;
235
144k
}
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
233
344
{
234
344
    return ob->ob_type;
235
344
}
Unexecuted instantiation: string_tokenizer.c:_Py_TYPE_impl
Unexecuted instantiation: utf8_tokenizer.c:_Py_TYPE_impl
Unexecuted instantiation: getcompiler.c:_Py_TYPE_impl
Unexecuted instantiation: mystrtoul.c:_Py_TYPE_impl
Unexecuted instantiation: token.c:_Py_TYPE_impl
action_helpers.c:_Py_TYPE_impl
Line
Count
Source
233
151k
{
234
151k
    return ob->ob_type;
235
151k
}
Unexecuted instantiation: string_parser.c:_Py_TYPE_impl
236
237
// bpo-39573: The Py_SET_SIZE() function must be used to set an object size.
238
static inline Py_ssize_t
239
_Py_SIZE_impl(PyObject *ob)
240
14.4G
{
241
14.4G
    assert(Py_TYPE(ob) != &PyLong_Type);
242
14.4G
    assert(Py_TYPE(ob) != &PyBool_Type);
243
14.4G
    return  _PyVarObject_CAST(ob)->ob_size;
244
14.4G
}
bytesobject.c:_Py_SIZE_impl
Line
Count
Source
240
509M
{
241
509M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
509M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
509M
    return  _PyVarObject_CAST(ob)->ob_size;
244
509M
}
call.c:_Py_SIZE_impl
Line
Count
Source
240
112M
{
241
112M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
112M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
112M
    return  _PyVarObject_CAST(ob)->ob_size;
244
112M
}
exceptions.c:_Py_SIZE_impl
Line
Count
Source
240
21.9M
{
241
21.9M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
21.9M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
21.9M
    return  _PyVarObject_CAST(ob)->ob_size;
244
21.9M
}
genericaliasobject.c:_Py_SIZE_impl
Line
Count
Source
240
740
{
241
740
    assert(Py_TYPE(ob) != &PyLong_Type);
242
740
    assert(Py_TYPE(ob) != &PyBool_Type);
243
740
    return  _PyVarObject_CAST(ob)->ob_size;
244
740
}
floatobject.c:_Py_SIZE_impl
Line
Count
Source
240
713k
{
241
713k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
713k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
713k
    return  _PyVarObject_CAST(ob)->ob_size;
244
713k
}
listobject.c:_Py_SIZE_impl
Line
Count
Source
240
2.16G
{
241
2.16G
    assert(Py_TYPE(ob) != &PyLong_Type);
242
2.16G
    assert(Py_TYPE(ob) != &PyBool_Type);
243
2.16G
    return  _PyVarObject_CAST(ob)->ob_size;
244
2.16G
}
longobject.c:_Py_SIZE_impl
Line
Count
Source
240
17.5M
{
241
17.5M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
17.5M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
17.5M
    return  _PyVarObject_CAST(ob)->ob_size;
244
17.5M
}
dictobject.c:_Py_SIZE_impl
Line
Count
Source
240
142k
{
241
142k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
142k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
142k
    return  _PyVarObject_CAST(ob)->ob_size;
244
142k
}
memoryobject.c:_Py_SIZE_impl
Line
Count
Source
240
126k
{
241
126k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
126k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
126k
    return  _PyVarObject_CAST(ob)->ob_size;
244
126k
}
moduleobject.c:_Py_SIZE_impl
Line
Count
Source
240
6.80k
{
241
6.80k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
6.80k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
6.80k
    return  _PyVarObject_CAST(ob)->ob_size;
244
6.80k
}
object.c:_Py_SIZE_impl
Line
Count
Source
240
6.99M
{
241
6.99M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
6.99M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
6.99M
    return  _PyVarObject_CAST(ob)->ob_size;
244
6.99M
}
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
240
524k
{
241
524k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
524k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
524k
    return  _PyVarObject_CAST(ob)->ob_size;
244
524k
}
Unexecuted instantiation: templateobject.c:_Py_SIZE_impl
tupleobject.c:_Py_SIZE_impl
Line
Count
Source
240
8.36G
{
241
8.36G
    assert(Py_TYPE(ob) != &PyLong_Type);
242
8.36G
    assert(Py_TYPE(ob) != &PyBool_Type);
243
8.36G
    return  _PyVarObject_CAST(ob)->ob_size;
244
8.36G
}
typeobject.c:_Py_SIZE_impl
Line
Count
Source
240
971M
{
241
971M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
971M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
971M
    return  _PyVarObject_CAST(ob)->ob_size;
244
971M
}
typevarobject.c:_Py_SIZE_impl
Line
Count
Source
240
1.13k
{
241
1.13k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
1.13k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
1.13k
    return  _PyVarObject_CAST(ob)->ob_size;
244
1.13k
}
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
240
94.4M
{
241
94.4M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
94.4M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
94.4M
    return  _PyVarObject_CAST(ob)->ob_size;
244
94.4M
}
unionobject.c:_Py_SIZE_impl
Line
Count
Source
240
1.74k
{
241
1.74k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
1.74k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
1.74k
    return  _PyVarObject_CAST(ob)->ob_size;
244
1.74k
}
Unexecuted instantiation: weakrefobject.c:_Py_SIZE_impl
_warnings.c:_Py_SIZE_impl
Line
Count
Source
240
3.85M
{
241
3.85M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
3.85M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
3.85M
    return  _PyVarObject_CAST(ob)->ob_size;
244
3.85M
}
bltinmodule.c:_Py_SIZE_impl
Line
Count
Source
240
94.4M
{
241
94.4M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
94.4M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
94.4M
    return  _PyVarObject_CAST(ob)->ob_size;
244
94.4M
}
ceval.c:_Py_SIZE_impl
Line
Count
Source
240
1.51G
{
241
1.51G
    assert(Py_TYPE(ob) != &PyLong_Type);
242
1.51G
    assert(Py_TYPE(ob) != &PyBool_Type);
243
1.51G
    return  _PyVarObject_CAST(ob)->ob_size;
244
1.51G
}
codecs.c:_Py_SIZE_impl
Line
Count
Source
240
1.59M
{
241
1.59M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
1.59M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
1.59M
    return  _PyVarObject_CAST(ob)->ob_size;
244
1.59M
}
codegen.c:_Py_SIZE_impl
Line
Count
Source
240
179
{
241
179
    assert(Py_TYPE(ob) != &PyLong_Type);
242
179
    assert(Py_TYPE(ob) != &PyBool_Type);
243
179
    return  _PyVarObject_CAST(ob)->ob_size;
244
179
}
compile.c:_Py_SIZE_impl
Line
Count
Source
240
33.9k
{
241
33.9k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
33.9k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
33.9k
    return  _PyVarObject_CAST(ob)->ob_size;
244
33.9k
}
Unexecuted instantiation: context.c:_Py_SIZE_impl
Unexecuted instantiation: errors.c:_Py_SIZE_impl
flowgraph.c:_Py_SIZE_impl
Line
Count
Source
240
32.5k
{
241
32.5k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
32.5k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
32.5k
    return  _PyVarObject_CAST(ob)->ob_size;
244
32.5k
}
Unexecuted instantiation: frame.c:_Py_SIZE_impl
Unexecuted instantiation: future.c:_Py_SIZE_impl
gc.c:_Py_SIZE_impl
Line
Count
Source
240
387k
{
241
387k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
387k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
387k
    return  _PyVarObject_CAST(ob)->ob_size;
244
387k
}
Unexecuted instantiation: gc_gil.c:_Py_SIZE_impl
getargs.c:_Py_SIZE_impl
Line
Count
Source
240
22.1M
{
241
22.1M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
22.1M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
22.1M
    return  _PyVarObject_CAST(ob)->ob_size;
244
22.1M
}
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
240
438
{
241
438
    assert(Py_TYPE(ob) != &PyLong_Type);
242
438
    assert(Py_TYPE(ob) != &PyBool_Type);
243
438
    return  _PyVarObject_CAST(ob)->ob_size;
244
438
}
Unexecuted instantiation: importdl.c:_Py_SIZE_impl
initconfig.c:_Py_SIZE_impl
Line
Count
Source
240
144
{
241
144
    assert(Py_TYPE(ob) != &PyLong_Type);
242
144
    assert(Py_TYPE(ob) != &PyBool_Type);
243
144
    return  _PyVarObject_CAST(ob)->ob_size;
244
144
}
Unexecuted instantiation: instrumentation.c:_Py_SIZE_impl
Unexecuted instantiation: instruction_sequence.c:_Py_SIZE_impl
intrinsics.c:_Py_SIZE_impl
Line
Count
Source
240
9.20M
{
241
9.20M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
9.20M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
9.20M
    return  _PyVarObject_CAST(ob)->ob_size;
244
9.20M
}
Unexecuted instantiation: legacy_tracing.c:_Py_SIZE_impl
Unexecuted instantiation: lock.c:_Py_SIZE_impl
marshal.c:_Py_SIZE_impl
Line
Count
Source
240
1.90M
{
241
1.90M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
1.90M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
1.90M
    return  _PyVarObject_CAST(ob)->ob_size;
244
1.90M
}
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
240
19.4k
{
241
19.4k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
19.4k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
19.4k
    return  _PyVarObject_CAST(ob)->ob_size;
244
19.4k
}
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
240
9.44k
{
241
9.44k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
9.44k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
9.44k
    return  _PyVarObject_CAST(ob)->ob_size;
244
9.44k
}
Unexecuted instantiation: structmember.c:_Py_SIZE_impl
symtable.c:_Py_SIZE_impl
Line
Count
Source
240
36.7k
{
241
36.7k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
36.7k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
36.7k
    return  _PyVarObject_CAST(ob)->ob_size;
244
36.7k
}
Unexecuted instantiation: sysmodule.c:_Py_SIZE_impl
Unexecuted instantiation: thread.c:_Py_SIZE_impl
Unexecuted instantiation: traceback.c:_Py_SIZE_impl
Unexecuted instantiation: tracemalloc.c:_Py_SIZE_impl
Unexecuted instantiation: getopt.c:_Py_SIZE_impl
Unexecuted instantiation: pystrcmp.c:_Py_SIZE_impl
Unexecuted instantiation: pystrtod.c:_Py_SIZE_impl
Unexecuted instantiation: pystrhex.c:_Py_SIZE_impl
Unexecuted instantiation: dtoa.c:_Py_SIZE_impl
Unexecuted instantiation: fileutils.c:_Py_SIZE_impl
Unexecuted instantiation: suggestions.c:_Py_SIZE_impl
Unexecuted instantiation: perf_trampoline.c:_Py_SIZE_impl
Unexecuted instantiation: perf_jit_trampoline.c:_Py_SIZE_impl
Unexecuted instantiation: remote_debugging.c:_Py_SIZE_impl
Unexecuted instantiation: dynload_shlib.c:_Py_SIZE_impl
Unexecuted instantiation: config.c:_Py_SIZE_impl
Unexecuted instantiation: gcmodule.c:_Py_SIZE_impl
Unexecuted instantiation: _asynciomodule.c:_Py_SIZE_impl
atexitmodule.c:_Py_SIZE_impl
Line
Count
Source
240
12
{
241
12
    assert(Py_TYPE(ob) != &PyLong_Type);
242
12
    assert(Py_TYPE(ob) != &PyBool_Type);
243
12
    return  _PyVarObject_CAST(ob)->ob_size;
244
12
}
Unexecuted instantiation: faulthandler.c:_Py_SIZE_impl
posixmodule.c:_Py_SIZE_impl
Line
Count
Source
240
1.95M
{
241
1.95M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
1.95M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
1.95M
    return  _PyVarObject_CAST(ob)->ob_size;
244
1.95M
}
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
240
33.7k
{
241
33.7k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
33.7k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
33.7k
    return  _PyVarObject_CAST(ob)->ob_size;
244
33.7k
}
Unexecuted instantiation: _codecsmodule.c:_Py_SIZE_impl
_collectionsmodule.c:_Py_SIZE_impl
Line
Count
Source
240
167M
{
241
167M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
167M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
167M
    return  _PyVarObject_CAST(ob)->ob_size;
244
167M
}
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
240
31.8k
{
241
31.8k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
31.8k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
31.8k
    return  _PyVarObject_CAST(ob)->ob_size;
244
31.8k
}
bytesio.c:_Py_SIZE_impl
Line
Count
Source
240
260k
{
241
260k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
260k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
260k
    return  _PyVarObject_CAST(ob)->ob_size;
244
260k
}
bufferedio.c:_Py_SIZE_impl
Line
Count
Source
240
36.8k
{
241
36.8k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
36.8k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
36.8k
    return  _PyVarObject_CAST(ob)->ob_size;
244
36.8k
}
textio.c:_Py_SIZE_impl
Line
Count
Source
240
18.4k
{
241
18.4k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
18.4k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
18.4k
    return  _PyVarObject_CAST(ob)->ob_size;
244
18.4k
}
stringio.c:_Py_SIZE_impl
Line
Count
Source
240
38.3k
{
241
38.3k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
38.3k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
38.3k
    return  _PyVarObject_CAST(ob)->ob_size;
244
38.3k
}
itertoolsmodule.c:_Py_SIZE_impl
Line
Count
Source
240
7.47k
{
241
7.47k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
7.47k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
7.47k
    return  _PyVarObject_CAST(ob)->ob_size;
244
7.47k
}
sre.c:_Py_SIZE_impl
Line
Count
Source
240
37.0M
{
241
37.0M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
37.0M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
37.0M
    return  _PyVarObject_CAST(ob)->ob_size;
244
37.0M
}
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
240
60.5k
{
241
60.5k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
60.5k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
60.5k
    return  _PyVarObject_CAST(ob)->ob_size;
244
60.5k
}
_functoolsmodule.c:_Py_SIZE_impl
Line
Count
Source
240
352k
{
241
352k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
352k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
352k
    return  _PyVarObject_CAST(ob)->ob_size;
244
352k
}
Unexecuted instantiation: _localemodule.c:_Py_SIZE_impl
Unexecuted instantiation: _opcode.c:_Py_SIZE_impl
_operator.c:_Py_SIZE_impl
Line
Count
Source
240
1.27M
{
241
1.27M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
1.27M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
1.27M
    return  _PyVarObject_CAST(ob)->ob_size;
244
1.27M
}
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
240
324
{
241
324
    assert(Py_TYPE(ob) != &PyLong_Type);
242
324
    assert(Py_TYPE(ob) != &PyBool_Type);
243
324
    return  _PyVarObject_CAST(ob)->ob_size;
244
324
}
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
240
8.21M
{
241
8.21M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
8.21M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
8.21M
    return  _PyVarObject_CAST(ob)->ob_size;
244
8.21M
}
Unexecuted instantiation: boolobject.c:_Py_SIZE_impl
bytes_methods.c:_Py_SIZE_impl
Line
Count
Source
240
44.0k
{
241
44.0k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
44.0k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
44.0k
    return  _PyVarObject_CAST(ob)->ob_size;
244
44.0k
}
bytearrayobject.c:_Py_SIZE_impl
Line
Count
Source
240
272M
{
241
272M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
272M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
272M
    return  _PyVarObject_CAST(ob)->ob_size;
244
272M
}
Unexecuted instantiation: capsule.c:_Py_SIZE_impl
Unexecuted instantiation: cellobject.c:_Py_SIZE_impl
classobject.c:_Py_SIZE_impl
Line
Count
Source
240
40
{
241
40
    assert(Py_TYPE(ob) != &PyLong_Type);
242
40
    assert(Py_TYPE(ob) != &PyBool_Type);
243
40
    return  _PyVarObject_CAST(ob)->ob_size;
244
40
}
codeobject.c:_Py_SIZE_impl
Line
Count
Source
240
4.88M
{
241
4.88M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
4.88M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
4.88M
    return  _PyVarObject_CAST(ob)->ob_size;
244
4.88M
}
Unexecuted instantiation: complexobject.c:_Py_SIZE_impl
descrobject.c:_Py_SIZE_impl
Line
Count
Source
240
15.5M
{
241
15.5M
    assert(Py_TYPE(ob) != &PyLong_Type);
242
15.5M
    assert(Py_TYPE(ob) != &PyBool_Type);
243
15.5M
    return  _PyVarObject_CAST(ob)->ob_size;
244
15.5M
}
enumobject.c:_Py_SIZE_impl
Line
Count
Source
240
6.03k
{
241
6.03k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
6.03k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
6.03k
    return  _PyVarObject_CAST(ob)->ob_size;
244
6.03k
}
Unexecuted instantiation: genobject.c:_Py_SIZE_impl
Unexecuted instantiation: fileobject.c:_Py_SIZE_impl
frameobject.c:_Py_SIZE_impl
Line
Count
Source
240
44
{
241
44
    assert(Py_TYPE(ob) != &PyLong_Type);
242
44
    assert(Py_TYPE(ob) != &PyBool_Type);
243
44
    return  _PyVarObject_CAST(ob)->ob_size;
244
44
}
funcobject.c:_Py_SIZE_impl
Line
Count
Source
240
7.79k
{
241
7.79k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
7.79k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
7.79k
    return  _PyVarObject_CAST(ob)->ob_size;
244
7.79k
}
Unexecuted instantiation: interpolationobject.c:_Py_SIZE_impl
Unexecuted instantiation: iterobject.c:_Py_SIZE_impl
Unexecuted instantiation: lazyimportobject.c:_Py_SIZE_impl
odictobject.c:_Py_SIZE_impl
Line
Count
Source
240
23.2k
{
241
23.2k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
23.2k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
23.2k
    return  _PyVarObject_CAST(ob)->ob_size;
244
23.2k
}
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
240
974
{
241
974
    assert(Py_TYPE(ob) != &PyLong_Type);
242
974
    assert(Py_TYPE(ob) != &PyBool_Type);
243
974
    return  _PyVarObject_CAST(ob)->ob_size;
244
974
}
Python-tokenize.c:_Py_SIZE_impl
Line
Count
Source
240
20
{
241
20
    assert(Py_TYPE(ob) != &PyLong_Type);
242
20
    assert(Py_TYPE(ob) != &PyBool_Type);
243
20
    return  _PyVarObject_CAST(ob)->ob_size;
244
20
}
Unexecuted instantiation: asdl.c:_Py_SIZE_impl
assemble.c:_Py_SIZE_impl
Line
Count
Source
240
379k
{
241
379k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
379k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
379k
    return  _PyVarObject_CAST(ob)->ob_size;
244
379k
}
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
240
352
{
241
352
    assert(Py_TYPE(ob) != &PyLong_Type);
242
352
    assert(Py_TYPE(ob) != &PyBool_Type);
243
352
    return  _PyVarObject_CAST(ob)->ob_size;
244
352
}
Unexecuted instantiation: state.c:_Py_SIZE_impl
readline_tokenizer.c:_Py_SIZE_impl
Line
Count
Source
240
4
{
241
4
    assert(Py_TYPE(ob) != &PyLong_Type);
242
4
    assert(Py_TYPE(ob) != &PyBool_Type);
243
4
    return  _PyVarObject_CAST(ob)->ob_size;
244
4
}
Unexecuted instantiation: string_tokenizer.c:_Py_SIZE_impl
Unexecuted instantiation: utf8_tokenizer.c:_Py_SIZE_impl
Unexecuted instantiation: getcompiler.c:_Py_SIZE_impl
Unexecuted instantiation: mystrtoul.c:_Py_SIZE_impl
Unexecuted instantiation: token.c:_Py_SIZE_impl
action_helpers.c:_Py_SIZE_impl
Line
Count
Source
240
4.70k
{
241
4.70k
    assert(Py_TYPE(ob) != &PyLong_Type);
242
4.70k
    assert(Py_TYPE(ob) != &PyBool_Type);
243
4.70k
    return  _PyVarObject_CAST(ob)->ob_size;
244
4.70k
}
Unexecuted instantiation: string_parser.c:_Py_SIZE_impl
245
246
static inline int
247
_Py_IS_TYPE_impl(PyObject *ob, PyTypeObject *type)
248
14.7G
{
249
14.7G
    return Py_TYPE(ob) == type;
250
14.7G
}
bytesobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
92.9M
{
249
92.9M
    return Py_TYPE(ob) == type;
250
92.9M
}
Unexecuted instantiation: call.c:_Py_IS_TYPE_impl
exceptions.c:_Py_IS_TYPE_impl
Line
Count
Source
248
69.0M
{
249
69.0M
    return Py_TYPE(ob) == type;
250
69.0M
}
genericaliasobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
244
{
249
244
    return Py_TYPE(ob) == type;
250
244
}
floatobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
20.4M
{
249
20.4M
    return Py_TYPE(ob) == type;
250
20.4M
}
listobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
371M
{
249
371M
    return Py_TYPE(ob) == type;
250
371M
}
longobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
742M
{
249
742M
    return Py_TYPE(ob) == type;
250
742M
}
dictobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
3.90G
{
249
3.90G
    return Py_TYPE(ob) == type;
250
3.90G
}
memoryobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
161k
{
249
161k
    return Py_TYPE(ob) == type;
250
161k
}
moduleobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
38.2M
{
249
38.2M
    return Py_TYPE(ob) == type;
250
38.2M
}
object.c:_Py_IS_TYPE_impl
Line
Count
Source
248
711M
{
249
711M
    return Py_TYPE(ob) == type;
250
711M
}
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
248
1.88M
{
249
1.88M
    return Py_TYPE(ob) == type;
250
1.88M
}
setobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
457M
{
249
457M
    return Py_TYPE(ob) == type;
250
457M
}
sliceobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
100
{
249
100
    return Py_TYPE(ob) == type;
250
100
}
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
248
651M
{
249
651M
    return Py_TYPE(ob) == type;
250
651M
}
typeobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
229M
{
249
229M
    return Py_TYPE(ob) == type;
250
229M
}
typevarobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
16
{
249
16
    return Py_TYPE(ob) == type;
250
16
}
unicode_format.c:_Py_IS_TYPE_impl
Line
Count
Source
248
52.0M
{
249
52.0M
    return Py_TYPE(ob) == type;
250
52.0M
}
unicode_formatter.c:_Py_IS_TYPE_impl
Line
Count
Source
248
16.0M
{
249
16.0M
    return Py_TYPE(ob) == type;
250
16.0M
}
Unexecuted instantiation: unicode_writer.c:_Py_IS_TYPE_impl
Unexecuted instantiation: unicodectype.c:_Py_IS_TYPE_impl
unicodeobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
324M
{
249
324M
    return Py_TYPE(ob) == type;
250
324M
}
unionobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
3.12k
{
249
3.12k
    return Py_TYPE(ob) == type;
250
3.12k
}
weakrefobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
1.94M
{
249
1.94M
    return Py_TYPE(ob) == type;
250
1.94M
}
_warnings.c:_Py_IS_TYPE_impl
Line
Count
Source
248
3.56M
{
249
3.56M
    return Py_TYPE(ob) == type;
250
3.56M
}
bltinmodule.c:_Py_IS_TYPE_impl
Line
Count
Source
248
2.01G
{
249
2.01G
    return Py_TYPE(ob) == type;
250
2.01G
}
ceval.c:_Py_IS_TYPE_impl
Line
Count
Source
248
3.50G
{
249
3.50G
    return Py_TYPE(ob) == type;
250
3.50G
}
codecs.c:_Py_IS_TYPE_impl
Line
Count
Source
248
2.24M
{
249
2.24M
    return Py_TYPE(ob) == type;
250
2.24M
}
Unexecuted instantiation: codegen.c:_Py_IS_TYPE_impl
compile.c:_Py_IS_TYPE_impl
Line
Count
Source
248
114k
{
249
114k
    return Py_TYPE(ob) == type;
250
114k
}
context.c:_Py_IS_TYPE_impl
Line
Count
Source
248
262k
{
249
262k
    return Py_TYPE(ob) == type;
250
262k
}
Unexecuted instantiation: errors.c:_Py_IS_TYPE_impl
flowgraph.c:_Py_IS_TYPE_impl
Line
Count
Source
248
44.3k
{
249
44.3k
    return Py_TYPE(ob) == type;
250
44.3k
}
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
248
246M
{
249
246M
    return Py_TYPE(ob) == type;
250
246M
}
Unexecuted instantiation: gc_gil.c:_Py_IS_TYPE_impl
getargs.c:_Py_IS_TYPE_impl
Line
Count
Source
248
10.3M
{
249
10.3M
    return Py_TYPE(ob) == type;
250
10.3M
}
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
248
7.60k
{
249
7.60k
    return Py_TYPE(ob) == type;
250
7.60k
}
importdl.c:_Py_IS_TYPE_impl
Line
Count
Source
248
1.92k
{
249
1.92k
    return Py_TYPE(ob) == type;
250
1.92k
}
initconfig.c:_Py_IS_TYPE_impl
Line
Count
Source
248
288
{
249
288
    return Py_TYPE(ob) == type;
250
288
}
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
248
34.9k
{
249
34.9k
    return Py_TYPE(ob) == type;
250
34.9k
}
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
248
233k
{
249
233k
    return Py_TYPE(ob) == type;
250
233k
}
modsupport.c:_Py_IS_TYPE_impl
Line
Count
Source
248
21.5k
{
249
21.5k
    return Py_TYPE(ob) == type;
250
21.5k
}
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
248
179M
{
249
179M
    return Py_TYPE(ob) == type;
250
179M
}
structmember.c:_Py_IS_TYPE_impl
Line
Count
Source
248
5
{
249
5
    return Py_TYPE(ob) == type;
250
5
}
Unexecuted instantiation: symtable.c:_Py_IS_TYPE_impl
sysmodule.c:_Py_IS_TYPE_impl
Line
Count
Source
248
2.15k
{
249
2.15k
    return Py_TYPE(ob) == type;
250
2.15k
}
Unexecuted instantiation: thread.c:_Py_IS_TYPE_impl
traceback.c:_Py_IS_TYPE_impl
Line
Count
Source
248
94.1M
{
249
94.1M
    return Py_TYPE(ob) == type;
250
94.1M
}
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
248
658k
{
249
658k
    return Py_TYPE(ob) == type;
250
658k
}
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
248
21.6k
{
249
21.6k
    return Py_TYPE(ob) == type;
250
21.6k
}
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
248
31.8k
{
249
31.8k
    return Py_TYPE(ob) == type;
250
31.8k
}
bytesio.c:_Py_IS_TYPE_impl
Line
Count
Source
248
46.7k
{
249
46.7k
    return Py_TYPE(ob) == type;
250
46.7k
}
bufferedio.c:_Py_IS_TYPE_impl
Line
Count
Source
248
73.7k
{
249
73.7k
    return Py_TYPE(ob) == type;
250
73.7k
}
textio.c:_Py_IS_TYPE_impl
Line
Count
Source
248
288k
{
249
288k
    return Py_TYPE(ob) == type;
250
288k
}
stringio.c:_Py_IS_TYPE_impl
Line
Count
Source
248
23.8M
{
249
23.8M
    return Py_TYPE(ob) == type;
250
23.8M
}
Unexecuted instantiation: itertoolsmodule.c:_Py_IS_TYPE_impl
sre.c:_Py_IS_TYPE_impl
Line
Count
Source
248
612k
{
249
612k
    return Py_TYPE(ob) == type;
250
612k
}
Unexecuted instantiation: _sysconfig.c:_Py_IS_TYPE_impl
_threadmodule.c:_Py_IS_TYPE_impl
Line
Count
Source
248
13.2M
{
249
13.2M
    return Py_TYPE(ob) == type;
250
13.2M
}
timemodule.c:_Py_IS_TYPE_impl
Line
Count
Source
248
192
{
249
192
    return Py_TYPE(ob) == type;
250
192
}
Unexecuted instantiation: _typesmodule.c:_Py_IS_TYPE_impl
Unexecuted instantiation: _typingmodule.c:_Py_IS_TYPE_impl
_weakref.c:_Py_IS_TYPE_impl
Line
Count
Source
248
14.4k
{
249
14.4k
    return Py_TYPE(ob) == type;
250
14.4k
}
_abc.c:_Py_IS_TYPE_impl
Line
Count
Source
248
115k
{
249
115k
    return Py_TYPE(ob) == type;
250
115k
}
_functoolsmodule.c:_Py_IS_TYPE_impl
Line
Count
Source
248
242k
{
249
242k
    return Py_TYPE(ob) == type;
250
242k
}
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
248
1.27M
{
249
1.27M
    return Py_TYPE(ob) == type;
250
1.27M
}
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
248
36
{
249
36
    return Py_TYPE(ob) == type;
250
36
}
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
248
486M
{
249
486M
    return Py_TYPE(ob) == type;
250
486M
}
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
248
126M
{
249
126M
    return Py_TYPE(ob) == type;
250
126M
}
capsule.c:_Py_IS_TYPE_impl
Line
Count
Source
248
9.89k
{
249
9.89k
    return Py_TYPE(ob) == type;
250
9.89k
}
cellobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
9.78k
{
249
9.78k
    return Py_TYPE(ob) == type;
250
9.78k
}
Unexecuted instantiation: classobject.c:_Py_IS_TYPE_impl
codeobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
4.40M
{
249
4.40M
    return Py_TYPE(ob) == type;
250
4.40M
}
complexobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
7.50k
{
249
7.50k
    return Py_TYPE(ob) == type;
250
7.50k
}
descrobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
334M
{
249
334M
    return Py_TYPE(ob) == type;
250
334M
}
Unexecuted instantiation: enumobject.c:_Py_IS_TYPE_impl
genobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
58.3M
{
249
58.3M
    return Py_TYPE(ob) == type;
250
58.3M
}
Unexecuted instantiation: fileobject.c:_Py_IS_TYPE_impl
frameobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
44
{
249
44
    return Py_TYPE(ob) == type;
250
44
}
funcobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
23.2k
{
249
23.2k
    return Py_TYPE(ob) == type;
250
23.2k
}
Unexecuted instantiation: interpolationobject.c:_Py_IS_TYPE_impl
Unexecuted instantiation: iterobject.c:_Py_IS_TYPE_impl
Unexecuted instantiation: lazyimportobject.c:_Py_IS_TYPE_impl
odictobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
30.8k
{
249
30.8k
    return Py_TYPE(ob) == type;
250
30.8k
}
methodobject.c:_Py_IS_TYPE_impl
Line
Count
Source
248
167k
{
249
167k
    return Py_TYPE(ob) == type;
250
167k
}
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
248
300
{
249
300
    return Py_TYPE(ob) == type;
250
300
}
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
248
6.40k
{
249
6.40k
    return Py_TYPE(ob) == type;
250
6.40k
}
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
248
92.3k
{
249
92.3k
    return Py_TYPE(ob) == type;
250
92.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
248
151k
{
249
151k
    return Py_TYPE(ob) == type;
250
151k
}
Unexecuted instantiation: string_parser.c:_Py_IS_TYPE_impl
251
252
static inline void
253
_Py_SET_SIZE_impl(PyVarObject *ob, Py_ssize_t size)
254
1.52G
{
255
1.52G
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
256
1.52G
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
257
#ifdef Py_GIL_DISABLED
258
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
259
#else
260
1.52G
    ob->ob_size = size;
261
1.52G
#endif
262
1.52G
}
bytesobject.c:_Py_SET_SIZE_impl
Line
Count
Source
254
158M
{
255
158M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
256
158M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
257
#ifdef Py_GIL_DISABLED
258
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
259
#else
260
158M
    ob->ob_size = size;
261
158M
#endif
262
158M
}
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
254
746M
{
255
746M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
256
746M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
257
#ifdef Py_GIL_DISABLED
258
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
259
#else
260
746M
    ob->ob_size = size;
261
746M
#endif
262
746M
}
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
254
184k
{
255
184k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
256
184k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
257
#ifdef Py_GIL_DISABLED
258
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
259
#else
260
184k
    ob->ob_size = size;
261
184k
#endif
262
184k
}
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
254
502k
{
255
502k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
256
502k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
257
#ifdef Py_GIL_DISABLED
258
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
259
#else
260
502k
    ob->ob_size = size;
261
502k
#endif
262
502k
}
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
254
923k
{
255
923k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
256
923k
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
257
#ifdef Py_GIL_DISABLED
258
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
259
#else
260
923k
    ob->ob_size = size;
261
923k
#endif
262
923k
}
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
254
20.9M
{
255
20.9M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
256
20.9M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
257
#ifdef Py_GIL_DISABLED
258
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
259
#else
260
20.9M
    ob->ob_size = size;
261
20.9M
#endif
262
20.9M
}
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
254
213M
{
255
213M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
256
213M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
257
#ifdef Py_GIL_DISABLED
258
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
259
#else
260
213M
    ob->ob_size = size;
261
213M
#endif
262
213M
}
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
254
246M
{
255
246M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
256
246M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
257
#ifdef Py_GIL_DISABLED
258
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
259
#else
260
246M
    ob->ob_size = size;
261
246M
#endif
262
246M
}
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
254
83.5M
{
255
83.5M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
256
83.5M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
257
#ifdef Py_GIL_DISABLED
258
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
259
#else
260
83.5M
    ob->ob_size = size;
261
83.5M
#endif
262
83.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
254
6.27M
{
255
6.27M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
256
6.27M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
257
#ifdef Py_GIL_DISABLED
258
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
259
#else
260
6.27M
    ob->ob_size = size;
261
6.27M
#endif
262
6.27M
}
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
254
53.9M
{
255
53.9M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyLong_Type);
256
53.9M
    assert(Py_TYPE(_PyObject_CAST(ob)) != &PyBool_Type);
257
#ifdef Py_GIL_DISABLED
258
    _Py_atomic_store_ssize_relaxed(&ob->ob_size, size);
259
#else
260
53.9M
    ob->ob_size = size;
261
53.9M
#endif
262
53.9M
}
Unexecuted instantiation: capsule.c:_Py_SET_SIZE_impl
Unexecuted instantiation: cellobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: classobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: codeobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: complexobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: descrobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: enumobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: genobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: fileobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: frameobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: funcobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: interpolationobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: iterobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: lazyimportobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: odictobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: methodobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: namespaceobject.c:_Py_SET_SIZE_impl
Unexecuted instantiation: _contextvars.c:_Py_SET_SIZE_impl
Unexecuted instantiation: Python-ast.c:_Py_SET_SIZE_impl
Unexecuted instantiation: Python-tokenize.c:_Py_SET_SIZE_impl
Unexecuted instantiation: asdl.c:_Py_SET_SIZE_impl
Unexecuted instantiation: assemble.c:_Py_SET_SIZE_impl
Unexecuted instantiation: ast.c:_Py_SET_SIZE_impl
Unexecuted instantiation: ast_preprocess.c:_Py_SET_SIZE_impl
Unexecuted instantiation: ast_unparse.c:_Py_SET_SIZE_impl
Unexecuted instantiation: critical_section.c:_Py_SET_SIZE_impl
Unexecuted instantiation: crossinterp.c:_Py_SET_SIZE_impl
Unexecuted instantiation: getcopyright.c:_Py_SET_SIZE_impl
Unexecuted instantiation: getplatform.c:_Py_SET_SIZE_impl
Unexecuted instantiation: getversion.c:_Py_SET_SIZE_impl
Unexecuted instantiation: optimizer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pathconfig.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pegen.c:_Py_SET_SIZE_impl
Unexecuted instantiation: pegen_errors.c:_Py_SET_SIZE_impl
Unexecuted instantiation: parser.c:_Py_SET_SIZE_impl
Unexecuted instantiation: buffer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: lexer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: state.c:_Py_SET_SIZE_impl
Unexecuted instantiation: readline_tokenizer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: string_tokenizer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: utf8_tokenizer.c:_Py_SET_SIZE_impl
Unexecuted instantiation: getcompiler.c:_Py_SET_SIZE_impl
Unexecuted instantiation: mystrtoul.c:_Py_SET_SIZE_impl
Unexecuted instantiation: token.c:_Py_SET_SIZE_impl
Unexecuted instantiation: action_helpers.c:_Py_SET_SIZE_impl
Unexecuted instantiation: string_parser.c:_Py_SET_SIZE_impl
263
264
#endif // !defined(_Py_OPAQUE_PYOBJECT)
265
266
267
/*
268
Type objects contain a string containing the type name (to help somewhat
269
in debugging), the allocation parameters (see PyObject_New() and
270
PyObject_NewVar()),
271
and methods for accessing objects of the type.  Methods are optional, a
272
nil pointer meaning that particular kind of access is not available for
273
this type.  The Py_DECREF() macro uses the tp_dealloc method without
274
checking for a nil pointer; it should always be implemented except if
275
the implementation can guarantee that the reference count will never
276
reach zero (e.g., for statically allocated type objects).
277
278
NB: the methods for certain type groups are now contained in separate
279
method blocks.
280
*/
281
282
typedef PyObject * (*unaryfunc)(PyObject *);
283
typedef PyObject * (*binaryfunc)(PyObject *, PyObject *);
284
typedef PyObject * (*ternaryfunc)(PyObject *, PyObject *, PyObject *);
285
typedef int (*inquiry)(PyObject *);
286
typedef Py_ssize_t (*lenfunc)(PyObject *);
287
typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t);
288
typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t);
289
typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *);
290
typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *);
291
typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *);
292
293
typedef int (*objobjproc)(PyObject *, PyObject *);
294
typedef int (*visitproc)(PyObject *, void *);
295
typedef int (*traverseproc)(PyObject *, visitproc, void *);
296
297
298
typedef void (*freefunc)(void *);
299
typedef void (*destructor)(PyObject *);
300
typedef PyObject *(*getattrfunc)(PyObject *, char *);
301
typedef PyObject *(*getattrofunc)(PyObject *, PyObject *);
302
typedef int (*setattrfunc)(PyObject *, char *, PyObject *);
303
typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *);
304
typedef PyObject *(*reprfunc)(PyObject *);
305
typedef Py_hash_t (*hashfunc)(PyObject *);
306
typedef PyObject *(*richcmpfunc) (PyObject *, PyObject *, int);
307
typedef PyObject *(*getiterfunc) (PyObject *);
308
typedef PyObject *(*iternextfunc) (PyObject *);
309
typedef PyObject *(*descrgetfunc) (PyObject *, PyObject *, PyObject *);
310
typedef int (*descrsetfunc) (PyObject *, PyObject *, PyObject *);
311
typedef int (*initproc)(PyObject *, PyObject *, PyObject *);
312
typedef PyObject *(*newfunc)(PyTypeObject *, PyObject *, PyObject *);
313
typedef PyObject *(*allocfunc)(PyTypeObject *, Py_ssize_t);
314
315
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030c0000 // 3.12
316
typedef PyObject *(*vectorcallfunc)(PyObject *callable, PyObject *const *args,
317
                                    size_t nargsf, PyObject *kwnames);
318
#endif
319
320
typedef struct{
321
    int slot;    /* slot id, see below */
322
    void *pfunc; /* function pointer */
323
} PyType_Slot;
324
325
typedef struct{
326
    const char* name;
327
    int basicsize;
328
    int itemsize;
329
    unsigned int flags;
330
    PyType_Slot *slots; /* terminated by slot==0. */
331
} PyType_Spec;
332
333
PyAPI_FUNC(PyObject*) PyType_FromSpec(PyType_Spec*);
334
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
335
PyAPI_FUNC(PyObject*) PyType_FromSpecWithBases(PyType_Spec*, PyObject*);
336
#endif
337
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03040000
338
PyAPI_FUNC(void*) PyType_GetSlot(PyTypeObject*, int);
339
#endif
340
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03090000
341
PyAPI_FUNC(PyObject*) PyType_FromModuleAndSpec(PyObject *, PyType_Spec *, PyObject *);
342
PyAPI_FUNC(PyObject *) PyType_GetModule(PyTypeObject *);
343
PyAPI_FUNC(void *) PyType_GetModuleState(PyTypeObject *);
344
#endif
345
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030B0000
346
PyAPI_FUNC(PyObject *) PyType_GetName(PyTypeObject *);
347
PyAPI_FUNC(PyObject *) PyType_GetQualName(PyTypeObject *);
348
#endif
349
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030D0000
350
PyAPI_FUNC(PyObject *) PyType_GetFullyQualifiedName(PyTypeObject *type);
351
PyAPI_FUNC(PyObject *) PyType_GetModuleName(PyTypeObject *type);
352
#endif
353
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000
354
PyAPI_FUNC(PyObject *) PyType_FromMetaclass(PyTypeObject*, PyObject*, PyType_Spec*, PyObject*);
355
PyAPI_FUNC(void *) PyObject_GetTypeData(PyObject *obj, PyTypeObject *cls);
356
PyAPI_FUNC(Py_ssize_t) PyType_GetTypeDataSize(PyTypeObject *cls);
357
#endif
358
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030E0000
359
PyAPI_FUNC(int) PyType_GetBaseByToken(PyTypeObject *, void *, PyTypeObject **);
360
33
#define Py_TP_USE_SPEC NULL
361
#endif
362
363
/* Generic type check */
364
PyAPI_FUNC(int) PyType_IsSubtype(PyTypeObject *, PyTypeObject *);
365
366
755M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
755M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
755M
}
Unexecuted instantiation: bytesobject.c:PyObject_TypeCheck
Unexecuted instantiation: call.c:PyObject_TypeCheck
exceptions.c:PyObject_TypeCheck
Line
Count
Source
366
1.17M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
1.17M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
1.17M
}
genericaliasobject.c:PyObject_TypeCheck
Line
Count
Source
366
152
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
152
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
152
}
floatobject.c:PyObject_TypeCheck
Line
Count
Source
366
10.9M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
10.9M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
10.9M
}
Unexecuted instantiation: listobject.c:PyObject_TypeCheck
longobject.c:PyObject_TypeCheck
Line
Count
Source
366
4.59M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
4.59M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
4.59M
}
dictobject.c:PyObject_TypeCheck
Line
Count
Source
366
25.6M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
25.6M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
25.6M
}
Unexecuted instantiation: memoryobject.c:PyObject_TypeCheck
moduleobject.c:PyObject_TypeCheck
Line
Count
Source
366
30.8M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
30.8M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
30.8M
}
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
366
143M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
143M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
143M
}
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
366
316
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
316
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
316
}
weakrefobject.c:PyObject_TypeCheck
Line
Count
Source
366
905k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
905k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
905k
}
_warnings.c:PyObject_TypeCheck
Line
Count
Source
366
2.21M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
2.21M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
2.21M
}
bltinmodule.c:PyObject_TypeCheck
Line
Count
Source
366
8.92M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
8.92M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
8.92M
}
ceval.c:PyObject_TypeCheck
Line
Count
Source
366
30
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
30
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
30
}
codecs.c:PyObject_TypeCheck
Line
Count
Source
366
588k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
588k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
588k
}
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
366
8.91M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
8.91M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
8.91M
}
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
366
7.09k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
7.09k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
7.09k
}
importdl.c:PyObject_TypeCheck
Line
Count
Source
366
963
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
963
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
963
}
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
366
21.5k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
21.5k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
21.5k
}
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
366
21.2k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
21.2k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
21.2k
}
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
366
21.6k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
21.6k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
21.6k
}
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
366
14.4k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
14.4k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
14.4k
}
Unexecuted instantiation: _abc.c:PyObject_TypeCheck
_functoolsmodule.c:PyObject_TypeCheck
Line
Count
Source
366
242k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
242k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
242k
}
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
366
58.3M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
58.3M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
58.3M
}
Unexecuted instantiation: boolobject.c:PyObject_TypeCheck
Unexecuted instantiation: bytes_methods.c:PyObject_TypeCheck
bytearrayobject.c:PyObject_TypeCheck
Line
Count
Source
366
124M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
124M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
124M
}
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
366
4
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
4
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
4
}
descrobject.c:PyObject_TypeCheck
Line
Count
Source
366
334M
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
334M
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
334M
}
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
366
84
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
84
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
84
}
Unexecuted instantiation: interpolationobject.c:PyObject_TypeCheck
Unexecuted instantiation: iterobject.c:PyObject_TypeCheck
Unexecuted instantiation: lazyimportobject.c:PyObject_TypeCheck
Unexecuted instantiation: odictobject.c:PyObject_TypeCheck
methodobject.c:PyObject_TypeCheck
Line
Count
Source
366
167k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
167k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
167k
}
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
366
92.3k
static inline int PyObject_TypeCheck(PyObject *ob, PyTypeObject *type) {
367
92.3k
    return Py_IS_TYPE(ob, type) || PyType_IsSubtype(Py_TYPE(ob), type);
368
92.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
369
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
370
769M
#  define PyObject_TypeCheck(ob, type) PyObject_TypeCheck(_PyObject_CAST(ob), (type))
371
#endif
372
373
PyAPI_DATA(PyTypeObject) PyType_Type; /* built-in 'type' */
374
PyAPI_DATA(PyTypeObject) PyBaseObject_Type; /* built-in 'object' */
375
PyAPI_DATA(PyTypeObject) PySuper_Type; /* built-in 'super' */
376
377
PyAPI_FUNC(unsigned long) PyType_GetFlags(PyTypeObject*);
378
379
PyAPI_FUNC(int) PyType_Ready(PyTypeObject *);
380
PyAPI_FUNC(PyObject *) PyType_GenericAlloc(PyTypeObject *, Py_ssize_t);
381
PyAPI_FUNC(PyObject *) PyType_GenericNew(PyTypeObject *,
382
                                               PyObject *, PyObject *);
383
PyAPI_FUNC(unsigned int) PyType_ClearCache(void);
384
PyAPI_FUNC(void) PyType_Modified(PyTypeObject *);
385
386
/* Generic operations on objects */
387
PyAPI_FUNC(PyObject *) PyObject_Repr(PyObject *);
388
PyAPI_FUNC(PyObject *) PyObject_Str(PyObject *);
389
PyAPI_FUNC(PyObject *) PyObject_ASCII(PyObject *);
390
PyAPI_FUNC(PyObject *) PyObject_Bytes(PyObject *);
391
PyAPI_FUNC(PyObject *) PyObject_RichCompare(PyObject *, PyObject *, int);
392
PyAPI_FUNC(int) PyObject_RichCompareBool(PyObject *, PyObject *, int);
393
PyAPI_FUNC(PyObject *) PyObject_GetAttrString(PyObject *, const char *);
394
PyAPI_FUNC(int) PyObject_SetAttrString(PyObject *, const char *, PyObject *);
395
PyAPI_FUNC(int) PyObject_DelAttrString(PyObject *v, const char *name);
396
PyAPI_FUNC(int) PyObject_HasAttrString(PyObject *, const char *);
397
PyAPI_FUNC(PyObject *) PyObject_GetAttr(PyObject *, PyObject *);
398
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
399
PyAPI_FUNC(int) PyObject_GetOptionalAttr(PyObject *, PyObject *, PyObject **);
400
PyAPI_FUNC(int) PyObject_GetOptionalAttrString(PyObject *, const char *, PyObject **);
401
#endif
402
PyAPI_FUNC(int) PyObject_SetAttr(PyObject *, PyObject *, PyObject *);
403
PyAPI_FUNC(int) PyObject_DelAttr(PyObject *v, PyObject *name);
404
PyAPI_FUNC(int) PyObject_HasAttr(PyObject *, PyObject *);
405
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
406
PyAPI_FUNC(int) PyObject_HasAttrWithError(PyObject *, PyObject *);
407
PyAPI_FUNC(int) PyObject_HasAttrStringWithError(PyObject *, const char *);
408
#endif
409
PyAPI_FUNC(PyObject *) PyObject_SelfIter(PyObject *);
410
PyAPI_FUNC(PyObject *) PyObject_GenericGetAttr(PyObject *, PyObject *);
411
PyAPI_FUNC(int) PyObject_GenericSetAttr(PyObject *, PyObject *, PyObject *);
412
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03030000
413
PyAPI_FUNC(int) PyObject_GenericSetDict(PyObject *, PyObject *, void *);
414
#endif
415
PyAPI_FUNC(Py_hash_t) PyObject_Hash(PyObject *);
416
PyAPI_FUNC(Py_hash_t) PyObject_HashNotImplemented(PyObject *);
417
PyAPI_FUNC(int) PyObject_IsTrue(PyObject *);
418
PyAPI_FUNC(int) PyObject_Not(PyObject *);
419
PyAPI_FUNC(int) PyCallable_Check(PyObject *);
420
PyAPI_FUNC(void) PyObject_ClearWeakRefs(PyObject *);
421
422
/* PyObject_Dir(obj) acts like Python builtins.dir(obj), returning a
423
   list of strings.  PyObject_Dir(NULL) is like builtins.dir(),
424
   returning the names of the current locals.  In this case, if there are
425
   no current locals, NULL is returned, and PyErr_Occurred() is false.
426
*/
427
PyAPI_FUNC(PyObject *) PyObject_Dir(PyObject *);
428
429
/* Helpers for printing recursive container types */
430
PyAPI_FUNC(int) Py_ReprEnter(PyObject *);
431
PyAPI_FUNC(void) Py_ReprLeave(PyObject *);
432
433
/* Flag bits for printing: */
434
0
#define Py_PRINT_RAW    1       /* No string quotes etc. */
435
436
/*
437
Type flags (tp_flags)
438
439
These flags are used to change expected features and behavior for a
440
particular type.
441
442
Arbitration of the flag bit positions will need to be coordinated among
443
all extension writers who publicly release their extensions (this will
444
be fewer than you might expect!).
445
446
Most flags were removed as of Python 3.0 to make room for new flags.  (Some
447
flags are not for backwards compatibility but to indicate the presence of an
448
optional feature; these flags remain of course.)
449
450
Type definitions should use Py_TPFLAGS_DEFAULT for their tp_flags value.
451
452
Code can use PyType_HasFeature(type_ob, flag_value) to test whether the
453
given type object has a specified feature.
454
*/
455
456
#ifndef Py_LIMITED_API
457
458
/* Track types initialized using _PyStaticType_InitBuiltin(). */
459
889M
#define _Py_TPFLAGS_STATIC_BUILTIN (1 << 1)
460
461
/* The values array is placed inline directly after the rest of
462
 * the object. Implies Py_TPFLAGS_HAVE_GC.
463
 */
464
1.38G
#define Py_TPFLAGS_INLINE_VALUES (1 << 2)
465
466
/* Placement of weakref pointers are managed by the VM, not by the type.
467
 * The VM will automatically set tp_weaklistoffset. Implies Py_TPFLAGS_HAVE_GC.
468
 */
469
1.32G
#define Py_TPFLAGS_MANAGED_WEAKREF (1 << 3)
470
471
/* Placement of dict (and values) pointers are managed by the VM, not by the type.
472
 * The VM will automatically set tp_dictoffset. Implies Py_TPFLAGS_HAVE_GC.
473
 */
474
1.68G
#define Py_TPFLAGS_MANAGED_DICT (1 << 4)
475
476
/* Type has dictionary or weakref pointers that are managed by VM and has
477
 * to allocate space to store these.
478
 */
479
1.32G
#define Py_TPFLAGS_PREHEADER (Py_TPFLAGS_MANAGED_WEAKREF | Py_TPFLAGS_MANAGED_DICT)
480
481
/* Set if instances of the type object are treated as sequences for pattern matching */
482
2.37M
#define Py_TPFLAGS_SEQUENCE (1 << 5)
483
/* Set if instances of the type object are treated as mappings for pattern matching */
484
2.37M
#define Py_TPFLAGS_MAPPING (1 << 6)
485
#endif
486
487
/* Disallow creating instances of the type: set tp_new to NULL and don't create
488
 * the "__new__" key in the type dictionary. */
489
253k
#define Py_TPFLAGS_DISALLOW_INSTANTIATION (1UL << 7)
490
491
/* Set if the type object is immutable: type attributes cannot be set nor deleted */
492
2.39M
#define Py_TPFLAGS_IMMUTABLETYPE (1UL << 8)
493
494
/* Set if the type object is dynamically allocated */
495
550M
#define Py_TPFLAGS_HEAPTYPE (1UL << 9)
496
497
/* Set if the type allows subclassing */
498
960k
#define Py_TPFLAGS_BASETYPE (1UL << 10)
499
500
/* Set if the type implements the vectorcall protocol (PEP 590) */
501
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030C0000
502
738M
#define Py_TPFLAGS_HAVE_VECTORCALL (1UL << 11)
503
#ifndef Py_LIMITED_API
504
// Backwards compatibility alias for API that was provisional in Python 3.8
505
#define _Py_TPFLAGS_HAVE_VECTORCALL Py_TPFLAGS_HAVE_VECTORCALL
506
#endif
507
#endif
508
509
/* Set if the type is 'ready' -- fully initialized */
510
985k
#define Py_TPFLAGS_READY (1UL << 12)
511
512
/* Set while the type is being 'readied', to prevent recursive ready calls */
513
488k
#define Py_TPFLAGS_READYING (1UL << 13)
514
515
/* Objects support garbage collection (see objimpl.h) */
516
8.46G
#define Py_TPFLAGS_HAVE_GC (1UL << 14)
517
518
/* These two bits are preserved for Stackless Python, next after this is 17 */
519
#ifdef STACKLESS
520
#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION (3UL << 15)
521
#else
522
241k
#define Py_TPFLAGS_HAVE_STACKLESS_EXTENSION 0
523
#endif
524
525
/* Objects behave like an unbound method */
526
212M
#define Py_TPFLAGS_METHOD_DESCRIPTOR (1UL << 17)
527
528
/* Unused. Legacy flag */
529
#define Py_TPFLAGS_VALID_VERSION_TAG  (1UL << 19)
530
531
/* Type is abstract and cannot be instantiated */
532
42.3M
#define Py_TPFLAGS_IS_ABSTRACT (1UL << 20)
533
534
// This undocumented flag gives certain built-ins their unique pattern-matching
535
// behavior, which allows a single positional subpattern to match against the
536
// subject itself (rather than a mapped attribute on it):
537
480k
#define _Py_TPFLAGS_MATCH_SELF (1UL << 22)
538
539
/* Items (ob_size*tp_itemsize) are found at the end of an instance's memory */
540
13.4M
#define Py_TPFLAGS_ITEMS_AT_END (1UL << 23)
541
542
/* These flags are used to determine if a type is a subclass. */
543
335
#define Py_TPFLAGS_LONG_SUBCLASS        (1UL << 24)
544
152
#define Py_TPFLAGS_LIST_SUBCLASS        (1UL << 25)
545
1.09k
#define Py_TPFLAGS_TUPLE_SUBCLASS       (1UL << 26)
546
6
#define Py_TPFLAGS_BYTES_SUBCLASS       (1UL << 27)
547
12.4M
#define Py_TPFLAGS_UNICODE_SUBCLASS     (1UL << 28)
548
230
#define Py_TPFLAGS_DICT_SUBCLASS        (1UL << 29)
549
3.85k
#define Py_TPFLAGS_BASE_EXC_SUBCLASS    (1UL << 30)
550
163
#define Py_TPFLAGS_TYPE_SUBCLASS        (1UL << 31)
551
552
241k
#define Py_TPFLAGS_DEFAULT  ( \
553
241k
                 Py_TPFLAGS_HAVE_STACKLESS_EXTENSION | \
554
241k
                0)
555
556
/* NOTE: Some of the following flags reuse lower bits (removed as part of the
557
 * Python 3.0 transition). */
558
559
/* The following flags are kept for compatibility; in previous
560
 * versions they indicated presence of newer tp_* fields on the
561
 * type struct.
562
 * Starting with 3.8, binary compatibility of C extensions across
563
 * feature releases of Python is not supported anymore (except when
564
 * using the stable ABI, in which all classes are created dynamically,
565
 * using the interpreter's memory layout.)
566
 * Note that older extensions using the stable ABI set these flags,
567
 * so the bits must not be repurposed.
568
 */
569
#define Py_TPFLAGS_HAVE_FINALIZE (1UL << 0)
570
#define Py_TPFLAGS_HAVE_VERSION_TAG   (1UL << 18)
571
572
// Flag values for ob_flags (16 bits available, if SIZEOF_VOID_P > 4).
573
260M
#define _Py_IMMORTAL_FLAGS (1 << 0)
574
#define _Py_LEGACY_ABI_CHECK_FLAG (1 << 1) /* see PyModuleDef_Init() */
575
260M
#define _Py_STATICALLY_ALLOCATED_FLAG (1 << 2)
576
#if !defined(Py_LIMITED_API)
577
#  if defined(Py_GIL_DISABLED) && defined(Py_DEBUG)
578
#    define _Py_TYPE_REVEALED_FLAG (1 << 3)
579
#  endif
580
#endif
581
582
#define Py_CONSTANT_NONE 0
583
#define Py_CONSTANT_FALSE 1
584
#define Py_CONSTANT_TRUE 2
585
#define Py_CONSTANT_ELLIPSIS 3
586
#define Py_CONSTANT_NOT_IMPLEMENTED 4
587
36
#define Py_CONSTANT_ZERO 5
588
36
#define Py_CONSTANT_ONE 6
589
444k
#define Py_CONSTANT_EMPTY_STR 7
590
22.5M
#define Py_CONSTANT_EMPTY_BYTES 8
591
36
#define Py_CONSTANT_EMPTY_TUPLE 9
592
593
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
594
PyAPI_FUNC(PyObject*) Py_GetConstant(unsigned int constant_id);
595
PyAPI_FUNC(PyObject*) Py_GetConstantBorrowed(unsigned int constant_id);
596
#endif
597
598
599
/*
600
_Py_NoneStruct is an object of undefined type which can be used in contexts
601
where NULL (nil) is not suitable (since NULL often means 'error').
602
*/
603
PyAPI_DATA(PyObject) _Py_NoneStruct; /* Don't use this directly */
604
605
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030D0000
606
#  define Py_None Py_GetConstantBorrowed(Py_CONSTANT_NONE)
607
#else
608
1.59G
#  define Py_None (&_Py_NoneStruct)
609
#endif
610
611
// Test if an object is the None singleton, the same as "x is None" in Python.
612
PyAPI_FUNC(int) Py_IsNone(PyObject *x);
613
323M
#define Py_IsNone(x) Py_Is((x), Py_None)
614
615
/* Macro for returning Py_None from a function.
616
 * Only treat Py_None as immortal in the limited C API 3.12 and newer. */
617
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 < 0x030c0000
618
#  define Py_RETURN_NONE return Py_NewRef(Py_None)
619
#else
620
233M
#  define Py_RETURN_NONE return Py_None
621
#endif
622
623
/*
624
Py_NotImplemented is a singleton used to signal that an operation is
625
not implemented for a given type combination.
626
*/
627
PyAPI_DATA(PyObject) _Py_NotImplementedStruct; /* Don't use this directly */
628
629
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 >= 0x030D0000
630
#  define Py_NotImplemented Py_GetConstantBorrowed(Py_CONSTANT_NOT_IMPLEMENTED)
631
#else
632
570M
#  define Py_NotImplemented (&_Py_NotImplementedStruct)
633
#endif
634
635
/* Macro for returning Py_NotImplemented from a function. Only treat
636
 * Py_NotImplemented as immortal in the limited C API 3.12 and newer. */
637
#if defined(Py_LIMITED_API) && Py_LIMITED_API+0 < 0x030c0000
638
#  define Py_RETURN_NOTIMPLEMENTED return Py_NewRef(Py_NotImplemented)
639
#else
640
50.5M
#  define Py_RETURN_NOTIMPLEMENTED return Py_NotImplemented
641
#endif
642
643
/* Rich comparison opcodes */
644
76.5M
#define Py_LT 0
645
3.00M
#define Py_LE 1
646
643M
#define Py_EQ 2
647
148M
#define Py_NE 3
648
14.4M
#define Py_GT 4
649
2.65M
#define Py_GE 5
650
651
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030A0000
652
/* Result of calling PyIter_Send */
653
typedef enum {
654
    PYGEN_RETURN = 0,
655
    PYGEN_ERROR = -1,
656
    PYGEN_NEXT = 1
657
} PySendResult;
658
#endif
659
660
/*
661
 * Macro for implementing rich comparisons
662
 *
663
 * Needs to be a macro because any C-comparable type can be used.
664
 */
665
#define Py_RETURN_RICHCOMPARE(val1, val2, op)                               \
666
94.1M
    do {                                                                    \
667
94.1M
        switch (op) {                                                       \
668
55.9M
        case Py_EQ: if ((val1) == (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
669
55.9M
        case Py_NE: if ((val1) != (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
670
29.9M
        case Py_LT: if ((val1) < (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;   \
671
29.9M
        case Py_GT: if ((val1) > (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;   \
672
7.24M
        case Py_LE: if ((val1) <= (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
673
360k
        case Py_GE: if ((val1) >= (val2)) Py_RETURN_TRUE; Py_RETURN_FALSE;  \
674
3.21k
        default:                                                            \
675
0
            Py_UNREACHABLE();                                               \
676
94.1M
        }                                                                   \
677
94.1M
    } while (0)
678
679
680
/*
681
More conventions
682
================
683
684
Argument Checking
685
-----------------
686
687
Functions that take objects as arguments normally don't check for nil
688
arguments, but they do check the type of the argument, and return an
689
error if the function doesn't apply to the type.
690
691
Failure Modes
692
-------------
693
694
Functions may fail for a variety of reasons, including running out of
695
memory.  This is communicated to the caller in two ways: an error string
696
is set (see errors.h), and the function result differs: functions that
697
normally return a pointer return NULL for failure, functions returning
698
an integer return -1 (which could be a legal return value too!), and
699
other functions return 0 for success and -1 for failure.
700
Callers should always check for errors before using the result.  If
701
an error was set, the caller must either explicitly clear it, or pass
702
the error on to its caller.
703
704
Reference Counts
705
----------------
706
707
It takes a while to get used to the proper usage of reference counts.
708
709
Functions that create an object set the reference count to 1; such new
710
objects must be stored somewhere or destroyed again with Py_DECREF().
711
Some functions that 'store' objects, such as PyTuple_SetItem() and
712
PyList_SetItem(),
713
don't increment the reference count of the object, since the most
714
frequent use is to store a fresh object.  Functions that 'retrieve'
715
objects, such as PyTuple_GetItem() and PyDict_GetItemString(), also
716
don't increment
717
the reference count, since most frequently the object is only looked at
718
quickly.  Thus, to retrieve an object and store it again, the caller
719
must call Py_INCREF() explicitly.
720
721
NOTE: functions that 'consume' a reference count, like
722
PyList_SetItem(), consume the reference even if the object wasn't
723
successfully stored, to simplify error handling.
724
725
It seems attractive to make other functions that take an object as
726
argument consume a reference count; however, this may quickly get
727
confusing (even the current practice is already confusing).  Consider
728
it carefully, it may save lots of calls to Py_INCREF() and Py_DECREF() at
729
times.
730
*/
731
732
#ifndef Py_LIMITED_API
733
#  define Py_CPYTHON_OBJECT_H
734
#  include "cpython/object.h"
735
#  undef Py_CPYTHON_OBJECT_H
736
#endif
737
738
739
static inline int
740
PyType_HasFeature(PyTypeObject *type, unsigned long feature)
741
9.30G
{
742
9.30G
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
    flags = type->tp_flags;
748
#endif
749
9.30G
    return ((flags & feature) != 0);
750
9.30G
}
bytesobject.c:PyType_HasFeature
Line
Count
Source
741
265M
{
742
265M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
265M
    flags = type->tp_flags;
748
265M
#endif
749
265M
    return ((flags & feature) != 0);
750
265M
}
call.c:PyType_HasFeature
Line
Count
Source
741
530M
{
742
530M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
530M
    flags = type->tp_flags;
748
530M
#endif
749
530M
    return ((flags & feature) != 0);
750
530M
}
exceptions.c:PyType_HasFeature
Line
Count
Source
741
3.59M
{
742
3.59M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
3.59M
    flags = type->tp_flags;
748
3.59M
#endif
749
3.59M
    return ((flags & feature) != 0);
750
3.59M
}
genericaliasobject.c:PyType_HasFeature
Line
Count
Source
741
3.60k
{
742
3.60k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
3.60k
    flags = type->tp_flags;
748
3.60k
#endif
749
3.60k
    return ((flags & feature) != 0);
750
3.60k
}
floatobject.c:PyType_HasFeature
Line
Count
Source
741
7.93M
{
742
7.93M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
7.93M
    flags = type->tp_flags;
748
7.93M
#endif
749
7.93M
    return ((flags & feature) != 0);
750
7.93M
}
listobject.c:PyType_HasFeature
Line
Count
Source
741
312M
{
742
312M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
312M
    flags = type->tp_flags;
748
312M
#endif
749
312M
    return ((flags & feature) != 0);
750
312M
}
longobject.c:PyType_HasFeature
Line
Count
Source
741
1.21G
{
742
1.21G
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
1.21G
    flags = type->tp_flags;
748
1.21G
#endif
749
1.21G
    return ((flags & feature) != 0);
750
1.21G
}
dictobject.c:PyType_HasFeature
Line
Count
Source
741
1.77G
{
742
1.77G
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
1.77G
    flags = type->tp_flags;
748
1.77G
#endif
749
1.77G
    return ((flags & feature) != 0);
750
1.77G
}
memoryobject.c:PyType_HasFeature
Line
Count
Source
741
120k
{
742
120k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
120k
    flags = type->tp_flags;
748
120k
#endif
749
120k
    return ((flags & feature) != 0);
750
120k
}
moduleobject.c:PyType_HasFeature
Line
Count
Source
741
11.7k
{
742
11.7k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
11.7k
    flags = type->tp_flags;
748
11.7k
#endif
749
11.7k
    return ((flags & feature) != 0);
750
11.7k
}
object.c:PyType_HasFeature
Line
Count
Source
741
1.03G
{
742
1.03G
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
1.03G
    flags = type->tp_flags;
748
1.03G
#endif
749
1.03G
    return ((flags & feature) != 0);
750
1.03G
}
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
741
109k
{
742
109k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
109k
    flags = type->tp_flags;
748
109k
#endif
749
109k
    return ((flags & feature) != 0);
750
109k
}
Unexecuted instantiation: templateobject.c:PyType_HasFeature
tupleobject.c:PyType_HasFeature
Line
Count
Source
741
109M
{
742
109M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
109M
    flags = type->tp_flags;
748
109M
#endif
749
109M
    return ((flags & feature) != 0);
750
109M
}
typeobject.c:PyType_HasFeature
Line
Count
Source
741
395M
{
742
395M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
395M
    flags = type->tp_flags;
748
395M
#endif
749
395M
    return ((flags & feature) != 0);
750
395M
}
typevarobject.c:PyType_HasFeature
Line
Count
Source
741
376
{
742
376
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
376
    flags = type->tp_flags;
748
376
#endif
749
376
    return ((flags & feature) != 0);
750
376
}
unicode_format.c:PyType_HasFeature
Line
Count
Source
741
75.9M
{
742
75.9M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
75.9M
    flags = type->tp_flags;
748
75.9M
#endif
749
75.9M
    return ((flags & feature) != 0);
750
75.9M
}
Unexecuted instantiation: unicode_formatter.c:PyType_HasFeature
unicode_writer.c:PyType_HasFeature
Line
Count
Source
741
587k
{
742
587k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
587k
    flags = type->tp_flags;
748
587k
#endif
749
587k
    return ((flags & feature) != 0);
750
587k
}
Unexecuted instantiation: unicodectype.c:PyType_HasFeature
unicodeobject.c:PyType_HasFeature
Line
Count
Source
741
1.47G
{
742
1.47G
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
1.47G
    flags = type->tp_flags;
748
1.47G
#endif
749
1.47G
    return ((flags & feature) != 0);
750
1.47G
}
unionobject.c:PyType_HasFeature
Line
Count
Source
741
3.40k
{
742
3.40k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
3.40k
    flags = type->tp_flags;
748
3.40k
#endif
749
3.40k
    return ((flags & feature) != 0);
750
3.40k
}
weakrefobject.c:PyType_HasFeature
Line
Count
Source
741
52.9M
{
742
52.9M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
52.9M
    flags = type->tp_flags;
748
52.9M
#endif
749
52.9M
    return ((flags & feature) != 0);
750
52.9M
}
_warnings.c:PyType_HasFeature
Line
Count
Source
741
26.3M
{
742
26.3M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
26.3M
    flags = type->tp_flags;
748
26.3M
#endif
749
26.3M
    return ((flags & feature) != 0);
750
26.3M
}
bltinmodule.c:PyType_HasFeature
Line
Count
Source
741
279M
{
742
279M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
279M
    flags = type->tp_flags;
748
279M
#endif
749
279M
    return ((flags & feature) != 0);
750
279M
}
ceval.c:PyType_HasFeature
Line
Count
Source
741
404M
{
742
404M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
404M
    flags = type->tp_flags;
748
404M
#endif
749
404M
    return ((flags & feature) != 0);
750
404M
}
codecs.c:PyType_HasFeature
Line
Count
Source
741
4.22M
{
742
4.22M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
4.22M
    flags = type->tp_flags;
748
4.22M
#endif
749
4.22M
    return ((flags & feature) != 0);
750
4.22M
}
codegen.c:PyType_HasFeature
Line
Count
Source
741
352
{
742
352
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
352
    flags = type->tp_flags;
748
352
#endif
749
352
    return ((flags & feature) != 0);
750
352
}
Unexecuted instantiation: compile.c:PyType_HasFeature
context.c:PyType_HasFeature
Line
Count
Source
741
61
{
742
61
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
61
    flags = type->tp_flags;
748
61
#endif
749
61
    return ((flags & feature) != 0);
750
61
}
errors.c:PyType_HasFeature
Line
Count
Source
741
546M
{
742
546M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
546M
    flags = type->tp_flags;
748
546M
#endif
749
546M
    return ((flags & feature) != 0);
750
546M
}
flowgraph.c:PyType_HasFeature
Line
Count
Source
741
84
{
742
84
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
84
    flags = type->tp_flags;
748
84
#endif
749
84
    return ((flags & feature) != 0);
750
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
741
21.2M
{
742
21.2M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
21.2M
    flags = type->tp_flags;
748
21.2M
#endif
749
21.2M
    return ((flags & feature) != 0);
750
21.2M
}
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
741
4.31M
{
742
4.31M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
4.31M
    flags = type->tp_flags;
748
4.31M
#endif
749
4.31M
    return ((flags & feature) != 0);
750
4.31M
}
importdl.c:PyType_HasFeature
Line
Count
Source
741
414
{
742
414
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
414
    flags = type->tp_flags;
748
414
#endif
749
414
    return ((flags & feature) != 0);
750
414
}
initconfig.c:PyType_HasFeature
Line
Count
Source
741
720
{
742
720
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
720
    flags = type->tp_flags;
748
720
#endif
749
720
    return ((flags & feature) != 0);
750
720
}
Unexecuted instantiation: instrumentation.c:PyType_HasFeature
Unexecuted instantiation: instruction_sequence.c:PyType_HasFeature
intrinsics.c:PyType_HasFeature
Line
Count
Source
741
37.2k
{
742
37.2k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
37.2k
    flags = type->tp_flags;
748
37.2k
#endif
749
37.2k
    return ((flags & feature) != 0);
750
37.2k
}
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
741
36
{
742
36
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
36
    flags = type->tp_flags;
748
36
#endif
749
36
    return ((flags & feature) != 0);
750
36
}
Unexecuted instantiation: pymath.c:PyType_HasFeature
Unexecuted instantiation: pystate.c:PyType_HasFeature
pythonrun.c:PyType_HasFeature
Line
Count
Source
741
121k
{
742
121k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
121k
    flags = type->tp_flags;
748
121k
#endif
749
121k
    return ((flags & feature) != 0);
750
121k
}
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
741
4.54M
{
742
4.54M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
4.54M
    flags = type->tp_flags;
748
4.54M
#endif
749
4.54M
    return ((flags & feature) != 0);
750
4.54M
}
Unexecuted instantiation: structmember.c:PyType_HasFeature
symtable.c:PyType_HasFeature
Line
Count
Source
741
76.2k
{
742
76.2k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
76.2k
    flags = type->tp_flags;
748
76.2k
#endif
749
76.2k
    return ((flags & feature) != 0);
750
76.2k
}
sysmodule.c:PyType_HasFeature
Line
Count
Source
741
1.87M
{
742
1.87M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
1.87M
    flags = type->tp_flags;
748
1.87M
#endif
749
1.87M
    return ((flags & feature) != 0);
750
1.87M
}
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
741
5.18M
{
742
5.18M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
5.18M
    flags = type->tp_flags;
748
5.18M
#endif
749
5.18M
    return ((flags & feature) != 0);
750
5.18M
}
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
741
32.7k
{
742
32.7k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
32.7k
    flags = type->tp_flags;
748
32.7k
#endif
749
32.7k
    return ((flags & feature) != 0);
750
32.7k
}
_codecsmodule.c:PyType_HasFeature
Line
Count
Source
741
1.96M
{
742
1.96M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
1.96M
    flags = type->tp_flags;
748
1.96M
#endif
749
1.96M
    return ((flags & feature) != 0);
750
1.96M
}
_collectionsmodule.c:PyType_HasFeature
Line
Count
Source
741
33.7k
{
742
33.7k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
33.7k
    flags = type->tp_flags;
748
33.7k
#endif
749
33.7k
    return ((flags & feature) != 0);
750
33.7k
}
Unexecuted instantiation: errnomodule.c:PyType_HasFeature
_iomodule.c:PyType_HasFeature
Line
Count
Source
741
69.8k
{
742
69.8k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
69.8k
    flags = type->tp_flags;
748
69.8k
#endif
749
69.8k
    return ((flags & feature) != 0);
750
69.8k
}
Unexecuted instantiation: iobase.c:PyType_HasFeature
fileio.c:PyType_HasFeature
Line
Count
Source
741
31.8k
{
742
31.8k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
31.8k
    flags = type->tp_flags;
748
31.8k
#endif
749
31.8k
    return ((flags & feature) != 0);
750
31.8k
}
Unexecuted instantiation: bytesio.c:PyType_HasFeature
bufferedio.c:PyType_HasFeature
Line
Count
Source
741
12.7k
{
742
12.7k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
12.7k
    flags = type->tp_flags;
748
12.7k
#endif
749
12.7k
    return ((flags & feature) != 0);
750
12.7k
}
textio.c:PyType_HasFeature
Line
Count
Source
741
802k
{
742
802k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
802k
    flags = type->tp_flags;
748
802k
#endif
749
802k
    return ((flags & feature) != 0);
750
802k
}
stringio.c:PyType_HasFeature
Line
Count
Source
741
99.7k
{
742
99.7k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
99.7k
    flags = type->tp_flags;
748
99.7k
#endif
749
99.7k
    return ((flags & feature) != 0);
750
99.7k
}
itertoolsmodule.c:PyType_HasFeature
Line
Count
Source
741
12
{
742
12
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
12
    flags = type->tp_flags;
748
12
#endif
749
12
    return ((flags & feature) != 0);
750
12
}
sre.c:PyType_HasFeature
Line
Count
Source
741
148M
{
742
148M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
148M
    flags = type->tp_flags;
748
148M
#endif
749
148M
    return ((flags & feature) != 0);
750
148M
}
Unexecuted instantiation: _sysconfig.c:PyType_HasFeature
_threadmodule.c:PyType_HasFeature
Line
Count
Source
741
8
{
742
8
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
8
    flags = type->tp_flags;
748
8
#endif
749
8
    return ((flags & feature) != 0);
750
8
}
timemodule.c:PyType_HasFeature
Line
Count
Source
741
192
{
742
192
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
192
    flags = type->tp_flags;
748
192
#endif
749
192
    return ((flags & feature) != 0);
750
192
}
Unexecuted instantiation: _typesmodule.c:PyType_HasFeature
Unexecuted instantiation: _typingmodule.c:PyType_HasFeature
_weakref.c:PyType_HasFeature
Line
Count
Source
741
14.4k
{
742
14.4k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
14.4k
    flags = type->tp_flags;
748
14.4k
#endif
749
14.4k
    return ((flags & feature) != 0);
750
14.4k
}
_abc.c:PyType_HasFeature
Line
Count
Source
741
118k
{
742
118k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
118k
    flags = type->tp_flags;
748
118k
#endif
749
118k
    return ((flags & feature) != 0);
750
118k
}
_functoolsmodule.c:PyType_HasFeature
Line
Count
Source
741
40.4k
{
742
40.4k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
40.4k
    flags = type->tp_flags;
748
40.4k
#endif
749
40.4k
    return ((flags & feature) != 0);
750
40.4k
}
Unexecuted instantiation: _localemodule.c:PyType_HasFeature
Unexecuted instantiation: _opcode.c:PyType_HasFeature
_operator.c:PyType_HasFeature
Line
Count
Source
741
4
{
742
4
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
4
    flags = type->tp_flags;
748
4
#endif
749
4
    return ((flags & feature) != 0);
750
4
}
_stat.c:PyType_HasFeature
Line
Count
Source
741
423
{
742
423
    unsigned long flags;
743
423
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
423
    flags = PyType_GetFlags(type);
746
#else
747
    flags = type->tp_flags;
748
#endif
749
423
    return ((flags & feature) != 0);
750
423
}
Unexecuted instantiation: symtablemodule.c:PyType_HasFeature
Unexecuted instantiation: pwdmodule.c:PyType_HasFeature
getpath.c:PyType_HasFeature
Line
Count
Source
741
972
{
742
972
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
972
    flags = type->tp_flags;
748
972
#endif
749
972
    return ((flags & feature) != 0);
750
972
}
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
741
515M
{
742
515M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
515M
    flags = type->tp_flags;
748
515M
#endif
749
515M
    return ((flags & feature) != 0);
750
515M
}
Unexecuted instantiation: boolobject.c:PyType_HasFeature
bytes_methods.c:PyType_HasFeature
Line
Count
Source
741
87.9k
{
742
87.9k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
87.9k
    flags = type->tp_flags;
748
87.9k
#endif
749
87.9k
    return ((flags & feature) != 0);
750
87.9k
}
bytearrayobject.c:PyType_HasFeature
Line
Count
Source
741
16.9M
{
742
16.9M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
16.9M
    flags = type->tp_flags;
748
16.9M
#endif
749
16.9M
    return ((flags & feature) != 0);
750
16.9M
}
Unexecuted instantiation: capsule.c:PyType_HasFeature
Unexecuted instantiation: cellobject.c:PyType_HasFeature
Unexecuted instantiation: classobject.c:PyType_HasFeature
codeobject.c:PyType_HasFeature
Line
Count
Source
741
1.86M
{
742
1.86M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
1.86M
    flags = type->tp_flags;
748
1.86M
#endif
749
1.86M
    return ((flags & feature) != 0);
750
1.86M
}
Unexecuted instantiation: complexobject.c:PyType_HasFeature
descrobject.c:PyType_HasFeature
Line
Count
Source
741
27.2M
{
742
27.2M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
27.2M
    flags = type->tp_flags;
748
27.2M
#endif
749
27.2M
    return ((flags & feature) != 0);
750
27.2M
}
enumobject.c:PyType_HasFeature
Line
Count
Source
741
42.1M
{
742
42.1M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
42.1M
    flags = type->tp_flags;
748
42.1M
#endif
749
42.1M
    return ((flags & feature) != 0);
750
42.1M
}
genobject.c:PyType_HasFeature
Line
Count
Source
741
91.1k
{
742
91.1k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
91.1k
    flags = type->tp_flags;
748
91.1k
#endif
749
91.1k
    return ((flags & feature) != 0);
750
91.1k
}
fileobject.c:PyType_HasFeature
Line
Count
Source
741
6.35k
{
742
6.35k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
6.35k
    flags = type->tp_flags;
748
6.35k
#endif
749
6.35k
    return ((flags & feature) != 0);
750
6.35k
}
Unexecuted instantiation: frameobject.c:PyType_HasFeature
funcobject.c:PyType_HasFeature
Line
Count
Source
741
109k
{
742
109k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
109k
    flags = type->tp_flags;
748
109k
#endif
749
109k
    return ((flags & feature) != 0);
750
109k
}
Unexecuted instantiation: interpolationobject.c:PyType_HasFeature
iterobject.c:PyType_HasFeature
Line
Count
Source
741
3.23M
{
742
3.23M
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
3.23M
    flags = type->tp_flags;
748
3.23M
#endif
749
3.23M
    return ((flags & feature) != 0);
750
3.23M
}
lazyimportobject.c:PyType_HasFeature
Line
Count
Source
741
338
{
742
338
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
338
    flags = type->tp_flags;
748
338
#endif
749
338
    return ((flags & feature) != 0);
750
338
}
Unexecuted instantiation: odictobject.c:PyType_HasFeature
methodobject.c:PyType_HasFeature
Line
Count
Source
741
216
{
742
216
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
216
    flags = type->tp_flags;
748
216
#endif
749
216
    return ((flags & feature) != 0);
750
216
}
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
741
4
{
742
4
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
4
    flags = type->tp_flags;
748
4
#endif
749
4
    return ((flags & feature) != 0);
750
4
}
Unexecuted instantiation: asdl.c:PyType_HasFeature
Unexecuted instantiation: assemble.c:PyType_HasFeature
Unexecuted instantiation: ast.c:PyType_HasFeature
ast_preprocess.c:PyType_HasFeature
Line
Count
Source
741
105
{
742
105
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
105
    flags = type->tp_flags;
748
105
#endif
749
105
    return ((flags & feature) != 0);
750
105
}
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
741
51.6k
{
742
51.6k
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
51.6k
    flags = type->tp_flags;
748
51.6k
#endif
749
51.6k
    return ((flags & feature) != 0);
750
51.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
741
344
{
742
344
    unsigned long flags;
743
#ifdef Py_LIMITED_API
744
    // PyTypeObject is opaque in the limited C API
745
    flags = PyType_GetFlags(type);
746
#else
747
344
    flags = type->tp_flags;
748
344
#endif
749
344
    return ((flags & feature) != 0);
750
344
}
Unexecuted instantiation: string_tokenizer.c:PyType_HasFeature
Unexecuted instantiation: utf8_tokenizer.c:PyType_HasFeature
Unexecuted instantiation: getcompiler.c:PyType_HasFeature
Unexecuted instantiation: mystrtoul.c:PyType_HasFeature
Unexecuted instantiation: token.c:PyType_HasFeature
Unexecuted instantiation: action_helpers.c:PyType_HasFeature
Unexecuted instantiation: string_parser.c:PyType_HasFeature
751
752
10.6G
#define PyType_FastSubclass(type, flag) PyType_HasFeature((type), (flag))
753
754
637M
static inline int PyType_Check(PyObject *op) {
755
637M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
637M
}
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
754
200
static inline int PyType_Check(PyObject *op) {
755
200
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
200
}
Unexecuted instantiation: floatobject.c:PyType_Check
Unexecuted instantiation: listobject.c:PyType_Check
Unexecuted instantiation: longobject.c:PyType_Check
Unexecuted instantiation: dictobject.c:PyType_Check
Unexecuted instantiation: memoryobject.c:PyType_Check
Unexecuted instantiation: moduleobject.c:PyType_Check
Unexecuted instantiation: object.c:PyType_Check
Unexecuted instantiation: obmalloc.c:PyType_Check
Unexecuted instantiation: picklebufobject.c:PyType_Check
Unexecuted instantiation: rangeobject.c:PyType_Check
Unexecuted instantiation: setobject.c:PyType_Check
Unexecuted instantiation: sliceobject.c:PyType_Check
Unexecuted instantiation: structseq.c:PyType_Check
Unexecuted instantiation: templateobject.c:PyType_Check
Unexecuted instantiation: tupleobject.c:PyType_Check
typeobject.c:PyType_Check
Line
Count
Source
754
90.1M
static inline int PyType_Check(PyObject *op) {
755
90.1M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
90.1M
}
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
754
2.28k
static inline int PyType_Check(PyObject *op) {
755
2.28k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
2.28k
}
weakrefobject.c:PyType_Check
Line
Count
Source
754
52.9M
static inline int PyType_Check(PyObject *op) {
755
52.9M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
52.9M
}
_warnings.c:PyType_Check
Line
Count
Source
754
1.09M
static inline int PyType_Check(PyObject *op) {
755
1.09M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
1.09M
}
bltinmodule.c:PyType_Check
Line
Count
Source
754
21.5k
static inline int PyType_Check(PyObject *op) {
755
21.5k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
21.5k
}
ceval.c:PyType_Check
Line
Count
Source
754
212M
static inline int PyType_Check(PyObject *op) {
755
212M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
212M
}
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
754
157M
static inline int PyType_Check(PyObject *op) {
755
157M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
157M
}
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
754
4.46M
static inline int PyType_Check(PyObject *op) {
755
4.46M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
4.46M
}
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
754
36.8k
static inline int PyType_Check(PyObject *op) {
755
36.8k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
36.8k
}
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
754
90.7M
static inline int PyType_Check(PyObject *op) {
755
90.7M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
90.7M
}
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
754
26.9M
static inline int PyType_Check(PyObject *op) {
755
26.9M
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
26.9M
}
Unexecuted instantiation: enumobject.c:PyType_Check
genobject.c:PyType_Check
Line
Count
Source
754
45.5k
static inline int PyType_Check(PyObject *op) {
755
45.5k
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
45.5k
}
Unexecuted instantiation: fileobject.c:PyType_Check
Unexecuted instantiation: frameobject.c:PyType_Check
Unexecuted instantiation: funcobject.c:PyType_Check
Unexecuted instantiation: interpolationobject.c:PyType_Check
Unexecuted instantiation: iterobject.c:PyType_Check
Unexecuted instantiation: lazyimportobject.c:PyType_Check
Unexecuted instantiation: odictobject.c:PyType_Check
methodobject.c:PyType_Check
Line
Count
Source
754
108
static inline int PyType_Check(PyObject *op) {
755
108
    return PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_TYPE_SUBCLASS);
756
108
}
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
757
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
758
968M
#  define PyType_Check(op) PyType_Check(_PyObject_CAST(op))
759
#endif
760
761
#define _PyType_CAST(op) \
762
345M
    (assert(PyType_Check(op)), _Py_CAST(PyTypeObject*, (op)))
763
764
87.4M
static inline int PyType_CheckExact(PyObject *op) {
765
87.4M
    return Py_IS_TYPE(op, &PyType_Type);
766
87.4M
}
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
764
87.4M
static inline int PyType_CheckExact(PyObject *op) {
765
87.4M
    return Py_IS_TYPE(op, &PyType_Type);
766
87.4M
}
Unexecuted instantiation: boolobject.c:PyType_CheckExact
Unexecuted instantiation: bytes_methods.c:PyType_CheckExact
Unexecuted instantiation: bytearrayobject.c:PyType_CheckExact
Unexecuted instantiation: capsule.c:PyType_CheckExact
Unexecuted instantiation: cellobject.c:PyType_CheckExact
Unexecuted instantiation: classobject.c:PyType_CheckExact
Unexecuted instantiation: codeobject.c:PyType_CheckExact
Unexecuted instantiation: complexobject.c:PyType_CheckExact
Unexecuted instantiation: descrobject.c:PyType_CheckExact
Unexecuted instantiation: enumobject.c:PyType_CheckExact
Unexecuted instantiation: genobject.c:PyType_CheckExact
Unexecuted instantiation: fileobject.c:PyType_CheckExact
Unexecuted instantiation: frameobject.c:PyType_CheckExact
Unexecuted instantiation: funcobject.c:PyType_CheckExact
Unexecuted instantiation: interpolationobject.c:PyType_CheckExact
Unexecuted instantiation: iterobject.c:PyType_CheckExact
Unexecuted instantiation: lazyimportobject.c:PyType_CheckExact
Unexecuted instantiation: odictobject.c:PyType_CheckExact
Unexecuted instantiation: methodobject.c:PyType_CheckExact
Unexecuted instantiation: namespaceobject.c:PyType_CheckExact
Unexecuted instantiation: _contextvars.c:PyType_CheckExact
Unexecuted instantiation: Python-ast.c:PyType_CheckExact
Unexecuted instantiation: Python-tokenize.c:PyType_CheckExact
Unexecuted instantiation: asdl.c:PyType_CheckExact
Unexecuted instantiation: assemble.c:PyType_CheckExact
Unexecuted instantiation: ast.c:PyType_CheckExact
Unexecuted instantiation: ast_preprocess.c:PyType_CheckExact
Unexecuted instantiation: ast_unparse.c:PyType_CheckExact
Unexecuted instantiation: critical_section.c:PyType_CheckExact
Unexecuted instantiation: crossinterp.c:PyType_CheckExact
Unexecuted instantiation: getcopyright.c:PyType_CheckExact
Unexecuted instantiation: getplatform.c:PyType_CheckExact
Unexecuted instantiation: getversion.c:PyType_CheckExact
Unexecuted instantiation: optimizer.c:PyType_CheckExact
Unexecuted instantiation: pathconfig.c:PyType_CheckExact
Unexecuted instantiation: pegen.c:PyType_CheckExact
Unexecuted instantiation: pegen_errors.c:PyType_CheckExact
Unexecuted instantiation: parser.c:PyType_CheckExact
Unexecuted instantiation: buffer.c:PyType_CheckExact
Unexecuted instantiation: lexer.c:PyType_CheckExact
Unexecuted instantiation: state.c:PyType_CheckExact
Unexecuted instantiation: readline_tokenizer.c:PyType_CheckExact
Unexecuted instantiation: string_tokenizer.c:PyType_CheckExact
Unexecuted instantiation: utf8_tokenizer.c:PyType_CheckExact
Unexecuted instantiation: getcompiler.c:PyType_CheckExact
Unexecuted instantiation: mystrtoul.c:PyType_CheckExact
Unexecuted instantiation: token.c:PyType_CheckExact
Unexecuted instantiation: action_helpers.c:PyType_CheckExact
Unexecuted instantiation: string_parser.c:PyType_CheckExact
767
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 < 0x030b0000
768
87.4M
#  define PyType_CheckExact(op) PyType_CheckExact(_PyObject_CAST(op))
769
#endif
770
771
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030d0000
772
PyAPI_FUNC(PyObject *) PyType_GetModuleByDef(PyTypeObject *, PyModuleDef *);
773
#endif
774
775
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x030e0000
776
PyAPI_FUNC(int) PyType_Freeze(PyTypeObject *type);
777
#endif
778
779
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= _Py_PACK_VERSION(3, 15)
780
PyAPI_FUNC(PyObject *) PyType_GetModuleByToken(PyTypeObject *type,
781
                                               const void *token);
782
PyAPI_FUNC(void *) PyObject_GetTypeData_DuringGC(PyObject *obj,
783
                                                 PyTypeObject *cls);
784
PyAPI_FUNC(void *) PyType_GetModuleState_DuringGC(PyTypeObject *);
785
PyAPI_FUNC(int) PyType_GetBaseByToken_DuringGC(PyTypeObject *,
786
                                               void *, PyTypeObject **);
787
PyAPI_FUNC(PyObject *) PyType_GetModule_DuringGC(PyTypeObject *);
788
PyAPI_FUNC(PyObject *) PyType_GetModuleByToken_DuringGC(PyTypeObject *type,
789
                                                        const void *token);
790
#endif
791
792
#ifdef __cplusplus
793
}
794
#endif
795
#endif   // !Py_OBJECT_H