X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fgc.h;h=a02846667e941b4d5abcaf3c5815edca2030dc28;hb=35ab27e7aab71c94aa6be12da15603c7fd87fca8;hp=3ebed77ff4b85e772fe85ad542a8f3fe327358cf;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/runtime/gc.h b/src/runtime/gc.h index 3ebed77..a028466 100644 --- a/src/runtime/gc.h +++ b/src/runtime/gc.h @@ -13,29 +13,38 @@ * files for more information. */ -/* - * $Header$ - */ - #ifndef _GC_H_ #define _GC_H_ -extern void gc_init(void); +#include "sbcl.h" +#include + +#define PAGE_BYTES BACKEND_PAGE_BYTES -/* 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); +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(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 +#include "fixnump.h" + +extern boolean maybe_gc(os_context_t *context); + +extern os_vm_size_t bytes_consed_between_gcs; -#endif _GC_H_ +#endif /* _GC_H_ */