bpo-43693: Compute deref offsets in compiler (gh-25152)

Merges locals and cells into a single array.
Saves a pointer in the interpreter and means that we don't need the LOAD_CLOSURE opcode any more

https://bugs.python.org/issue43693
This commit is contained in:
Mark Shannon 2021-06-04 01:03:54 +01:00 committed by GitHub
parent 35002aa8f6
commit b2bf2bc1ec
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 222 additions and 209 deletions

8
Python/importlib.h generated
View file

@ -430,15 +430,15 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
103,101,244,0,0,0,115,10,0,0,0,12,2,10,1,8,
1,24,1,4,253,114,17,0,0,0,114,84,0,0,0,99,
1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,
3,0,0,0,243,26,0,0,0,135,0,102,1,100,1,100,
2,132,8,125,1,116,0,124,1,136,0,131,2,1,0,124,
3,0,0,0,243,26,0,0,0,135,2,102,1,100,1,100,
2,132,8,125,1,116,0,124,1,136,2,131,2,1,0,124,
1,83,0,41,4,122,49,68,101,99,111,114,97,116,111,114,
32,116,111,32,118,101,114,105,102,121,32,116,104,101,32,110,
97,109,101,100,32,109,111,100,117,108,101,32,105,115,32,98,
117,105,108,116,45,105,110,46,99,2,0,0,0,0,0,0,
0,0,0,0,0,4,0,0,0,19,0,0,0,115,38,0,
0,0,124,1,116,0,106,1,118,1,114,14,116,2,100,1,
160,3,124,1,161,1,124,1,100,2,141,2,130,1,136,0,
160,3,124,1,161,1,124,1,100,2,141,2,130,1,136,2,
124,0,124,1,131,2,83,0,41,3,78,250,29,123,33,114,
125,32,105,115,32,110,111,116,32,97,32,98,117,105,108,116,
45,105,110,32,109,111,100,117,108,101,114,19,0,0,0,41,
@ -466,7 +466,7 @@ const unsigned char _Py_M__importlib_bootstrap[] = {
2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,
19,0,0,0,115,38,0,0,0,116,0,160,1,124,1,161,
1,115,14,116,2,100,1,160,3,124,1,161,1,124,1,100,
2,141,2,130,1,136,0,124,0,124,1,131,2,83,0,169,
2,141,2,130,1,136,2,124,0,124,1,131,2,83,0,169,
3,78,122,27,123,33,114,125,32,105,115,32,110,111,116,32,
97,32,102,114,111,122,101,110,32,109,111,100,117,108,101,114,
19,0,0,0,41,4,114,65,0,0,0,218,9,105,115,95,