merge_consts_recursive(PyObject *const_cache, PyObject *o)
{
assert(PyDict_CheckExact(const_cache));
- // None and Ellipsis are singleton, and key is the singleton.
+ // None and Ellipsis are immortal objects, and key is the singleton.
// No need to merge object and key.
if (o == Py_None || o == Py_Ellipsis) {
- return Py_NewRef(o);
+ return o;
}
PyObject *key = _PyCode_ConstantKey(o);
}
PyObject *loc_obj = PyErr_ProgramTextObject(c->c_filename, loc.lineno);
if (loc_obj == NULL) {
- loc_obj = Py_NewRef(Py_None);
+ loc_obj = Py_None;
}
PyObject *args = Py_BuildValue("O(OiiOii)", msg, c->c_filename,
loc.lineno, loc.col_offset + 1, loc_obj,
break;
case TYPE_NONE:
- retval = Py_NewRef(Py_None);
+ retval = Py_None;
break;
case TYPE_STOPITER:
break;
case TYPE_ELLIPSIS:
- retval = Py_NewRef(Py_Ellipsis);
+ retval = Py_Ellipsis;
break;
case TYPE_FALSE:
- retval = Py_NewRef(Py_False);
+ retval = Py_False;
break;
case TYPE_TRUE:
- retval = Py_NewRef(Py_True);
+ retval = Py_True;
break;
case TYPE_INT: