}
}
PUSH(x);
- break;
+ DISPATCH();
}
TARGET(STORE_NAME)
TARGET(DELETE_NAME)
w = GETITEM(names, oparg);
if ((x = f->f_locals) != NULL) {
- if ((err = PyObject_DelItem(x, w)) != 0)
+ if ((err = PyObject_DelItem(x, w)) != 0) {
format_exc_check_arg(PyExc_NameError,
NAME_ERROR_MSG,
w);
- break;
+ break;
+ }
+ DISPATCH();
}
PyErr_Format(PyExc_SystemError,
"no locals when deleting %R", w);
Py_INCREF(w);
PUSH(w);
}
- Py_DECREF(v);
- DISPATCH();
} else if (PyList_CheckExact(v) &&
PyList_GET_SIZE(v) == oparg) {
PyObject **items = \
} else {
/* unpack_iterable() raised an exception */
why = WHY_EXCEPTION;
+ Py_DECREF(v);
+ break;
}
Py_DECREF(v);
- break;
+ DISPATCH();
TARGET(UNPACK_EX)
{
stack_pointer + totalargs)) {
stack_pointer += totalargs;
} else {
+ Py_DECREF(v);
why = WHY_EXCEPTION;
+ break;
}
Py_DECREF(v);
- break;
+ DISPATCH();
}
TARGET(STORE_ATTR)
err = PyObject_SetAttr(v, w, (PyObject *)NULL);
/* del v.w */
Py_DECREF(v);
+ if (err == 0) DISPATCH();
break;
TARGET(STORE_GLOBAL)
TARGET(DELETE_GLOBAL)
w = GETITEM(names, oparg);
- if ((err = PyDict_DelItem(f->f_globals, w)) != 0)
+ if ((err = PyDict_DelItem(f->f_globals, w)) != 0) {
format_exc_check_arg(
PyExc_NameError, GLOBAL_NAME_ERROR_MSG, w);
- break;
+ break;
+ }
+ DISPATCH();
TARGET(LOAD_NAME)
w = GETITEM(names, oparg);