@@ -177,12 +177,14 @@ typedef struct {
177177 */
178178
179179// Note that these all fit within a byte, as do combinations.
180- // Later, we will use the smaller numbers to differentiate the different
181- // kinds of locals (e.g. pos-only arg, varkwargs, local-only).
182- #define CO_FAST_HIDDEN 0x10
183- #define CO_FAST_LOCAL 0x20
184- #define CO_FAST_CELL 0x40
185- #define CO_FAST_FREE 0x80
180+ #define CO_FAST_ARG_POS (0x02) // pos-only, pos-or-kw, varargs
181+ #define CO_FAST_ARG_KW (0x04) // kw-only, pos-or-kw, varkwargs
182+ #define CO_FAST_ARG_VAR (0x08) // varargs, varkwargs
183+ #define CO_FAST_ARG (CO_FAST_ARG_POS | CO_FAST_ARG_KW | CO_FAST_ARG_VAR)
184+ #define CO_FAST_HIDDEN (0x10)
185+ #define CO_FAST_LOCAL (0x20)
186+ #define CO_FAST_CELL (0x40)
187+ #define CO_FAST_FREE (0x80)
186188
187189typedef unsigned char _PyLocals_Kind ;
188190
@@ -315,6 +317,7 @@ extern void _Py_Specialize_ForIter(_PyStackRef iter, _Py_CODEUNIT *instr, int op
315317extern void _Py_Specialize_Send (_PyStackRef receiver , _Py_CODEUNIT * instr );
316318extern void _Py_Specialize_ToBool (_PyStackRef value , _Py_CODEUNIT * instr );
317319extern void _Py_Specialize_ContainsOp (_PyStackRef value , _Py_CODEUNIT * instr );
320+ extern void _Py_GatherStats_GetIter (_PyStackRef iterable );
318321
319322// Utility functions for reading/writing 32/64-bit values in the inline caches.
320323// Great care should be taken to ensure that these functions remain correct and
@@ -561,6 +564,10 @@ extern void _Py_ClearTLBCIndex(_PyThreadStateImpl *tstate);
561564extern int _Py_ClearUnusedTLBC (PyInterpreterState * interp );
562565#endif
563566
567+
568+ PyAPI_FUNC (int ) _PyCode_ReturnsOnlyNone (PyCodeObject * );
569+
570+
564571#ifdef __cplusplus
565572}
566573#endif
0 commit comments