mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
bpo-43693: Add the MAKE_CELL opcode and interleave fast locals offsets. (gh-26396)
This moves logic out of the frame initialization code and into the compiler and eval loop. Doing so simplifies the runtime code and allows us to optimize it better. https://bugs.python.org/issue43693
This commit is contained in:
parent
e915db3e9e
commit
631f9938b1
16 changed files with 4469 additions and 4234 deletions
|
@ -1056,6 +1056,14 @@ All of the following opcodes use their arguments.
|
|||
Deletes local ``co_varnames[var_num]``.
|
||||
|
||||
|
||||
.. opcode:: MAKE_CELL (i)
|
||||
|
||||
Creates a new cell in slot ``i``. If that slot is empty then
|
||||
that value is stored into the new cell.
|
||||
|
||||
.. versionadded:: 3.11
|
||||
|
||||
|
||||
.. opcode:: LOAD_CLOSURE (i)
|
||||
|
||||
Pushes a reference to the cell contained in slot ``i`` of the "fast locals"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue