Message351081
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. |
|
Date |
User |
Action |
Args |
2019-09-03 11:13:43 | serhiy.storchaka | set | recipients:
+ serhiy.storchaka, ncoghlan, docs@python, Jim Fasarakis-Hilliard, ZackerySpytz |
2019-09-03 11:13:43 | serhiy.storchaka | set | messageid: <1567509223.52.0.516813832585.issue30076@roundup.psfhosted.org> |
2019-09-03 11:13:43 | serhiy.storchaka | link | issue30076 messages |
2019-09-03 11:13:43 | serhiy.storchaka | create | |
|