[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