#ifdef GUILE_NEW_GC_SCHEME
SCM scm_freelist = SCM_EOL;
scm_freelist_t scm_master_freelist = {
- SCM_EOL, 0, SCM_EOL, SCM_EOL, 0, 0, 0, 1, 0, 0
+ SCM_EOL, 0, SCM_EOL, SCM_EOL, 0, 0, 1, 0, 0
};
SCM scm_freelist2 = SCM_EOL;
scm_freelist_t scm_master_freelist2 = {
- SCM_EOL, 0, SCM_EOL, SCM_EOL, 0, 0, 0, 2, 0, 0
+ SCM_EOL, 0, SCM_EOL, SCM_EOL, 0, 0, 2, 0, 0
};
#else
scm_freelist_t scm_freelist = { SCM_EOL, 1, 0, 0 };
scm_igc ("cells");
else if (SCM_NULLP (master->clusters))
alloc_some_heap (master);
- else if (master->triggerp && SCM_NULLP (SCM_CDR (master->clusters)))
+ else if (SCM_NULLP (SCM_CDR (master->clusters)))
/* we are satisfied; GC instead of alloc next time around */
master->triggeredp = 1;
--scm_ints_disabled;
\f
#ifdef GUILE_NEW_GC_SCHEME
int
-scm_init_storage (scm_sizet init_heap_size, int triggerp, int gc_trigger,
- scm_sizet init_heap2_size, int triggerp2, int gc_trigger2)
+scm_init_storage (scm_sizet init_heap_size, int gc_trigger,
+ scm_sizet init_heap2_size, int gc_trigger2)
#else
int
scm_init_storage (scm_sizet init_heap_size, scm_sizet init_heap2_size)
scm_freelist = SCM_EOL;
scm_master_freelist.clusters = SCM_EOL;
scm_master_freelist.triggeredp = 0;
- scm_master_freelist.triggerp = triggerp;
scm_master_freelist.gc_trigger
= gc_trigger ? gc_trigger : SCM_GC_TRIGGER;
scm_master_freelist.span = 1;
scm_freelist2 = SCM_EOL;
scm_master_freelist2.clusters = SCM_EOL;
scm_master_freelist2.triggeredp = 0;
- scm_master_freelist2.triggerp = triggerp2;
scm_master_freelist2.gc_trigger
= gc_trigger2 ? gc_trigger2 : SCM_GC_TRIGGER2;
scm_master_freelist2.span = 2;
SCM *clustertail;
/* GC trigger */
int triggeredp;
- /* trigger GC ? */
- int triggerp;
- /* minimum number of objects allocated before GC is triggered
- and cluster size. */
+ /* minimum number of objects allocated before GC is triggered and
+ * cluster size. These two concepts should be divorced when we go
+ * to POSIX threads.
+ */
int gc_trigger;
#endif
/* number of cells per object on this list */
extern SCM scm_protect_object (SCM obj);
extern SCM scm_unprotect_object (SCM obj);
#ifdef GUILE_NEW_GC_SCHEME
-extern int scm_init_storage (scm_sizet init_heap_size, int tp, int trig,
- scm_sizet init_heap2_size, int tp2, int trig2);
+extern int scm_init_storage (scm_sizet init_heap_size, int trig,
+ scm_sizet init_heap2_size, int trig2);
#else
extern int scm_init_storage (scm_sizet init_heap_size,
scm_sizet init_heap2_size);
scm_smob_prehistory ();
scm_tables_prehistory ();
#if defined (GUILE_DEBUG) && defined (GUILE_NEW_GC_SCHEME)
- {
- int gc_trigger = scm_i_getenv_int ("GUILE_GC_TRIGGER", 0);
- int gc_trigger2 = scm_i_getenv_int ("GUILE_GC_TRIGGER2", 0);
- scm_init_storage (scm_i_getenv_int ("GUILE_INIT_HEAP_SIZE", 0),
- /* default: trigger */
- gc_trigger >= 0 ? 1 : 0,
- gc_trigger < 0 ? - gc_trigger : gc_trigger,
- scm_i_getenv_int ("GUILE_INIT_HEAP_SIZE2", 40000),
- /* default: don't trigger GC */
- gc_trigger2 > 0 ? 1 : 0,
- gc_trigger2 < 0 ? - gc_trigger2 : gc_trigger2);
- }
+ scm_init_storage (scm_i_getenv_int ("GUILE_INIT_HEAP_SIZE", 0),
+ scm_i_getenv_int ("GUILE_GC_TRIGGER", 0),
+ scm_i_getenv_int ("GUILE_INIT_HEAP_SIZE2", 40000),
+ scm_i_getenv_int ("GUILE_GC_TRIGGER2", 0));
#else
scm_init_storage (0, 0);
#endif