Uglified the new Py_REF_DEBUG (etc) lexical helper macro definitions so

that their uses can be prettier.  I've come to despise the names I picked
for these things, though, and expect to change all of them -- I changed
a bunch of other files to use them (replacing #ifdef blocks), but the
names were so obscure out of context that I backed that all out again.
This commit is contained in:
Tim Peters 2002-07-10 06:34:15 +00:00
parent 478fdb0bbc
commit 57f4ddd6c1
1 changed files with 25 additions and 21 deletions

View File

@ -542,7 +542,8 @@ extern DL_IMPORT(void) _Py_NegativeRefcount(const char *fname,
int lineno, PyObject *op);
#define _PyMAYBE_BUMP_REFTOTAL _Py_RefTotal++
#define _PyMAYBE_DROP_REFTOTAL _Py_RefTotal--
#define _PyMAYBE_REFTOTAL_COMMA ,
#define _PyMAYBE_BUMP_REFTOTAL_COMMA _PyMAYBE_BUMP_REFTOTAL ,
#define _PyMAYBE_DROP_REFTOTAL_COMMA _PyMAYBE_DROP_REFTOTAL ,
#define _PyMAYBE_CHECK_REFCNT(OP) \
{ if ((OP)->ob_refcnt < 0) \
_Py_NegativeRefcount(__FILE__, __LINE__, \
@ -551,22 +552,25 @@ extern DL_IMPORT(void) _Py_NegativeRefcount(const char *fname,
#else
#define _PyMAYBE_BUMP_REFTOTAL
#define _PyMAYBE_DROP_REFTOTAL
#define _PyMAYBE_REFTOTAL_COMMA
#define _PyMAYBE_CHECK_REFCNT(OP) ;
#endif
#define _PyMAYBE_BUMP_REFTOTAL_COMMA
#define _PyMAYBE_DROP_REFTOTAL_COMMA
#define _PyMAYBE_CHECK_REFCNT(OP) /* a semicolon */;
#endif /* Py_REF_DEBUG */
#ifdef COUNT_ALLOCS
extern DL_IMPORT(void) inc_count(PyTypeObject *);
#define _PyMAYBE_BUMP_COUNT(OP) inc_count((OP)->ob_type)
#define _PyMAYBE_BUMP_FREECOUNT(OP) (OP)->ob_type->tp_frees++
#define _PyMAYBE_BUMP_COUNT_COMMA ,
#define _PyMAYBE_BUMP_FREECOUNT_COMMA ,
#define _PyMAYBE_DROP_FREECOUNT(OP) (OP)->ob_type->tp_frees--
#define _PyMAYBE_BUMP_COUNT_COMMA(OP) _PyMAYBE_BUMP_COUNT(OP) ,
#define _PyMAYBE_BUMP_FREECOUNT_COMMA(OP) _PyMAYBE_BUMP_FREECOUNT(OP) ,
#else
#define _PyMAYBE_BUMP_COUNT(OP)
#define _PyMAYBE_BUMP_FREECOUNT(OP)
#define _PyMAYBE_BUMP_COUNT_COMMA
#define _PyMAYBE_BUMP_FREECOUNT_COMMA
#endif
#define _PyMAYBE_DROP_FREECOUNT(OP)
#define _PyMAYBE_BUMP_COUNT_COMMA(OP)
#define _PyMAYBE_BUMP_FREECOUNT_COMMA(OP)
#endif /* COUNT_ALLOCS */
#ifdef Py_TRACE_REFS
/* Py_TRACE_REFS is such major surgery that we call external routines. */
@ -580,27 +584,27 @@ extern DL_IMPORT(void) _Py_ResetReferences(void);
/* Without Py_TRACE_REFS, there's little enough to do that we expand code
* inline.
*/
#define _Py_NewReference(op) ( \
_PyMAYBE_BUMP_COUNT(op) _PyMAYBE_BUMP_COUNT_COMMA \
_PyMAYBE_BUMP_REFTOTAL _PyMAYBE_REFTOTAL_COMMA \
#define _Py_NewReference(op) ( \
_PyMAYBE_BUMP_COUNT_COMMA(op) \
_PyMAYBE_BUMP_REFTOTAL_COMMA \
(op)->ob_refcnt = 1)
#define _Py_ForgetReference(op) _PyMAYBE_BUMP_FREECOUNT(op)
#define _Py_Dealloc(op) ( \
_PyMAYBE_BUMP_FREECOUNT(op) _PyMAYBE_BUMP_FREECOUNT_COMMA \
#define _Py_Dealloc(op) ( \
_PyMAYBE_BUMP_FREECOUNT_COMMA(op) \
(*(op)->ob_type->tp_dealloc)((PyObject *)(op)))
#endif /* !Py_TRACE_REFS */
#define Py_INCREF(op) ( \
_PyMAYBE_BUMP_REFTOTAL _PyMAYBE_REFTOTAL_COMMA \
#define Py_INCREF(op) ( \
_PyMAYBE_BUMP_REFTOTAL_COMMA \
(op)->ob_refcnt++)
#define Py_DECREF(op) \
if (_PyMAYBE_DROP_REFTOTAL _PyMAYBE_REFTOTAL_COMMA \
--(op)->ob_refcnt != 0) \
_PyMAYBE_CHECK_REFCNT(op) \
else \
#define Py_DECREF(op) \
if (_PyMAYBE_DROP_REFTOTAL_COMMA \
--(op)->ob_refcnt != 0) \
_PyMAYBE_CHECK_REFCNT(op) \
else \
_Py_Dealloc((PyObject *)(op))
/* Macros to use in case the object pointer may be NULL: */