summaryrefslogtreecommitdiff
path: root/libguile/gc.h
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/gc.h')
-rw-r--r--libguile/gc.h75
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 */