Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.6] bpo-28810: Document BUILD_TUPLE_UNPACK_WITH_CALL bytecode added in 3.6 #605

Merged
merged 1 commit into from Mar 10, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 15 additions & 4 deletions Doc/library/dis.rst
Expand Up @@ -807,6 +807,15 @@ All of the following opcodes use their arguments.
.. versionadded:: 3.5


.. opcode:: BUILD_TUPLE_UNPACK_WITH_CALL (count)

This is similar to :opcode:`BUILD_TUPLE_UNPACK`,
but is used for ``f(*x, *y, *z)`` call syntax. The stack item at position
``count + 1`` should be the corresponding callable ``f``.

.. versionadded:: 3.6


.. opcode:: BUILD_LIST_UNPACK (count)

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


.. opcode:: BUILD_MAP_UNPACK_WITH_CALL (oparg)
.. opcode:: BUILD_MAP_UNPACK_WITH_CALL (count)

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

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


.. opcode:: LOAD_ATTR (namei)
Expand Down