From 3011a097bd9500c007bd8b8d005edeea895f6b44 Mon Sep 17 00:00:00 2001 From: Mark Shannon Date: Thu, 17 Mar 2022 16:14:57 +0000 Subject: Use low bit of LOAD_GLOBAL's oparg to indicate whether it should push an additional NULL. (GH-31933) --- Lib/dis.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'Lib/dis.py') diff --git a/Lib/dis.py b/Lib/dis.py index 2598d4a51c..3b7747b03f 100644 --- a/Lib/dis.py +++ b/Lib/dis.py @@ -28,6 +28,7 @@ MAKE_FUNCTION = opmap['MAKE_FUNCTION'] MAKE_FUNCTION_FLAGS = ('defaults', 'kwdefaults', 'annotations', 'closure') LOAD_CONST = opmap['LOAD_CONST'] +LOAD_GLOBAL = opmap['LOAD_GLOBAL'] BINARY_OP = opmap['BINARY_OP'] CACHE = opmap["CACHE"] @@ -430,7 +431,12 @@ def _get_instructions_bytes(code, varname_from_oparg=None, if op in hasconst: argval, argrepr = _get_const_info(op, arg, co_consts) elif op in hasname: - argval, argrepr = _get_name_info(arg, get_name) + if op == LOAD_GLOBAL: + argval, argrepr = _get_name_info(arg//2, get_name) + if (arg & 1) and argrepr: + argrepr = "NULL + " + argrepr + else: + argval, argrepr = _get_name_info(arg, get_name) elif op in hasjabs: argval = arg*2 argrepr = "to " + repr(argval) -- cgit v1.2.1