[Python-checkins] bpo-46329: Fix test failure when `Py_STATS` is enabled (GH-31511)

markshannon webhook-mailer at python.org
Wed Feb 23 06:01:05 EST 2022


https://github.com/python/cpython/commit/424023efee5b21567b4725015ef143b627112e3c
commit: 424023efee5b21567b4725015ef143b627112e3c
branch: main
author: Brandt Bucher <brandtbucher at microsoft.com>
committer: markshannon <mark at hotpy.org>
date: 2022-02-23T11:00:28Z
summary:

bpo-46329: Fix test failure when `Py_STATS` is enabled (GH-31511)

files:
A Misc/NEWS.d/next/Core and Builtins/2022-02-22-14-03-56.bpo-46329.RX_AzJ.rst
M Python/specialize.c

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 0000000000000..8d1d5027ca9cd
--- /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 b46f701428923..91010a5be3c06 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);



More information about the Python-checkins mailing list