diff options
| author | Eric Snow <ericsnowcurrently@gmail.com> | 2021-06-07 16:52:00 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-07 16:52:00 -0600 |
| commit | 631f9938b1604d4f893417ec339b9e0fa9196fb1 (patch) | |
| tree | 6a72bf35dafb42ad3d00e153e244538db4a646ee /Lib/opcode.py | |
| parent | e915db3e9e512249a6f494c0b331db2d021e1f56 (diff) | |
| download | cpython-git-631f9938b1604d4f893417ec339b9e0fa9196fb1.tar.gz | |
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
Diffstat (limited to 'Lib/opcode.py')
| -rw-r--r-- | Lib/opcode.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Lib/opcode.py b/Lib/opcode.py index da143fe01f..4d5343179e 100644 --- a/Lib/opcode.py +++ b/Lib/opcode.py @@ -181,14 +181,16 @@ def_op('CALL_FUNCTION', 131) # #args def_op('MAKE_FUNCTION', 132) # Flags def_op('BUILD_SLICE', 133) # Number of items -def_op('LOAD_CLOSURE', 135) +def_op('MAKE_CELL', 135) hasfree.append(135) -def_op('LOAD_DEREF', 136) +def_op('LOAD_CLOSURE', 136) hasfree.append(136) -def_op('STORE_DEREF', 137) +def_op('LOAD_DEREF', 137) hasfree.append(137) -def_op('DELETE_DEREF', 138) +def_op('STORE_DEREF', 138) hasfree.append(138) +def_op('DELETE_DEREF', 139) +hasfree.append(139) def_op('CALL_FUNCTION_KW', 141) # #args + #kwargs def_op('CALL_FUNCTION_EX', 142) # Flags |
