Vladimir Marangozov's long-awaited malloc restructuring.
For more comments, read the patches@python.org archives.
For documentation read the comments in mymalloc.h and objimpl.h.

(This is not exactly what Vladimir posted to the patches list; I've
made a few changes, and Vladimir sent me a fix in private email for a
problem that only occurs in debug mode.  I'm also holding back on his
change to main.c, which seems unnecessary to me.)
diff --git a/Modules/sunaudiodev.c b/Modules/sunaudiodev.c
index 71c152e..f7b9426 100644
--- a/Modules/sunaudiodev.c
+++ b/Modules/sunaudiodev.c
@@ -139,7 +139,7 @@
 	PyMem_DEL(ctldev);
 
 	/* Create and initialize the object */
-	xp = PyObject_NEW(sadobject, &Sadtype);
+	xp = PyObject_New(sadobject, &Sadtype);
 	if (xp == NULL) {
 		close(fd);
 		return NULL;
@@ -158,7 +158,7 @@
 	sadobject *xp;
 {
         close(xp->x_fd);
-	PyMem_DEL(xp);
+	PyObject_Del(xp);
 }
 
 static PyObject *
@@ -412,7 +412,7 @@
 
 static sadstatusobject *
 sads_alloc() {
-	return PyObject_NEW(sadstatusobject, &Sadstatustype);
+	return PyObject_New(sadstatusobject, &Sadstatustype);
 }
 
 static void