GH-120507: Lower the BEFORE_WITH and BEFORE_ASYNC_WITH instructions. (#120640)

* Remove BEFORE_WITH and BEFORE_ASYNC_WITH instructions.

* Add LOAD_SPECIAL instruction

* Reimplement `with` and `async with` statements using LOAD_SPECIAL
This commit is contained in:
Mark Shannon
2024-06-18 12:17:46 +01:00
committed by GitHub
parent 73dc1c678e
commit 9cefcc0ee7
22 changed files with 663 additions and 651 deletions

View File

@@ -1,17 +1,17 @@
// Auto-generated by Programs/freeze_test_frozenmain.py
unsigned char M_test_frozenmain[] = {
227,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,
0,0,0,0,0,243,166,0,0,0,149,0,83,0,83,1,
74,0,114,0,83,0,83,1,74,1,114,1,92,2,33,0,
83,2,52,1,0,0,0,0,0,0,31,0,92,2,33,0,
83,3,92,0,81,6,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,52,2,0,0,0,0,0,0,
31,0,92,1,81,8,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,33,0,52,0,0,0,0,0,
0,0,83,4,5,0,0,0,114,5,83,5,19,0,71,20,
0,0,114,6,92,2,33,0,83,6,92,6,14,0,83,7,
92,5,92,6,5,0,0,0,14,0,50,4,52,1,0,0,
0,0,0,0,31,0,76,22,0,0,11,0,31,0,103,1,
0,0,0,0,0,243,166,0,0,0,149,0,81,0,81,1,
72,0,113,0,81,0,81,1,72,1,113,1,90,2,31,0,
81,2,50,1,0,0,0,0,0,0,29,0,90,2,31,0,
81,3,90,0,79,6,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,
29,0,90,1,79,8,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,31,0,50,0,0,0,0,0,
0,0,81,4,2,0,0,0,113,5,81,5,16,0,69,20,
0,0,113,6,90,2,31,0,81,6,90,6,12,0,81,7,
90,5,90,6,2,0,0,0,12,0,48,4,50,1,0,0,
0,0,0,0,29,0,74,22,0,0,9,0,29,0,102,1,
41,8,233,0,0,0,0,78,122,18,70,114,111,122,101,110,
32,72,101,108,108,111,32,87,111,114,108,100,122,8,115,121,
115,46,97,114,103,118,218,6,99,111,110,102,105,103,41,5,