@@ -837,12 +837,7 @@ dummy_func(
837837 _PyFrame_StackPush (frame , retval );
838838 LOAD_SP ();
839839 LOAD_IP (frame -> return_offset );
840- #if LLTRACE && TIER_ONE
841- lltrace = maybe_lltrace_resume_frame (frame , & entry_frame , GLOBALS ());
842- if (lltrace < 0 ) {
843- goto exit_unwind ;
844- }
845- #endif
840+ LLTRACE_RESUME_FRAME ();
846841 }
847842
848843 macro (RETURN_VALUE ) =
@@ -3186,12 +3181,7 @@ dummy_func(
31863181 tstate -> py_recursion_remaining -- ;
31873182 LOAD_SP ();
31883183 LOAD_IP (0 );
3189- #if LLTRACE && TIER_ONE
3190- lltrace = maybe_lltrace_resume_frame (frame , & entry_frame , GLOBALS ());
3191- if (lltrace < 0 ) {
3192- goto exit_unwind ;
3193- }
3194- #endif
3184+ LLTRACE_RESUME_FRAME ();
31953185 }
31963186
31973187 macro (CALL_BOUND_METHOD_EXACT_ARGS ) =
@@ -3877,7 +3867,7 @@ dummy_func(
38773867 }
38783868 }
38793869
3880- tier1 inst (RETURN_GENERATOR , (-- )) {
3870+ inst (RETURN_GENERATOR , (-- res )) {
38813871 assert (PyFunction_Check (frame -> f_funcobj ));
38823872 PyFunctionObject * func = (PyFunctionObject * )frame -> f_funcobj ;
38833873 PyGenObject * gen = (PyGenObject * )_Py_MakeCoro (func );
@@ -3887,19 +3877,19 @@ dummy_func(
38873877 assert (EMPTY ());
38883878 _PyFrame_SetStackPointer (frame , stack_pointer );
38893879 _PyInterpreterFrame * gen_frame = (_PyInterpreterFrame * )gen -> gi_iframe ;
3890- frame -> instr_ptr = next_instr ;
3880+ frame -> instr_ptr ++ ;
38913881 _PyFrame_Copy (frame , gen_frame );
38923882 assert (frame -> frame_obj == NULL );
38933883 gen -> gi_frame_state = FRAME_CREATED ;
38943884 gen_frame -> owner = FRAME_OWNED_BY_GENERATOR ;
38953885 _Py_LeaveRecursiveCallPy (tstate );
3896- assert ( frame != & entry_frame ) ;
3886+ res = ( PyObject * ) gen ;
38973887 _PyInterpreterFrame * prev = frame -> previous ;
38983888 _PyThreadState_PopFrame (tstate , frame );
38993889 frame = tstate -> current_frame = prev ;
3900- _PyFrame_StackPush (frame , (PyObject * )gen );
39013890 LOAD_IP (frame -> return_offset );
3902- goto resume_frame ;
3891+ LOAD_SP ();
3892+ LLTRACE_RESUME_FRAME ();
39033893 }
39043894
39053895 inst (BUILD_SLICE , (start , stop , step if (oparg == 3 ) -- slice )) {
0 commit comments