Fix make-array transforms.
[sbcl.git] / src / runtime / gc.h
index 8b0f62e..a028466 100644 (file)
 #ifndef _GC_H_
 #define _GC_H_
 
+#include "sbcl.h"
+#include <stdint.h>
+
+#define PAGE_BYTES BACKEND_PAGE_BYTES
+
+typedef intptr_t page_index_t;
+#ifdef LISP_FEATURE_WIN32
+#define PAGE_INDEX_FMT "Id"
+#else
+#define PAGE_INDEX_FMT "ld"
+#endif
+
+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);
 
 
@@ -27,13 +41,10 @@ extern void gc_init_tables(void);
 extern void set_auto_gc_trigger(os_vm_size_t usage);
 extern void clear_auto_gc_trigger(void);
 
-extern int maybe_gc_pending;
+#include "fixnump.h"
+
+extern boolean maybe_gc(os_context_t *context);
 
-static inline int fixnump(lispobj obj) {
-    return((obj & 
-           (LOWTAG_MASK & 
-            (~(EVEN_FIXNUM_LOWTAG|ODD_FIXNUM_LOWTAG)))) 
-          == 0);
-}
+extern os_vm_size_t bytes_consed_between_gcs;
 
 #endif /* _GC_H_ */