[docs] [issue30076] Opcode names BUILD_MAP_UNPACK_WITH_CALL and BUILD_TUPLE_UNPACK_WITH_CALL are too long
Serhiy Storchaka
report at bugs.python.org
Tue Sep 3 07:13:43 EDT 2019
Serhiy Storchaka <storchaka+cpython at gmail.com> added the comment:
These opcodes are always used with CALL_FUNCTION_EX (which can be used also without any of them).
f(*a, *b, **c, **d)
1 0 LOAD_NAME 0 (f)
2 LOAD_NAME 1 (a)
4 LOAD_NAME 2 (b)
6 BUILD_TUPLE_UNPACK_WITH_CALL 2
8 LOAD_NAME 3 (c)
10 LOAD_NAME 4 (d)
12 BUILD_MAP_UNPACK_WITH_CALL 2
14 CALL_FUNCTION_EX 1
I though about naming CALL_FUNCTION_EX as CALL_FUNCTION_VAR in 3.6, but this name was used in pre-3.6 bytecode with different semantic. Now I think there is smaller change of confusion, so it can be renamed to CALL_FUNCTION_VAR or something other.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue30076>
_______________________________________
More information about the docs
mailing list