Skip to content

Commit

Permalink
A few minor tweaks to get stats working and compiling cleanly. (pytho…
Browse files Browse the repository at this point in the history
…n#117219)

Fixes a compilation error when configured with `--enable-pystats`,
an array size issue, and an unused variable.
  • Loading branch information
markshannon authored Mar 25, 2024
1 parent 507896d commit 23e4f80
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 8 deletions.
4 changes: 2 additions & 2 deletions Include/cpython/pystats.h
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ typedef struct _optimization_stats {
uint64_t recursive_call;
uint64_t low_confidence;
uint64_t executors_invalidated;
UOpStats opcode[MAX_UOP_ID];
UOpStats opcode[MAX_UOP_ID+1];
uint64_t unsupported_opcode[256];
uint64_t trace_length_hist[_Py_UOP_HIST_SIZE];
uint64_t trace_run_length_hist[_Py_UOP_HIST_SIZE];
Expand All @@ -128,7 +128,7 @@ typedef struct _optimization_stats {
uint64_t optimizer_failure_reason_no_memory;
uint64_t remove_globals_builtins_changed;
uint64_t remove_globals_incorrect_keys;
uint64_t error_in_opcode[MAX_UOP_ID];
uint64_t error_in_opcode[MAX_UOP_ID+1];
} OptimizationStats;

typedef struct _rare_event_stats {
Expand Down
8 changes: 3 additions & 5 deletions Python/gc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1285,7 +1285,6 @@ gc_collect_young(PyThreadState *tstate,
for (gc = GC_NEXT(young); gc != young; gc = GC_NEXT(gc)) {
count++;
}
GC_STAT_ADD(0, objects_queued, count);
}
#endif

Expand Down Expand Up @@ -1422,7 +1421,6 @@ gc_collect_increment(PyThreadState *tstate, struct gc_collection_stats *stats)
gc_set_old_space(gc, gcstate->visited_space);
increment_size += expand_region_transitively_reachable(&increment, gc, gcstate);
}
GC_STAT_ADD(1, objects_queued, region_size);
PyGC_Head survivors;
gc_list_init(&survivors);
gc_collect_region(tstate, &increment, &survivors, UNTRACK_TUPLES, stats);
Expand Down Expand Up @@ -1805,10 +1803,10 @@ _PyGC_Collect(PyThreadState *tstate, int generation, _PyGC_Reason reason)
_PyErr_SetRaisedException(tstate, exc);
GC_STAT_ADD(generation, objects_collected, stats.collected);
#ifdef Py_STATS
if (_py_stats) {
if (_Py_stats) {
GC_STAT_ADD(generation, object_visits,
_py_stats->object_stats.object_visits);
_py_stats->object_stats.object_visits = 0;
_Py_stats->object_stats.object_visits);
_Py_stats->object_stats.object_visits = 0;
}
#endif
validate_old(gcstate);
Expand Down
1 change: 0 additions & 1 deletion Python/specialize.c
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,6 @@ print_optimization_stats(FILE *out, OptimizationStats *stats)
fprintf(out, "Optimizer remove globals builtins changed: %" PRIu64 "\n", stats->remove_globals_builtins_changed);
fprintf(out, "Optimizer remove globals incorrect keys: %" PRIu64 "\n", stats->remove_globals_incorrect_keys);

const char* const* names;
for (int i = 0; i <= MAX_UOP_ID; i++) {
if (stats->opcode[i].execution_count) {
fprintf(out, "uops[%s].execution_count : %" PRIu64 "\n", _PyUOpName(i), stats->opcode[i].execution_count);
Expand Down

0 comments on commit 23e4f80

Please sign in to comment.