diff options
Diffstat (limited to 'libguile/gc.h')
-rw-r--r-- | libguile/gc.h | 75 |
1 files changed, 29 insertions, 46 deletions
diff --git a/libguile/gc.h b/libguile/gc.h index 8760811a9..0a1f20549 100644 --- a/libguile/gc.h +++ b/libguile/gc.h @@ -44,7 +44,7 @@ */ -#include "__scm.h" +#include "libguile/__scm.h" #define SCM_FREEP(x) (SCM_CAR(x)==scm_tc_free_cell) @@ -68,51 +68,34 @@ extern unsigned long scm_cells_allocated; extern unsigned long scm_mallocated; extern long scm_mtrigger; - -#ifdef __STDC__ -extern SCM scm_gc_stats (void); -extern void scm_gc_start (char *what); -extern void scm_gc_end (void); -extern SCM scm_gc (void); -extern void scm_gc_for_alloc (int ncells, SCM * freelistp); -extern SCM scm_gc_for_newcell (void); -extern void scm_igc (char *what); -extern void scm_gc_mark (SCM p); -extern void scm_mark_locations (SCM_STACKITEM x[], scm_sizet n); -extern void scm_gc_sweep (void); -extern char * scm_must_malloc (long len, char *what); -extern char * scm_must_realloc (char *where, long olen, long len, char *what); -extern void scm_must_free (char *obj); -extern void scm_remember (SCM * ptr); -extern SCM scm_return_first (SCM elt, ...); -extern SCM scm_permanent_object (SCM obj); -extern SCM scm_protect_object (SCM obj); -extern SCM scm_unprotect_object (SCM obj); -extern int scm_init_storage (long init_heap_size); -extern void scm_init_gc (void); +#ifdef DEBUG_FREELIST +extern void scm_debug_newcell SCM_P ((SCM *into)); +#endif -#else /* STDC */ -extern SCM scm_gc_stats (); -extern void scm_gc_start (); -extern void scm_gc_end (); -extern SCM scm_gc (); -extern void scm_gc_for_alloc (); -extern SCM scm_gc_for_newcell (); -extern void scm_igc (); -extern void scm_gc_mark (); -extern void scm_mark_locations (); -extern void scm_gc_sweep (); -extern char * scm_must_malloc (); -extern char * scm_must_realloc (); -extern void scm_must_free (); -extern void scm_remember (); -extern SCM scm_return_first (); -extern SCM scm_permanent_object (); -extern SCM scm_protect_object (); -extern SCM scm_unprotect_object (); -extern int scm_init_storage (); -extern void scm_init_gc (); + -#endif /* STDC */ -#include "marksweep.h" +extern SCM scm_object_addr SCM_P ((SCM obj)); +extern SCM scm_unhash_name SCM_P ((SCM name)); +extern SCM scm_gc_stats SCM_P ((void)); +extern void scm_gc_start SCM_P ((char *what)); +extern void scm_gc_end SCM_P ((void)); +extern SCM scm_gc SCM_P ((void)); +extern void scm_gc_for_alloc SCM_P ((int ncells, SCM * freelistp)); +extern SCM scm_gc_for_newcell SCM_P ((void)); +extern void scm_igc SCM_P ((char *what)); +extern void scm_gc_mark SCM_P ((SCM p)); +extern void scm_mark_locations SCM_P ((SCM_STACKITEM x[], scm_sizet n)); +extern int scm_cellp SCM_P ((SCM value)); +extern void scm_gc_sweep SCM_P ((void)); +extern char * scm_must_malloc SCM_P ((long len, char *what)); +extern char * scm_must_realloc SCM_P ((char *where, long olen, long len, + char *what)); +extern void scm_must_free SCM_P ((char *obj)); +extern void scm_remember SCM_P ((SCM * ptr)); +extern SCM scm_return_first SCM_P ((SCM elt, ...)); +extern SCM scm_permanent_object SCM_P ((SCM obj)); +extern SCM scm_protect_object SCM_P ((SCM obj)); +extern SCM scm_unprotect_object SCM_P ((SCM obj)); +extern int scm_init_storage SCM_P ((long init_heap_size)); +extern void scm_init_gc SCM_P ((void)); #endif /* GCH */ |