Skip to content

Commit 7e52c3e

Browse files
ilevkivskyibrettcannon
authored andcommitted
bpo-28810: Document BUILD_TUPLE_UNPACK_WITH_CALL bytecode added in 3.6 (pythonGH-239)
1 parent d4e8928 commit 7e52c3e

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

Doc/library/dis.rst

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -807,6 +807,15 @@ All of the following opcodes use their arguments.
807807
.. versionadded:: 3.5
808808

809809

810+
.. opcode:: BUILD_TUPLE_UNPACK_WITH_CALL (count)
811+
812+
This is similar to :opcode:`BUILD_TUPLE_UNPACK`,
813+
but is used for ``f(*x, *y, *z)`` call syntax. The stack item at position
814+
``count + 1`` should be the corresponding callable ``f``.
815+
816+
.. versionadded:: 3.6
817+
818+
810819
.. opcode:: BUILD_LIST_UNPACK (count)
811820

812821
This is similar to :opcode:`BUILD_TUPLE_UNPACK`, but pushes a list
@@ -834,14 +843,16 @@ All of the following opcodes use their arguments.
834843
.. versionadded:: 3.5
835844

836845

837-
.. opcode:: BUILD_MAP_UNPACK_WITH_CALL (oparg)
846+
.. opcode:: BUILD_MAP_UNPACK_WITH_CALL (count)
838847

839848
This is similar to :opcode:`BUILD_MAP_UNPACK`,
840-
but is used for ``f(**x, **y, **z)`` call syntax. The lowest byte of
841-
*oparg* is the count of mappings, the relative position of the
842-
corresponding callable ``f`` is encoded in the second byte of *oparg*.
849+
but is used for ``f(**x, **y, **z)`` call syntax. The stack item at
850+
position ``count + 2`` should be the corresponding callable ``f``.
843851

844852
.. versionadded:: 3.5
853+
.. versionchanged:: 3.6
854+
The position of the callable is determined by adding 2 to the opcode
855+
argument instead of encoding it in the second byte of the argument.
845856

846857

847858
.. opcode:: LOAD_ATTR (namei)

0 commit comments

Comments
 (0)