0.8.7.10:
[sbcl.git] / src / runtime / gc.h
1 /*
2  * garbage collection
3  */
4
5 /*
6  * This software is part of the SBCL system. See the README file for
7  * more information.
8  *
9  * This software is derived from the CMU CL system, which was
10  * written at Carnegie Mellon University and released into the
11  * public domain. The software is in the public domain and is
12  * provided with absolutely no warranty. See the COPYING and CREDITS
13  * files for more information.
14  */
15
16 #ifndef _GC_H_
17 #define _GC_H_
18
19 extern void gc_init(void);
20 extern void gc_initialize_pointers(void);
21 extern void collect_garbage(unsigned last_gen);
22 extern void gc_init_tables(void);
23
24
25 #include "os.h"
26
27 extern void set_auto_gc_trigger(os_vm_size_t usage);
28 extern void clear_auto_gc_trigger(void);
29
30 extern int maybe_gc_pending;
31
32 static inline int fixnump(lispobj obj) {
33     return((obj & 
34             (LOWTAG_MASK & 
35              (~(EVEN_FIXNUM_LOWTAG|ODD_FIXNUM_LOWTAG)))) 
36            == 0);
37 }
38
39 #endif /* _GC_H_ */