o->process.env has a separate routine for marking.

This commit is contained in:
Juan Jose Garcia Ripoll 2010-02-17 23:55:59 +01:00
parent cce95aa087
commit 188166e350

View file

@ -28,6 +28,7 @@
#ifdef GBC_BOEHM
static void finalize_queued();
static void ecl_mark_env(struct cl_env_struct *env);
#ifdef GBC_BOEHM_PRECISE
# if GBC_BOEHM
@ -414,10 +415,11 @@ cl_object_mark_proc(void *addr, struct GC_ms_entry *msp, struct GC_ms_entry *msl
MAYBE_MARK(o->process.parent);
MAYBE_MARK(o->process.initial_bindings);
MAYBE_MARK(o->process.interrupt);
MAYBE_MARK(o->process.env);
MAYBE_MARK(o->process.args);
MAYBE_MARK(o->process.function);
MAYBE_MARK(o->process.name);
if (o->process.env && o->process.env != Cnil)
ecl_mark_env(o->process.env);
break;
case t_lock:
MAYBE_MARK(o->lock.holder);