X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fgc.h;h=ff6797d8d1872d3890611d47fae3120b4f502ccc;hb=eac461c1f1ca91cfe282c779291d582ed6b336cb;hp=8b0f62e9d9fb75f529863caf2215f5f0458d3e7e;hpb=f706a441d7c09cba32701289b63946527fef3c78;p=sbcl.git diff --git a/src/runtime/gc.h b/src/runtime/gc.h index 8b0f62e..ff6797d 100644 --- a/src/runtime/gc.h +++ b/src/runtime/gc.h @@ -16,9 +16,18 @@ #ifndef _GC_H_ #define _GC_H_ +#include "sbcl.h" + +#define PAGE_BYTES BACKEND_PAGE_BYTES + +typedef signed long page_index_t; +#define PAGE_INDEX_FMT "ld" + +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 +36,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_ */