@@ -2749,16 +2749,13 @@ _PyInterpreterFrame *
2749
2749
_PyEval_GetFrame (void )
2750
2750
{
2751
2751
PyThreadState * tstate = _PyThreadState_GET ();
2752
- return tstate -> cframe -> current_frame ;
2752
+ return _PyThreadState_GetFrame ( tstate ) ;
2753
2753
}
2754
2754
2755
2755
PyFrameObject *
2756
2756
PyEval_GetFrame (void )
2757
2757
{
2758
2758
_PyInterpreterFrame * frame = _PyEval_GetFrame ();
2759
- while (frame && _PyFrame_IsIncomplete (frame )) {
2760
- frame = frame -> previous ;
2761
- }
2762
2759
if (frame == NULL ) {
2763
2760
return NULL ;
2764
2761
}
@@ -2772,7 +2769,7 @@ PyEval_GetFrame(void)
2772
2769
PyObject *
2773
2770
_PyEval_GetBuiltins (PyThreadState * tstate )
2774
2771
{
2775
- _PyInterpreterFrame * frame = tstate -> cframe -> current_frame ;
2772
+ _PyInterpreterFrame * frame = _PyThreadState_GetFrame ( tstate ) ;
2776
2773
if (frame != NULL ) {
2777
2774
return frame -> f_builtins ;
2778
2775
}
@@ -2811,7 +2808,7 @@ PyObject *
2811
2808
PyEval_GetLocals (void )
2812
2809
{
2813
2810
PyThreadState * tstate = _PyThreadState_GET ();
2814
- _PyInterpreterFrame * current_frame = tstate -> cframe -> current_frame ;
2811
+ _PyInterpreterFrame * current_frame = _PyThreadState_GetFrame ( tstate ) ;
2815
2812
if (current_frame == NULL ) {
2816
2813
_PyErr_SetString (tstate , PyExc_SystemError , "frame does not exist" );
2817
2814
return NULL ;
@@ -2830,7 +2827,7 @@ PyObject *
2830
2827
PyEval_GetGlobals (void )
2831
2828
{
2832
2829
PyThreadState * tstate = _PyThreadState_GET ();
2833
- _PyInterpreterFrame * current_frame = tstate -> cframe -> current_frame ;
2830
+ _PyInterpreterFrame * current_frame = _PyThreadState_GetFrame ( tstate ) ;
2834
2831
if (current_frame == NULL ) {
2835
2832
return NULL ;
2836
2833
}
0 commit comments