Unverified Kaydet (Commit) 12e7cd8a authored tarafından Serhiy Storchaka's avatar Serhiy Storchaka Kaydeden (comit) GitHub

bpo-32565: Add missed versionadded directives for all new opcodes. (#5199)

üst ab328756
......@@ -339,12 +339,16 @@ The Python compiler currently generates the following bytecode instructions.
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**
......@@ -555,11 +559,14 @@ the original TOS1.
the CO_ITERABLE_COROUTINE flag, or resolves
``o.__await__``.
.. versionadded:: 3.5
.. opcode:: GET_AITER
Implements ``TOS = TOS.__aiter__()``.
.. versionadded:: 3.5
.. versionchanged:: 3.7
Returning awaitable objects from ``__aiter__`` is no longer
supported.
......@@ -570,17 +577,23 @@ the original TOS1.
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**
......@@ -618,6 +631,8 @@ the original TOS1.
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
......@@ -640,6 +655,7 @@ iterations of the loop.
.. versionadded:: 3.3
.. opcode:: SETUP_ANNOTATIONS
Checks whether ``__annotations__`` is defined in ``locals()``, if not it is
......@@ -649,6 +665,7 @@ iterations of the loop.
.. versionadded:: 3.6
.. opcode:: IMPORT_STAR
Loads all symbols not starting with ``'_'`` directly from the module TOS to
......@@ -694,6 +711,8 @@ iterations of the loop.
store it in (a) variable(s) (:opcode:`STORE_FAST`, :opcode:`STORE_NAME`, or
:opcode:`UNPACK_SEQUENCE`).
.. versionadded:: 3.2
.. opcode:: WITH_CLEANUP_START
......@@ -924,23 +943,31 @@ All of the following opcodes use their arguments.
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)
......@@ -1013,6 +1040,8 @@ All of the following opcodes use their arguments.
consulting the cell. This is used for loading free variables in class
bodies.
.. versionadded:: 3.4
.. opcode:: STORE_DEREF (i)
......@@ -1025,6 +1054,8 @@ All of the following opcodes use their arguments.
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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment