mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-23 21:37:34 +00:00
Mps br/diag: variety.ii: now has diagnostics, and no logging (pro tem);
mpm.h: DIAG() et al under control of DIAGNOSTICS; diag.c: under control of DIAGNOSTICS, plus add header and copyright. Copied from Perforce Change: 162214 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
1a9477b2cf
commit
b261b142fd
3 changed files with 78 additions and 22 deletions
|
|
@ -54,10 +54,13 @@
|
|||
#define CONFIG_LOG
|
||||
|
||||
#elif defined(CONFIG_VAR_II) /* Ice, Internal; variety.ii (HotLog) */
|
||||
/* This WAS a hot logging variety. Now it's a hot diagnostic variety
|
||||
* (non-logging), pro tem. RHSK 2007-04-27.
|
||||
*/
|
||||
#define CONFIG_ASSERT
|
||||
#define CHECKLEVEL_INITIAL CheckLevelMINIMAL
|
||||
/* no debug diagnostic statistic meters */
|
||||
#define CONFIG_LOG
|
||||
#define CONFIG_DEBUG
|
||||
/* no telemetry log events */
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,17 @@
|
|||
/*$Header$
|
||||
Implementation of diagnostic interface.
|
||||
*/
|
||||
/* diag.c: MEMORY POOL MANAGER DIAGNOSTICS
|
||||
*
|
||||
* $Id$
|
||||
* Copyright (c) 2007 Ravenbrook Limited. See end of file for license.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "mpm.h"
|
||||
#include "mpslib.h" /* for mps_lib_stdout */
|
||||
|
||||
#if defined(DIAGNOSTICS)
|
||||
|
||||
Bool DiagEnabledGlobal = TRUE;
|
||||
|
||||
Bool DiagIsOn(void)
|
||||
|
|
@ -21,3 +26,51 @@ mps_lib_FILE *DiagStream(void)
|
|||
}
|
||||
|
||||
|
||||
#elif defined(DIAGNOSTICS_NONE)
|
||||
|
||||
#else
|
||||
|
||||
#error "No diagnostics configured."
|
||||
|
||||
#endif
|
||||
|
||||
/* C. COPYRIGHT AND LICENSE
|
||||
*
|
||||
* Copyright (C) 2001-2003 Ravenbrook Limited <http://www.ravenbrook.com/>.
|
||||
* All rights reserved. This is an open source license. Contact
|
||||
* Ravenbrook for commercial licensing options.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. Redistributions in any form must be accompanied by information on how
|
||||
* to obtain complete source code for this software and any accompanying
|
||||
* software that uses this software. The source code must either be
|
||||
* included in the distribution or be available for no more than the cost
|
||||
* of distribution plus a nominal fee, and must be freely redistributable
|
||||
* under reasonable conditions. For an executable file, complete source
|
||||
* code means the source code for all modules it contains. It does not
|
||||
* include source code for modules or files that typically accompany the
|
||||
* major components of the operating system on which the executable file
|
||||
* runs.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
||||
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
* PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -934,29 +934,13 @@ extern void StackProbe(Size depth);
|
|||
#define STATISTIC_STAT(gather) BEGIN gather; END
|
||||
#define STATISTIC_WRITE(format, arg) (format), (arg),
|
||||
|
||||
#elif defined(DIAGNOSTICS_NONE)
|
||||
|
||||
#define STATISTIC(gather) DISCARD(((gather), 0))
|
||||
#define STATISTIC_STAT(gather) DISCARD_STAT(gather)
|
||||
#define STATISTIC_WRITE(format, arg)
|
||||
|
||||
#else
|
||||
|
||||
#error "No diagnostics configured."
|
||||
|
||||
#endif
|
||||
|
||||
/* Diagnostics */
|
||||
|
||||
/* Diagnostic Calculation and Output */
|
||||
Bool DiagIsOn(void);
|
||||
mps_lib_FILE *DiagStream(void);
|
||||
|
||||
#define DIAG_STREAM (DiagStream())
|
||||
|
||||
#define DIAG(s) BEGIN \
|
||||
s \
|
||||
END
|
||||
|
||||
/*
|
||||
* Note the macro argument args should have parens around it (in the
|
||||
* invocation); it is a variable number of arguments that we pass
|
||||
|
|
@ -969,6 +953,22 @@ mps_lib_FILE *DiagStream(void);
|
|||
} \
|
||||
)
|
||||
|
||||
#elif defined(DIAGNOSTICS_NONE)
|
||||
|
||||
#define STATISTIC(gather) DISCARD(((gather), 0))
|
||||
#define STATISTIC_STAT(gather) DISCARD_STAT(gather)
|
||||
#define STATISTIC_WRITE(format, arg)
|
||||
|
||||
/* Diagnostic Calculation and Output */
|
||||
#define DIAG(s) BEGIN END
|
||||
#define DIAG_WRITEF(args) BEGIN END
|
||||
|
||||
#else
|
||||
|
||||
#error "No diagnostics configured."
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* mpm_h */
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue