diff options
author | Mark Shannon <mark@hotpy.org> | 2025-01-20 17:09:23 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-20 17:09:23 +0000 |
commit | ab61d3f4303d14a413bc9ae6557c730ffdf7579e (patch) | |
tree | ec35e41ce467f4cb281208970cf453a680d82aed /Lib/dis.py | |
parent | 0a6412f9cc9e694e76299cfbd73ec969b7d47af6 (diff) | |
download | cpython-ab61d3f4303d14a413bc9ae6557c730ffdf7579e.tar.gz cpython-ab61d3f4303d14a413bc9ae6557c730ffdf7579e.zip |
GH-128914: Remove conditional stack effects from `bytecodes.c` and the code generators (GH-128918)
Diffstat (limited to 'Lib/dis.py')
-rw-r--r-- | Lib/dis.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Lib/dis.py b/Lib/dis.py index 109c986bbe3..5a34e228079 100644 --- a/Lib/dis.py +++ b/Lib/dis.py @@ -42,7 +42,9 @@ JUMP_BACKWARD = opmap['JUMP_BACKWARD'] FOR_ITER = opmap['FOR_ITER'] SEND = opmap['SEND'] LOAD_ATTR = opmap['LOAD_ATTR'] +LOAD_METHOD = opmap['LOAD_METHOD'] LOAD_SUPER_ATTR = opmap['LOAD_SUPER_ATTR'] +LOAD_SUPER_METHOD = opmap['LOAD_SUPER_METHOD'] CALL_INTRINSIC_1 = opmap['CALL_INTRINSIC_1'] CALL_INTRINSIC_2 = opmap['CALL_INTRINSIC_2'] LOAD_COMMON_CONSTANT = opmap['LOAD_COMMON_CONSTANT'] @@ -580,16 +582,14 @@ class ArgResolver: argval, argrepr = _get_const_info(deop, arg, self.co_consts) elif deop in hasname: if deop == LOAD_GLOBAL: - argval, argrepr = _get_name_info(arg//2, get_name) - if (arg & 1) and argrepr: - argrepr = f"{argrepr} + NULL" - elif deop == LOAD_ATTR: - argval, argrepr = _get_name_info(arg//2, get_name) - if (arg & 1) and argrepr: + argval, argrepr = _get_name_info(arg, get_name) + elif deop == LOAD_ATTR or deop == LOAD_METHOD: + argval, argrepr = _get_name_info(arg, get_name) + if deop == LOAD_METHOD and argrepr: argrepr = f"{argrepr} + NULL|self" - elif deop == LOAD_SUPER_ATTR: + elif deop == LOAD_SUPER_ATTR or deop == LOAD_SUPER_METHOD: argval, argrepr = _get_name_info(arg//4, get_name) - if (arg & 1) and argrepr: + if deop == LOAD_SUPER_METHOD and argrepr: argrepr = f"{argrepr} + NULL|self" else: argval, argrepr = _get_name_info(arg, get_name) |