1.0.0.32: support for FreeBSD/x86-64
[sbcl.git] / src / runtime / gc.h
index 8b0f62e..76a10e1 100644 (file)
 #ifndef _GC_H_
 #define _GC_H_
 
+#include "sbcl.h"
+
+#ifdef LISP_FEATURE_GENCGC
+#define PAGE_BYTES GENCGC_PAGE_SIZE
+#else
+#define PAGE_BYTES 0x1000
+#endif
+
+typedef signed long page_index_t;
+typedef signed char generation_index_t;
+
 extern void gc_init(void);
 extern void gc_initialize_pointers(void);
-extern void collect_garbage(unsigned last_gen);
+extern void collect_garbage(generation_index_t last_gen);
 extern void gc_init_tables(void);
 
 
@@ -29,11 +40,8 @@ extern void clear_auto_gc_trigger(void);
 
 extern int maybe_gc_pending;
 
-static inline int fixnump(lispobj obj) {
-    return((obj & 
-           (LOWTAG_MASK & 
-            (~(EVEN_FIXNUM_LOWTAG|ODD_FIXNUM_LOWTAG)))) 
-          == 0);
-}
+#include "fixnump.h"
+
+#include "pseudo-atomic.h"
 
 #endif /* _GC_H_ */