Duplicates the reference on top of the stack.
+ .. versionadded:: 3.2
+
.. opcode:: DUP_TOP_TWO
Duplicates the two references on top of the stack, leaving them in the
same order.
+ .. versionadded:: 3.2
+
**Unary operations**
the CO_ITERABLE_COROUTINE flag, or resolves
``o.__await__``.
+ .. versionadded:: 3.5
+
.. opcode:: GET_AITER
Implements ``TOS = get_awaitable(TOS.__aiter__())``. See ``GET_AWAITABLE``
for details about ``get_awaitable``
+ .. versionadded:: 3.5
+
.. opcode:: GET_ANEXT
Implements ``PUSH(get_awaitable(TOS.__anext__()))``. See ``GET_AWAITABLE``
for details about ``get_awaitable``
+ .. versionadded:: 3.5
+
.. opcode:: BEFORE_ASYNC_WITH
Resolves ``__aenter__`` and ``__aexit__`` from the object on top of the
stack. Pushes ``__aexit__`` and result of ``__aenter__()`` to the stack.
+ .. versionadded:: 3.5
+
.. opcode:: SETUP_ASYNC_WITH
Creates a new frame object.
+ .. versionadded:: 3.5
+
**Miscellaneous opcodes**
Calls ``dict.setitem(TOS1[-i], TOS, TOS1)``. Used to implement dict
comprehensions.
+ .. versionadded:: 3.1
+
For all of the :opcode:`SET_ADD`, :opcode:`LIST_APPEND` and :opcode:`MAP_ADD`
instructions, while the added value or key/value pair is popped off, the
container object remains on the stack so that it is available for further
.. versionadded:: 3.3
+
.. opcode:: SETUP_ANNOTATIONS
Checks whether ``__annotations__`` is defined in ``locals()``, if not it is
.. versionadded:: 3.6
+
.. opcode:: IMPORT_STAR
Loads all symbols not starting with ``'_'`` directly from the module TOS to
store it in (a) variable(s) (:opcode:`STORE_FAST`, :opcode:`STORE_NAME`, or
:opcode:`UNPACK_SEQUENCE`).
+ .. versionadded:: 3.2
+
.. opcode:: WITH_CLEANUP_START
If TOS is true, sets the bytecode counter to *target*. TOS is popped.
+ .. versionadded:: 3.1
+
.. opcode:: POP_JUMP_IF_FALSE (target)
If TOS is false, sets the bytecode counter to *target*. TOS is popped.
+ .. versionadded:: 3.1
+
.. opcode:: JUMP_IF_TRUE_OR_POP (target)
If TOS is true, sets the bytecode counter to *target* and leaves TOS on the
stack. Otherwise (TOS is false), TOS is popped.
+ .. versionadded:: 3.1
+
.. opcode:: JUMP_IF_FALSE_OR_POP (target)
If TOS is false, sets the bytecode counter to *target* and leaves TOS on the
stack. Otherwise (TOS is true), TOS is popped.
+ .. versionadded:: 3.1
+
.. opcode:: JUMP_ABSOLUTE (target)
consulting the cell. This is used for loading free variables in class
bodies.
+ .. versionadded:: 3.4
+
.. opcode:: STORE_DEREF (i)
Empties the cell contained in slot *i* of the cell and free variable storage.
Used by the :keyword:`del` statement.
+ .. versionadded:: 3.2
+
.. opcode:: RAISE_VARARGS (argc)