When marking the environment, only mark pages that are dirty.
authorJuan Jose Garcia Ripoll <jjgarcia@jjgr-2.local>
Wed, 3 Feb 2010 20:01:05 +0000 (21:01 +0100)
committerJuan Jose Garcia Ripoll <jjgarcia@jjgr-2.local>
Wed, 3 Feb 2010 20:01:05 +0000 (21:01 +0100)
src/c/alloc_2.d

index 13ceec2..bbf4076 100755 (executable)
@@ -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