diff src/lrecord.h @ 207:e45d5e7c476e r20-4b2

Import from CVS: tag r20-4b2
author cvs
date Mon, 13 Aug 2007 10:03:52 +0200
parents 3d6bfa290dbd
children 78478c60bfcd
line wrap: on
line diff
--- a/src/lrecord.h	Mon Aug 13 10:02:48 2007 +0200
+++ b/src/lrecord.h	Mon Aug 13 10:03:52 2007 +0200
@@ -184,6 +184,18 @@
   XRECORD_LHEADER (obj)->implementation->finalizer ==			\
   this_marks_a_marked_record)
 
+
+/* moved here from alloc.c so that lisp.h macros can use them. */
+#define MARKED_RECORD_HEADER_P(lheader) \
+  (((lheader)->implementation->finalizer) == this_marks_a_marked_record)
+#define UNMARKABLE_RECORD_HEADER_P(lheader) \
+  (((lheader)->implementation->marker) == this_one_is_unmarkable)
+#define MARK_RECORD_HEADER(lheader) \
+  do { (((lheader)->implementation)++); } while (0)
+#define UNMARK_RECORD_HEADER(lheader) \
+  do { (((lheader)->implementation)--); } while (0)
+
+
 /* Declaring the following structures as const puts them in the
    text (read-only) segment, which makes debugging inconvenient
    because this segment is not mapped when processing a core-