@@ -2752,16 +2752,13 @@ _PyInterpreterFrame *
2752
2752
_PyEval_GetFrame (void )
2753
2753
{
2754
2754
PyThreadState * tstate = _PyThreadState_GET ();
2755
- return tstate -> cframe -> current_frame ;
2755
+ return _PyThreadState_GetFrame ( tstate ) ;
2756
2756
}
2757
2757
2758
2758
PyFrameObject *
2759
2759
PyEval_GetFrame (void )
2760
2760
{
2761
2761
_PyInterpreterFrame * frame = _PyEval_GetFrame ();
2762
- while (frame && _PyFrame_IsIncomplete (frame )) {
2763
- frame = frame -> previous ;
2764
- }
2765
2762
if (frame == NULL ) {
2766
2763
return NULL ;
2767
2764
}
@@ -2775,7 +2772,7 @@ PyEval_GetFrame(void)
2775
2772
PyObject *
2776
2773
_PyEval_GetBuiltins (PyThreadState * tstate )
2777
2774
{
2778
- _PyInterpreterFrame * frame = tstate -> cframe -> current_frame ;
2775
+ _PyInterpreterFrame * frame = _PyThreadState_GetFrame ( tstate ) ;
2779
2776
if (frame != NULL ) {
2780
2777
return frame -> f_builtins ;
2781
2778
}
@@ -2814,7 +2811,7 @@ PyObject *
2814
2811
PyEval_GetLocals (void )
2815
2812
{
2816
2813
PyThreadState * tstate = _PyThreadState_GET ();
2817
- _PyInterpreterFrame * current_frame = tstate -> cframe -> current_frame ;
2814
+ _PyInterpreterFrame * current_frame = _PyThreadState_GetFrame ( tstate ) ;
2818
2815
if (current_frame == NULL ) {
2819
2816
_PyErr_SetString (tstate , PyExc_SystemError , "frame does not exist" );
2820
2817
return NULL ;
@@ -2833,7 +2830,7 @@ PyObject *
2833
2830
PyEval_GetGlobals (void )
2834
2831
{
2835
2832
PyThreadState * tstate = _PyThreadState_GET ();
2836
- _PyInterpreterFrame * current_frame = tstate -> cframe -> current_frame ;
2833
+ _PyInterpreterFrame * current_frame = _PyThreadState_GetFrame ( tstate ) ;
2837
2834
if (current_frame == NULL ) {
2838
2835
return NULL ;
2839
2836
}
0 commit comments