pike.git / src / gc.c

version» Context lines:

pike.git/src/gc.c:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: gc.c,v 1.330 2008/10/12 21:49:56 mast Exp $ + || $Id$   */      #include "global.h"      struct callback *gc_evaluator_callback=0;      #include "array.h"   #include "multiset.h"   #include "mapping.h"   #include "object.h"
pike.git/src/gc.c:5504:    * already has been raised as it should. */    assert (m->flags & MC_FLAG_CANDIDATE_REF);    mc_wq_enqueue (m);    if (collect_stats && type_from_visit_fn (m->visit_fn) <= MAX_TYPE)    count_cyclic++;    MC_DEBUG_MSG (m, "enqueued cyclic internal");    m = m->dl_next;    } while (m != &mc_complete);    }    +  /* We've moved all the markers on mc_complete to the work queue, +  * so we need to empty mc_complete in order to use it again for +  * the next batch of indirect markers. +  */ +  DL_MAKE_EMPTY(mc_complete);    DL_MOVE (mc_indirect, mc_complete);       TOGGLE_EXT_FLAGS();      #ifdef PIKE_DEBUG    if (d_flag) {    struct mc_marker *m;    for (m = mc_incomplete.dl_next; m != &mc_incomplete; m = m->dl_next) {    assert (!(m->flags & MC_FLAG_INTERNAL));    assert (!IS_EXTERNAL (m));