diff --git a/py/vm.c b/py/vm.c index f097ff0a82ca7b79ce969770425ec0b73625c66c..09da2c37d13a1e4b3a7f91cfcb18cbb9b4fc89d5 100644 --- a/py/vm.c +++ b/py/vm.c @@ -381,16 +381,14 @@ dispatch_loop: break; */ - case MP_BC_SETUP_WITH: { + case MP_BC_SETUP_WITH: obj1 = TOP(); SET_TOP(rt_load_attr(obj1, MP_QSTR___exit__)); - mp_obj_t dest[2]; - rt_load_method(obj1, MP_QSTR___enter__, dest); - obj2 = rt_call_method_n_kw(0, 0, dest); + rt_load_method(obj1, MP_QSTR___enter__, sp + 1); + obj2 = rt_call_method_n_kw(0, 0, sp + 1); SETUP_BLOCK(); PUSH(obj2); break; - } case MP_BC_WITH_CLEANUP: { static const mp_obj_t no_exc[] = {mp_const_none, mp_const_none, mp_const_none};