[Python-checkins] CVS: python/dist/src/Modules gcmodule.c,2.22,2.23

Tim Peters tim_one@users.sourceforge.net
Sat, 06 Oct 2001 20:54:53 -0700


Update of /cvsroot/python/python/dist/src/Modules
In directory usw-pr-cvs1:/tmp/cvs-serv14609/python/Modules

Modified Files:
	gcmodule.c 
Log Message:
Guido suggests, and I agree, to insist that SIZEOF_VOID_P be a power of 2.
This simplifies the rounding in _PyObject_VAR_SIZE, allows to restore the
pre-rounding calling sequence, and allows some nice little simplifications
in its callers.  I'm still making it return a size_t, though.


Index: gcmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/gcmodule.c,v
retrieving revision 2.22
retrieving revision 2.23
diff -C2 -d -r2.22 -r2.23
*** gcmodule.c	2001/10/06 21:27:34	2.22
--- gcmodule.c	2001/10/07 03:54:51	2.23
***************
*** 802,813 ****
  {
  	PyObject *op;
! 	size_t basicsize;
  #ifdef WITH_CYCLE_GC
! 	size_t nbytes;
! 	PyGC_Head *g;
! 
! 	_PyObject_VAR_SIZE(basicsize, tp, nitems);
! 	nbytes = sizeof(PyGC_Head) + basicsize;
! 	g = PyObject_MALLOC(nbytes);
  	if (g == NULL)
  		return (PyObject *)PyErr_NoMemory();
--- 802,809 ----
  {
  	PyObject *op;
! 	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);
  	if (g == NULL)
  		return (PyObject *)PyErr_NoMemory();
***************
*** 825,829 ****
  	op = FROM_GC(g);
  #else
- 	_PyObject_VAR_SIZE(basicsize, tp, nitems);
  	op = PyObject_MALLOC(basicsize);
  	if (op == NULL)
--- 821,824 ----
***************
*** 851,859 ****
  _PyObject_GC_Resize(PyVarObject *op, int nitems)
  {
! 	size_t basicsize;
  #ifdef WITH_CYCLE_GC
  	PyGC_Head *g = AS_GC(op);
- 
- 	_PyObject_VAR_SIZE(basicsize, op->ob_type, nitems);
  	g = PyObject_REALLOC(g,  sizeof(PyGC_Head) + basicsize);
  	if (g == NULL)
--- 846,852 ----
  _PyObject_GC_Resize(PyVarObject *op, int nitems)
  {
! 	const size_t basicsize = _PyObject_VAR_SIZE(op->ob_type, nitems);
  #ifdef WITH_CYCLE_GC
  	PyGC_Head *g = AS_GC(op);
  	g = PyObject_REALLOC(g,  sizeof(PyGC_Head) + basicsize);
  	if (g == NULL)
***************
*** 861,865 ****
  	op = (PyVarObject *) FROM_GC(g);
  #else
- 	_PyObject_VAR_SIZE(basicsize, op->ob_type, nitems);
  	op = PyObject_REALLOC(op, basicsize);
  	if (op == NULL)
--- 854,857 ----