Serhiy Storchaka <storchaka+cpyt...@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 <rep...@bugs.python.org>
<https://bugs.python.org/issue30076>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to