gh-115168: Add pystats counter for invalidated executors (GH-115169)

This commit is contained in:
Michael Droettboom 2024-02-26 12:51:47 -05:00 committed by GitHub
parent 96c10c6485
commit b05afdd5ec
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 31 additions and 14 deletions

View file

@ -100,8 +100,8 @@ void _Py_ExecutorClear(_PyExecutorObject *);
void _Py_BloomFilter_Init(_PyBloomFilter *);
void _Py_BloomFilter_Add(_PyBloomFilter *bloom, void *obj);
PyAPI_FUNC(void) _Py_Executor_DependsOn(_PyExecutorObject *executor, void *obj);
PyAPI_FUNC(void) _Py_Executors_InvalidateDependency(PyInterpreterState *interp, void *obj);
extern void _Py_Executors_InvalidateAll(PyInterpreterState *interp);
PyAPI_FUNC(void) _Py_Executors_InvalidateDependency(PyInterpreterState *interp, void *obj, int is_invalidation);
extern void _Py_Executors_InvalidateAll(PyInterpreterState *interp, int is_invalidation);
/* For testing */
PyAPI_FUNC(PyObject *)PyUnstable_Optimizer_NewCounter(void);

View file

@ -115,6 +115,7 @@ typedef struct _optimization_stats {
uint64_t inner_loop;
uint64_t recursive_call;
uint64_t low_confidence;
uint64_t executors_invalidated;
UOpStats opcode[512];
uint64_t unsupported_opcode[256];
uint64_t trace_length_hist[_Py_UOP_HIST_SIZE];