mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 19:50:24 +02:00
* gc.h (scm_freelist_t): New type.
This commit is contained in:
parent
945fec6004
commit
bb6df2eec3
1 changed files with 15 additions and 4 deletions
|
@ -67,11 +67,22 @@ extern int scm_block_gc;
|
||||||
extern int scm_gc_heap_lock;
|
extern int scm_gc_heap_lock;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct scm_freelist_t {
|
||||||
|
SCM cells;
|
||||||
|
/* number of cells per object on this list */
|
||||||
|
int span;
|
||||||
|
/* number of collected cells during last GC */
|
||||||
|
int collected;
|
||||||
|
/* total number of cells in heap segments
|
||||||
|
* belonging to this list.
|
||||||
|
*/
|
||||||
|
int heap_size;
|
||||||
|
} scm_freelist_t;
|
||||||
|
|
||||||
extern unsigned long scm_heap_size;
|
extern unsigned long scm_heap_size;
|
||||||
extern SCM_CELLPTR scm_heap_org;
|
extern SCM_CELLPTR scm_heap_org;
|
||||||
extern SCM scm_freelist;
|
extern scm_freelist_t scm_freelist;
|
||||||
extern SCM scm_freelist2;
|
extern scm_freelist_t scm_freelist2;
|
||||||
extern unsigned long scm_gc_cells_collected;
|
extern unsigned long scm_gc_cells_collected;
|
||||||
extern unsigned long scm_gc_malloc_collected;
|
extern unsigned long scm_gc_malloc_collected;
|
||||||
extern unsigned long scm_gc_ports_collected;
|
extern unsigned long scm_gc_ports_collected;
|
||||||
|
@ -94,8 +105,8 @@ extern SCM scm_gc_stats (void);
|
||||||
extern void scm_gc_start (const char *what);
|
extern void scm_gc_start (const char *what);
|
||||||
extern void scm_gc_end (void);
|
extern void scm_gc_end (void);
|
||||||
extern SCM scm_gc (void);
|
extern SCM scm_gc (void);
|
||||||
extern void scm_gc_for_alloc (int ncells, SCM * freelistp);
|
extern void scm_gc_for_alloc (scm_freelist_t *freelistp);
|
||||||
extern SCM scm_gc_for_newcell (int ncells, SCM * freelistp);
|
extern SCM scm_gc_for_newcell (scm_freelist_t *freelistp);
|
||||||
extern void scm_igc (const char *what);
|
extern void scm_igc (const char *what);
|
||||||
extern void scm_gc_mark (SCM p);
|
extern void scm_gc_mark (SCM p);
|
||||||
extern void scm_mark_locations (SCM_STACKITEM x[], scm_sizet n);
|
extern void scm_mark_locations (SCM_STACKITEM x[], scm_sizet n);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue