mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
GH-128914: Remove conditional stack effects from bytecodes.c
and the code generators (GH-128918)
This commit is contained in:
parent
0a6412f9cc
commit
ab61d3f430
44 changed files with 1460 additions and 1679 deletions
16
Lib/dis.py
16
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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue