@@ -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