Message351081
| Author |
serhiy.storchaka |
| Recipients |
Jim Fasarakis-Hilliard, ZackerySpytz, docs@python, ncoghlan, serhiy.storchaka |
| Date |
2019年09月03日.11:13:43 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1567509223.52.0.516813832585.issue30076@roundup.psfhosted.org> |
| In-reply-to |
| Content |
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. |
|