@@ -72,7 +72,6 @@ dummy_func(
72
72
_PyInterpreterFrame * frame ,
73
73
unsigned char opcode ,
74
74
unsigned int oparg ,
75
- _PyCFrame cframe ,
76
75
_Py_CODEUNIT * next_instr ,
77
76
PyObject * * stack_pointer ,
78
77
PyObject * kwnames ,
@@ -134,8 +133,7 @@ dummy_func(
134
133
}
135
134
136
135
inst (RESUME , (-- )) {
137
- assert (tstate -> cframe == & cframe );
138
- assert (frame == cframe .current_frame );
136
+ assert (frame == tstate -> current_frame );
139
137
/* Possibly combine this with eval breaker */
140
138
if (_PyFrame_GetCode (frame )-> _co_instrumentation_version != tstate -> interp -> monitoring_version ) {
141
139
int err = _Py_Instrument (_PyFrame_GetCode (frame ), tstate -> interp );
@@ -752,9 +750,8 @@ dummy_func(
752
750
inst (INTERPRETER_EXIT , (retval -- )) {
753
751
assert (frame == & entry_frame );
754
752
assert (_PyFrame_IsIncomplete (frame ));
755
- /* Restore previous cframe and return. */
756
- tstate -> cframe = cframe .previous ;
757
- assert (tstate -> cframe -> current_frame == frame -> previous );
753
+ /* Restore previous frame and return. */
754
+ tstate -> current_frame = frame -> previous ;
758
755
assert (!_PyErr_Occurred (tstate ));
759
756
tstate -> c_recursion_remaining += PY_EVAL_C_STACK_UNITS ;
760
757
return retval ;
@@ -768,7 +765,7 @@ dummy_func(
768
765
assert (frame != & entry_frame );
769
766
// GH-99729: We need to unlink the frame *before* clearing it:
770
767
_PyInterpreterFrame * dying = frame ;
771
- frame = cframe . current_frame = dying -> previous ;
768
+ frame = tstate -> current_frame = dying -> previous ;
772
769
_PyEvalFrameClearAndPop (tstate , dying );
773
770
frame -> prev_instr += frame -> return_offset ;
774
771
_PyFrame_StackPush (frame , retval );
@@ -787,7 +784,7 @@ dummy_func(
787
784
assert (frame != & entry_frame );
788
785
// GH-99729: We need to unlink the frame *before* clearing it:
789
786
_PyInterpreterFrame * dying = frame ;
790
- frame = cframe . current_frame = dying -> previous ;
787
+ frame = tstate -> current_frame = dying -> previous ;
791
788
_PyEvalFrameClearAndPop (tstate , dying );
792
789
frame -> prev_instr += frame -> return_offset ;
793
790
_PyFrame_StackPush (frame , retval );
@@ -803,7 +800,7 @@ dummy_func(
803
800
assert (frame != & entry_frame );
804
801
// GH-99729: We need to unlink the frame *before* clearing it:
805
802
_PyInterpreterFrame * dying = frame ;
806
- frame = cframe . current_frame = dying -> previous ;
803
+ frame = tstate -> current_frame = dying -> previous ;
807
804
_PyEvalFrameClearAndPop (tstate , dying );
808
805
frame -> prev_instr += frame -> return_offset ;
809
806
_PyFrame_StackPush (frame , retval );
@@ -823,7 +820,7 @@ dummy_func(
823
820
assert (frame != & entry_frame );
824
821
// GH-99729: We need to unlink the frame *before* clearing it:
825
822
_PyInterpreterFrame * dying = frame ;
826
- frame = cframe . current_frame = dying -> previous ;
823
+ frame = tstate -> current_frame = dying -> previous ;
827
824
_PyEvalFrameClearAndPop (tstate , dying );
828
825
frame -> prev_instr += frame -> return_offset ;
829
826
_PyFrame_StackPush (frame , retval );
@@ -1019,7 +1016,7 @@ dummy_func(
1019
1016
gen -> gi_exc_state .previous_item = NULL ;
1020
1017
_Py_LeaveRecursiveCallPy (tstate );
1021
1018
_PyInterpreterFrame * gen_frame = frame ;
1022
- frame = cframe . current_frame = frame -> previous ;
1019
+ frame = tstate -> current_frame = frame -> previous ;
1023
1020
gen_frame -> previous = NULL ;
1024
1021
_PyFrame_StackPush (frame , retval );
1025
1022
goto resume_frame ;
@@ -1038,7 +1035,7 @@ dummy_func(
1038
1035
gen -> gi_exc_state .previous_item = NULL ;
1039
1036
_Py_LeaveRecursiveCallPy (tstate );
1040
1037
_PyInterpreterFrame * gen_frame = frame ;
1041
- frame = cframe . current_frame = frame -> previous ;
1038
+ frame = tstate -> current_frame = frame -> previous ;
1042
1039
gen_frame -> previous = NULL ;
1043
1040
_PyFrame_StackPush (frame , retval );
1044
1041
goto resume_frame ;
@@ -2207,10 +2204,10 @@ dummy_func(
2207
2204
OBJECT_STAT_INC (optimization_attempts );
2208
2205
frame = _PyOptimizer_BackEdge (frame , here , next_instr , stack_pointer );
2209
2206
if (frame == NULL ) {
2210
- frame = cframe . current_frame ;
2207
+ frame = tstate -> current_frame ;
2211
2208
goto resume_with_error ;
2212
2209
}
2213
- assert (frame == cframe . current_frame );
2210
+ assert (frame == tstate -> current_frame );
2214
2211
here [1 ].cache &= ((1 << OPTIMIZER_BITS_IN_COUNTER ) - 1 );
2215
2212
goto resume_frame ;
2216
2213
}
@@ -2238,7 +2235,7 @@ dummy_func(
2238
2235
Py_INCREF (executor );
2239
2236
frame = executor -> execute (executor , frame , stack_pointer );
2240
2237
if (frame == NULL ) {
2241
- frame = cframe . current_frame ;
2238
+ frame = tstate -> current_frame ;
2242
2239
goto resume_with_error ;
2243
2240
}
2244
2241
goto resume_frame ;
@@ -2993,12 +2990,11 @@ dummy_func(
2993
2990
_PyFrame_SetStackPointer (frame , stack_pointer );
2994
2991
new_frame -> previous = frame ;
2995
2992
CALL_STAT_INC (inlined_py_calls );
2993
+ frame = tstate -> current_frame = new_frame ;
2996
2994
#if TIER_ONE
2997
- frame = cframe .current_frame = new_frame ;
2998
2995
goto start_frame ;
2999
2996
#endif
3000
2997
#if TIER_TWO
3001
- frame = tstate -> cframe -> current_frame = new_frame ;
3002
2998
ERROR_IF (_Py_EnterRecursivePy (tstate ), exit_unwind );
3003
2999
stack_pointer = _PyFrame_GetStackPointer (frame );
3004
3000
ip_offset = (_Py_CODEUNIT * )_PyFrame_GetCode (frame )-> co_code_adaptive ;
@@ -3135,7 +3131,7 @@ dummy_func(
3135
3131
/* Link frames */
3136
3132
init_frame -> previous = shim ;
3137
3133
shim -> previous = frame ;
3138
- frame = cframe . current_frame = init_frame ;
3134
+ frame = tstate -> current_frame = init_frame ;
3139
3135
CALL_STAT_INC (inlined_py_calls );
3140
3136
/* Account for pushing the extra frame.
3141
3137
* We don't check recursion depth here,
@@ -3598,7 +3594,7 @@ dummy_func(
3598
3594
assert (frame != & entry_frame );
3599
3595
_PyInterpreterFrame * prev = frame -> previous ;
3600
3596
_PyThreadState_PopFrame (tstate , frame );
3601
- frame = cframe . current_frame = prev ;
3597
+ frame = tstate -> current_frame = prev ;
3602
3598
_PyFrame_StackPush (frame , (PyObject * )gen );
3603
3599
goto resume_frame ;
3604
3600
}
0 commit comments