https://github.com/python/cpython/commit/23e4f80ce2a2bac50acd1785e791316d5b578b8d
commit: 23e4f80ce2a2bac50acd1785e791316d5b578b8d
branch: main
author: Mark Shannon <[email protected]>
committer: gvanrossum <[email protected]>
date: 2024-03-25T13:43:51-07:00
summary:
A few minor tweaks to get stats working and compiling cleanly. (#117219)
Fixes a compilation error when configured with `--enable-pystats`,
an array size issue, and an unused variable.
files:
M Include/cpython/pystats.h
M Python/gc.c
M Python/specialize.c
diff --git a/Include/cpython/pystats.h b/Include/cpython/pystats.h
index 5bf7bacd514699..2fb7723f583cc7 100644
--- a/Include/cpython/pystats.h
+++ b/Include/cpython/pystats.h
@@ -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];
@@ -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 {
diff --git a/Python/gc.c b/Python/gc.c
index 2517b86a41fa53..6d86059174a8cd 100644
--- a/Python/gc.c
+++ b/Python/gc.c
@@ -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
@@ -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);
@@ -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);
diff --git a/Python/specialize.c b/Python/specialize.c
index 801ab1f2e64e5d..c1edf8842faf68 100644
--- a/Python/specialize.c
+++ b/Python/specialize.c
@@ -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);
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]