@@ -1210,19 +1210,16 @@ dummy_func(
12101210
12111211 op (_SEND , (receiver , v -- receiver , retval )) {
12121212 PyObject * receiver_o = PyStackRef_AsPyObjectBorrow (receiver );
1213-
12141213 PyObject * retval_o ;
12151214 assert (frame -> owner != FRAME_OWNED_BY_INTERPRETER );
1216- _PyStackRef tmp = PyStackRef_MakeHeapSafe (v );
1217- DEAD (v );
12181215 if ((tstate -> interp -> eval_frame == NULL ) &&
12191216 (Py_TYPE (receiver_o ) == & PyGen_Type || Py_TYPE (receiver_o ) == & PyCoro_Type ) &&
12201217 ((PyGenObject * )receiver_o )-> gi_frame_state < FRAME_EXECUTING )
12211218 {
12221219 PyGenObject * gen = (PyGenObject * )receiver_o ;
12231220 _PyInterpreterFrame * gen_frame = & gen -> gi_iframe ;
12241221 STACK_SHRINK (1 );
1225- _PyFrame_StackPush (gen_frame , tmp );
1222+ _PyFrame_StackPush (gen_frame , PyStackRef_MakeHeapSafe ( v ) );
12261223 gen -> gi_frame_state = FRAME_EXECUTING ;
12271224 gen -> gi_exc_state .previous_item = tstate -> exc_info ;
12281225 tstate -> exc_info = & gen -> gi_exc_state ;
@@ -1238,7 +1235,7 @@ dummy_func(
12381235 else {
12391236 retval_o = PyObject_CallMethodOneArg (receiver_o ,
12401237 & _Py_ID (send ),
1241- PyStackRef_AsPyObjectBorrow (tmp ));
1238+ PyStackRef_AsPyObjectBorrow (v ));
12421239 }
12431240 if (retval_o == NULL ) {
12441241 int matches = _PyErr_ExceptionMatches (tstate , PyExc_StopIteration );
@@ -1251,11 +1248,11 @@ dummy_func(
12511248 JUMPBY (oparg );
12521249 }
12531250 else {
1254- PyStackRef_CLOSE (tmp );
1251+ PyStackRef_CLOSE (v );
12551252 ERROR_IF (true, error );
12561253 }
12571254 }
1258- PyStackRef_CLOSE (tmp );
1255+ PyStackRef_CLOSE (v );
12591256 retval = PyStackRef_FromPyObjectSteal (retval_o );
12601257 }
12611258
0 commit comments