summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS.d/next/Core and Builtins/2022-02-22-14-03-56.bpo-46329.RX_AzJ.rst1
-rw-r--r--Python/specialize.c3
2 files changed, 2 insertions, 2 deletions
diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-02-22-14-03-56.bpo-46329.RX_AzJ.rst b/Misc/NEWS.d/next/Core and Builtins/2022-02-22-14-03-56.bpo-46329.RX_AzJ.rst
new file mode 100644
index 0000000..8d1d502
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2022-02-22-14-03-56.bpo-46329.RX_AzJ.rst
@@ -0,0 +1 @@
+Fix specialization stats gathering for :opcode:`PRECALL` instructions.
diff --git a/Python/specialize.c b/Python/specialize.c
index b46f701..91010a5 100644
--- a/Python/specialize.c
+++ b/Python/specialize.c
@@ -160,6 +160,7 @@ _Py_GetSpecializationStats(void) {
err += add_stat_dict(stats, BINARY_OP, "binary_op");
err += add_stat_dict(stats, COMPARE_OP, "compare_op");
err += add_stat_dict(stats, UNPACK_SEQUENCE, "unpack_sequence");
+ err += add_stat_dict(stats, PRECALL, "precall");
if (err < 0) {
Py_DECREF(stats);
return NULL;
@@ -180,8 +181,6 @@ print_spec_stats(FILE *out, OpcodeStats *stats)
/* Mark some opcodes as specializable for stats,
* even though we don't specialize them yet. */
fprintf(out, "opcode[%d].specializable : 1\n", FOR_ITER);
- fprintf(out, "opcode[%d].specializable : 1\n", PRECALL);
- fprintf(out, "opcode[%d].specializable : 1\n", UNPACK_SEQUENCE);
for (int i = 0; i < 256; i++) {
if (adaptive_opcodes[i]) {
fprintf(out, "opcode[%d].specializable : 1\n", i);