diff options
Diffstat (limited to 'libguile/vm-engine.h')
-rw-r--r-- | libguile/vm-engine.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libguile/vm-engine.h b/libguile/vm-engine.h index 000397de2..52467c229 100644 --- a/libguile/vm-engine.h +++ b/libguile/vm-engine.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -152,6 +152,8 @@ #define ASSERT_BOUND(x) #endif +#define DEAD(v) v = SCM_UNDEFINED + #if VM_CHECK_OBJECT #define SET_OBJECT_COUNT(n) object_count = n #else @@ -325,6 +327,7 @@ do \ CONS (l, x, l); \ } \ PUSH (l); \ + DEAD (l); \ } while (0) /* The opposite: push all of the elements in L onto the list. */ @@ -350,7 +353,9 @@ do { \ CONS (l, o, l); \ POP (o); \ } \ + DEAD (o); \ PUSH (l); \ + DEAD (l); \ } while (0) #define POP_CONS_MARK() \ @@ -363,7 +368,9 @@ do { \ CONS (l, o, l); \ POP (o); \ } \ + DEAD (o); \ PUSH (l); \ + DEAD (l); \ } while (0) |