When marking the environment, only mark pages that are dirty.

This commit is contained in:
Juan Jose Garcia Ripoll 2010-02-03 21:01:05 +01:00
parent 15ad18920f
commit 6c77033ad6

View file

@ -1234,15 +1234,15 @@ ecl_mark_env(struct cl_env_struct *env)
{
#if 1
if (env->stack) {
GC_push_conditional((void *)env->stack, (void *)env->stack_top, 1);
GC_push_conditional((void *)env->stack, (void *)env->stack_top, 0);
GC_set_mark_bit((void *)env->stack);
}
if (env->frs_top) {
GC_push_conditional((void *)env->frs_org, (void *)(env->frs_top+1), 1);
GC_push_conditional((void *)env->frs_org, (void *)(env->frs_top+1), 0);
GC_set_mark_bit((void *)env->frs_org);
}
if (env->bds_top) {
GC_push_conditional((void *)env->bds_org, (void *)(env->bds_top+1), 1);
GC_push_conditional((void *)env->bds_org, (void *)(env->bds_top+1), 0);
GC_set_mark_bit((void *)env->bds_org);
}
#endif