scheme48heap.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Externally visible objects defined in scheme48heap.c.
  3. */
  4. /* initialize top-level variables */
  5. extern void s48_heap_init(void);
  6. /* heap-init interface */
  7. extern char * s48_initialize_heap(long, long, char *);
  8. extern void s48_register_static_areas(long, char **, long *,
  9. long, char **, long *);
  10. /* heap interface */
  11. extern long s48_available(void);
  12. extern long s48_heap_size(void);
  13. extern long s48_find_all(long);
  14. extern long s48_find_allint(long);
  15. extern long s48_find_all_records(long);
  16. extern long s48_gather_objects(char(*)(long), char(*)(char(*)(long)));
  17. /* for writing images */
  18. extern char * s48_heap_begin(void);
  19. extern char * s48_heap_pointer(void);
  20. extern char * s48_oldspace_begin(void);
  21. extern char * s48_oldspace_end(void);
  22. /* used by the space checking and allocation macros in scheme48mv-prelude.h */
  23. extern char * s48_ShpS;
  24. extern char * s48_SlimitS;
  25. /* gc interface */
  26. extern void s48_collect();
  27. extern long s48_trace_value(long);
  28. extern void s48_trace_locationsB(char *, char *);
  29. extern void s48_trace_stob_contentsB(long);
  30. extern void s48_trace_continuation_contentsB(char *, char *, long);
  31. extern char s48_extantP(long);
  32. extern long s48_gc_count(void);
  33. /* allocation interface */
  34. extern void s48_make_availableAgc(long);
  35. extern char * s48_allocate_small(long);
  36. extern char * s48_allocate_tracedAgc(long);
  37. extern char * s48_allocate_untracedAgc(long);
  38. /* debugging */
  39. extern char s48_check_heap(long);