X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fgc.h;h=76a10e1dc0e30dd62a8ec6afcec3f84b0f1a4aa1;hb=1de12891f900d156ed035a097561ecd7755a256a;hp=b3f5e043406dec6f2cf5154fae9a6d854e973766;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/runtime/gc.h b/src/runtime/gc.h index b3f5e04..76a10e1 100644 --- a/src/runtime/gc.h +++ b/src/runtime/gc.h @@ -16,22 +16,32 @@ #ifndef _GC_H_ #define _GC_H_ -extern void gc_init(void); +#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; -/* Note: CMU CL had two different argument conventions for - * collect_garbage(..), depending on whether gencgc was in use. SBCL - * should have only one, which is automatic right now (20000814) since - * we only support gencgc, but should also be maintained if someone - * adds another GC, or ports one of the other CMU CL GCs like gengc. */ -extern void collect_garbage(unsigned last_gen); +extern void gc_init(void); +extern void gc_initialize_pointers(void); +extern void collect_garbage(generation_index_t last_gen); +extern void gc_init_tables(void); -#ifndef ibmrt #include "os.h" extern void set_auto_gc_trigger(os_vm_size_t usage); extern void clear_auto_gc_trigger(void); -#endif ibmrt +extern int maybe_gc_pending; + +#include "fixnump.h" + +#include "pseudo-atomic.h" -#endif _GC_H_ +#endif /* _GC_H_ */