const size_t basicsize = _PyObject_VAR_SIZE(tp, nitems);
#ifdef WITH_CYCLE_GC
const size_t nbytes = sizeof(PyGC_Head) + basicsize;
- PyGC_Head *g = PyObject_MALLOC(nbytes);
+ PyGC_Head *g = _PyMalloc_MALLOC(nbytes);
if (g == NULL)
return (PyObject *)PyErr_NoMemory();
g->gc.gc_next = NULL;
}
op = FROM_GC(g);
#else
- op = PyObject_MALLOC(basicsize);
+ op = _PyMalloc_MALLOC(basicsize);
if (op == NULL)
return (PyObject *)PyErr_NoMemory();
if (allocated > 0) {
allocated--;
}
- PyObject_FREE(g);
+ _PyMalloc_FREE(g);
#else
- PyObject_FREE(op);
+ _PyMalloc_FREE(op);
#endif
}
dictiter_new(dictobject *dict, binaryfunc select)
{
dictiterobject *di;
- di = PyObject_NEW(dictiterobject, &PyDictIter_Type);
+ di = PyMalloc_New(dictiterobject, &PyDictIter_Type);
if (di == NULL)
return NULL;
Py_INCREF(dict);
dictiter_dealloc(dictiterobject *di)
{
Py_DECREF(di->di_dict);
- PyObject_DEL(di);
+ PyMalloc_Del(di);
}
static PyObject *
PyRange_New(long start, long len, long step, int reps)
{
long totlen = -1;
- rangeobject *obj = PyObject_NEW(rangeobject, &PyRange_Type);
+ rangeobject *obj = PyMalloc_New(rangeobject, &PyRange_Type);
if (obj == NULL)
return NULL;
static void
range_dealloc(rangeobject *r)
{
- PyObject_DEL(r);
+ PyMalloc_Del(r);
}
static PyObject *
PyObject *
PySlice_New(PyObject *start, PyObject *stop, PyObject *step)
{
- PySliceObject *obj = PyObject_NEW(PySliceObject, &PySlice_Type);
+ PySliceObject *obj = PyMalloc_New(PySliceObject, &PySlice_Type);
if (obj == NULL)
return NULL;
Py_DECREF(r->step);
Py_DECREF(r->start);
Py_DECREF(r->stop);
- PyObject_DEL(r);
+ PyMalloc_Del(r);
}
static PyObject *
/* PyObject_NewVar is inlined */
op = (PyStringObject *)
- PyObject_MALLOC(sizeof(PyStringObject) + size * sizeof(char));
+ _PyMalloc_MALLOC(sizeof(PyStringObject) + size * sizeof(char));
if (op == NULL)
return PyErr_NoMemory();
PyObject_INIT_VAR(op, &PyString_Type, size);
/* PyObject_NewVar is inlined */
op = (PyStringObject *)
- PyObject_MALLOC(sizeof(PyStringObject) + size * sizeof(char));
+ _PyMalloc_MALLOC(sizeof(PyStringObject) + size * sizeof(char));
if (op == NULL)
return PyErr_NoMemory();
PyObject_INIT_VAR(op, &PyString_Type, size);
size = a->ob_size + b->ob_size;
/* PyObject_NewVar is inlined */
op = (PyStringObject *)
- PyObject_MALLOC(sizeof(PyStringObject) + size * sizeof(char));
+ _PyMalloc_MALLOC(sizeof(PyStringObject) + size * sizeof(char));
if (op == NULL)
return PyErr_NoMemory();
PyObject_INIT_VAR(op, &PyString_Type, size);
return NULL;
}
op = (PyStringObject *)
- PyObject_MALLOC(sizeof(PyStringObject) + nbytes);
+ _PyMalloc_MALLOC(sizeof(PyStringObject) + nbytes);
if (op == NULL)
return PyErr_NoMemory();
PyObject_INIT_VAR(op, &PyString_Type, size);
0, /* tp_init */
0, /* tp_alloc */
string_new, /* tp_new */
- _PyObject_Del, /* tp_free */
+ _PyMalloc_Del, /* tp_free */
};
void
#endif
_Py_ForgetReference(v);
*pv = (PyObject *)
- PyObject_REALLOC((char *)v,
+ _PyMalloc_REALLOC((char *)v,
sizeof(PyStringObject) + newsize * sizeof(char));
if (*pv == NULL) {
- PyObject_DEL(v);
+ PyMalloc_Del(v);
PyErr_NoMemory();
return -1;
}
{
PyStructSequence *obj;
- obj = PyObject_New(PyStructSequence, type);
+ obj = PyMalloc_New(PyStructSequence, type);
obj->ob_size = VISIBLE_SIZE_TP(type);
return (PyObject*) obj;
for (i = 0; i < size; ++i) {
Py_XDECREF(obj->ob_item[i]);
}
- PyObject_FREE(obj);
+ PyMalloc_Del(obj);
}
static int
PyObject_INIT(unicode, &PyUnicode_Type);
}
else {
- unicode = PyObject_NEW(PyUnicodeObject, &PyUnicode_Type);
+ unicode = PyMalloc_New(PyUnicodeObject, &PyUnicode_Type);
if (unicode == NULL)
return NULL;
unicode->str = PyMem_NEW(Py_UNICODE, length + 1);
onError:
_Py_ForgetReference((PyObject *)unicode);
- PyObject_DEL(unicode);
+ PyMalloc_Del(unicode);
return NULL;
}
pnew->str = PyMem_NEW(Py_UNICODE, n+1);
if (pnew->str == NULL) {
_Py_ForgetReference((PyObject *)pnew);
- PyObject_DEL(pnew);
+ PyMalloc_Del(pnew);
return NULL;
}
Py_UNICODE_COPY(pnew->str, tmp->str, n+1);
0, /* tp_init */
0, /* tp_alloc */
unicode_new, /* tp_new */
- _PyObject_Del, /* tp_free */
+ _PyMalloc_Del, /* tp_free */
};
/* Initialize the Unicode implementation */
if (v->str)
PyMem_DEL(v->str);
Py_XDECREF(v->defenc);
- PyObject_DEL(v);
+ PyMalloc_Del(v);
}
unicode_freelist = NULL;
unicode_freelist_size = 0;