diff options
author | Guido van Rossum <guido@python.org> | 2023-09-27 22:27:44 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-27 22:27:44 (GMT) |
commit | 5bb6f0fcba663e1006f9063d1027ce8bd9f8effb (patch) | |
tree | 79cfb95b0d8d6582cfeca4f53b0a69ce2d24565f /Include/internal/pycore_uops.h | |
parent | 45cf5b0c69bb5c51f33fc681d90c45147e311ddf (diff) | |
download | cpython-5bb6f0fcba663e1006f9063d1027ce8bd9f8effb.zip cpython-5bb6f0fcba663e1006f9063d1027ce8bd9f8effb.tar.gz cpython-5bb6f0fcba663e1006f9063d1027ce8bd9f8effb.tar.bz2 |
gh-104909: Split some more insts into ops (#109943)
These are the most popular specializations of `LOAD_ATTR` and `STORE_ATTR`
that weren't already viable uops:
* Split LOAD_ATTR_METHOD_WITH_VALUES
* Split LOAD_ATTR_METHOD_NO_DICT
* Split LOAD_ATTR_SLOT
* Split STORE_ATTR_SLOT
* Split STORE_ATTR_INSTANCE_VALUE
Also:
* Add `-v` flag to code generator which prints a list of non-viable uops
(easter-egg: it can print execution counts -- see source)
* Double _Py_UOP_MAX_TRACE_LENGTH to 128
I had dropped one of the DEOPT_IF() calls! :-(
Diffstat (limited to 'Include/internal/pycore_uops.h')
-rw-r--r-- | Include/internal/pycore_uops.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Include/internal/pycore_uops.h b/Include/internal/pycore_uops.h index 249f5c0..d8a7d97 100644 --- a/Include/internal/pycore_uops.h +++ b/Include/internal/pycore_uops.h @@ -10,7 +10,7 @@ extern "C" { #include "pycore_frame.h" // _PyInterpreterFrame -#define _Py_UOP_MAX_TRACE_LENGTH 64 +#define _Py_UOP_MAX_TRACE_LENGTH 128 typedef struct { uint32_t opcode; |