Mercurial > emacs
changeset 27741:ef732a190ead
(GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
(GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
[GC_MARK_STACK]: New defines.
(GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
[GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Thu, 17 Feb 2000 15:23:06 +0000 |
parents | 048c82411361 |
children | 6f036c5e2a10 |
files | src/lisp.h |
diffstat | 1 files changed, 32 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lisp.h Thu Feb 17 15:22:35 2000 +0000 +++ b/src/lisp.h Thu Feb 17 15:23:06 2000 +0000 @@ -1578,6 +1578,36 @@ #endif }; +/* Values of GC_MARK_STACK during compilation: + + 0 Use GCPRO as before + 1 Do the real thing, make GCPROs and UNGCPRO no-ops. + 2 Mark the stack, and check that everything GCPRO'd is + marked. + 3 Mark using GCPRO's, mark stack last, and count how many + dead objects are kept alive. */ + + +#define GC_USE_GCPROS_AS_BEFORE 0 +#define GC_MAKE_GCPROS_NOOPS 1 +#define GC_MARK_STACK_CHECK_GCPROS 2 +#define GC_USE_GCPROS_CHECK_ZOMBIES 3 + +#ifndef GC_MARK_STACK +#define GC_MARK_STACK GC_USE_GCPROS_AS_BEFORE +#endif + +#if GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS + +#define GCPRO1(varname) ((void) 0) +#define GCPRO2(varname1, varname2)((void) 0) +#define GCPRO3(varname1, varname2, varname3) ((void) 0) +#define GCPRO4(varname1, varname2, varname3, varname4) ((void) 0) +#define GCPRO5(varname1, varname2, varname3, varname4, varname5) ((void) 0) +#define UNGCPRO ((void) 0) + +#else /* GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS */ + #ifndef DEBUG_GCPRO #define GCPRO1(varname) \ @@ -1661,6 +1691,8 @@ : ((gcprolist = gcpro1.next), 0)) #endif /* DEBUG_GCPRO */ +#endif /* GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS */ + /* Evaluate expr, UNGCPRO, and then return the value of expr. */ #define RETURN_UNGCPRO(expr) \