mirror of
https://github.com/python/cpython.git
synced 2025-12-15 21:44:50 +00:00
These were reverted in gh-26530 (commit17c4edc) due to refleaks. *2c1e258- Compute deref offsets in compiler (gh-25152) *b2bf2bc- Add new internal code objects fields: co_fastlocalnames and co_fastlocalkinds. (gh-26388) This change fixes the refleaks. https://bugs.python.org/issue43693
This commit is contained in:
parent
001eb520b5
commit
2ab27c4af4
23 changed files with 6044 additions and 5710 deletions
|
|
@ -1058,17 +1058,24 @@ All of the following opcodes use their arguments.
|
|||
|
||||
.. opcode:: LOAD_CLOSURE (i)
|
||||
|
||||
Pushes a reference to the cell contained in slot *i* of the cell and free
|
||||
variable storage. The name of the variable is ``co_cellvars[i]`` if *i* is
|
||||
less than the length of *co_cellvars*. Otherwise it is ``co_freevars[i -
|
||||
len(co_cellvars)]``.
|
||||
Pushes a reference to the cell contained in slot ``i`` of the "fast locals"
|
||||
storage. The name of the variable is ``co_fastlocalnames[i]``.
|
||||
|
||||
Note that ``LOAD_CLOSURE`` is effectively an alias for ``LOAD_FAST``.
|
||||
It exists to keep bytecode a little more readable.
|
||||
|
||||
.. versionchanged:: 3.11
|
||||
``i`` is no longer offset by the length of ``co_varnames``.
|
||||
|
||||
|
||||
.. opcode:: LOAD_DEREF (i)
|
||||
|
||||
Loads the cell contained in slot *i* of the cell and free variable storage.
|
||||
Loads the cell contained in slot ``i`` of the "fast locals" storage.
|
||||
Pushes a reference to the object the cell contains on the stack.
|
||||
|
||||
.. versionchanged:: 3.11
|
||||
``i`` is no longer offset by the length of ``co_varnames``.
|
||||
|
||||
|
||||
.. opcode:: LOAD_CLASSDEREF (i)
|
||||
|
||||
|
|
@ -1078,20 +1085,29 @@ All of the following opcodes use their arguments.
|
|||
|
||||
.. versionadded:: 3.4
|
||||
|
||||
.. versionchanged:: 3.11
|
||||
``i`` is no longer offset by the length of ``co_varnames``.
|
||||
|
||||
|
||||
.. opcode:: STORE_DEREF (i)
|
||||
|
||||
Stores TOS into the cell contained in slot *i* of the cell and free variable
|
||||
Stores TOS into the cell contained in slot ``i`` of the "fast locals"
|
||||
storage.
|
||||
|
||||
.. versionchanged:: 3.11
|
||||
``i`` is no longer offset by the length of ``co_varnames``.
|
||||
|
||||
|
||||
.. opcode:: DELETE_DEREF (i)
|
||||
|
||||
Empties the cell contained in slot *i* of the cell and free variable storage.
|
||||
Empties the cell contained in slot ``i`` of the "fast locals" storage.
|
||||
Used by the :keyword:`del` statement.
|
||||
|
||||
.. versionadded:: 3.2
|
||||
|
||||
.. versionchanged:: 3.11
|
||||
``i`` is no longer offset by the length of ``co_varnames``.
|
||||
|
||||
|
||||
.. opcode:: RAISE_VARARGS (argc)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue