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.312 2008/05/11 02:57:23 mast Exp $ + || $Id: gc.c,v 1.313 2008/05/11 14:34:56 mast Exp $   */      #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:4254: Inside #if defined (PIKE_DEBUG) || defined (MEMORY_COUNT_DEBUG)
   if (IS_EXTERNAL (m)) fputs (", EXT", stderr);    if (m->wl_next) fputs (", on wl", stderr);   }   #endif      static struct mc_marker mc_work_list = {    /* Sentinel. The work list starts at work_list.wl_next. */    (void *) (ptrdiff_t) -1,    &mc_work_list, &mc_work_list,    (void *) (ptrdiff_t) -1, (void *) (ptrdiff_t) -1, -  (void *) (ptrdiff_t) -1, (void *) (ptrdiff_t) -1, (void *) (ptrdiff_t) -1, -  -1, -1, -1, -1 +  (void *) (ptrdiff_t) -1, (visit_thing_fn *) (ptrdiff_t) -1, +  (void *) (ptrdiff_t) -1, +  -1, -1, MAX_UINT32, (unsigned INT16) -1   };      #define WL_ADD_FIRST(M) do { \    struct mc_marker *_m = (M); \    struct mc_marker *_list_next = mc_work_list.wl_next; \    DO_IF_DEBUG (assert (_m->wl_prev == (void *) (ptrdiff_t) -1)); \    assert (_m->wl_next == NULL); \    _m->wl_prev = &mc_work_list; \    _m->wl_next = _list_next; \    mc_work_list.wl_next = _list_next->wl_prev = _m; \
pike.git/src/gc.c:4317:    return m;    }    return NULL;   }      static struct mc_marker mc_incomplete = {    /* Sentinel for the incomplete lookaheads list. */    (void *) (ptrdiff_t) -1,    (void *) (ptrdiff_t) -1, (void *) (ptrdiff_t) -1,    &mc_incomplete, &mc_incomplete, -  (void *) (ptrdiff_t) -1, (void *) (ptrdiff_t) -1, (void *) (ptrdiff_t) -1, -  -1, -1, -1, -1 +  (void *) (ptrdiff_t) -1, (visit_thing_fn *) (ptrdiff_t) -1, +  (void *) (ptrdiff_t) -1, +  -1, -1, MAX_UINT32, (unsigned INT16) -1   };      static struct mc_marker mc_complete = {    /* Sentinel for the complete lookaheads list. */    (void *) (ptrdiff_t) -1,    (void *) (ptrdiff_t) -1, (void *) (ptrdiff_t) -1,    &mc_complete, &mc_complete, -  (void *) (ptrdiff_t) -1, (void *) (ptrdiff_t) -1, (void *) (ptrdiff_t) -1, -  -1, -1, -1, -1 +  (void *) (ptrdiff_t) -1, (visit_thing_fn *) (ptrdiff_t) -1, +  (void *) (ptrdiff_t) -1, +  -1, -1, MAX_UINT32, (unsigned INT16) -1   };      static struct mc_marker mc_indirect = {    /* Sentinel for the indirectly incomplete lookaheads list. */    (void *) (ptrdiff_t) -1,    (void *) (ptrdiff_t) -1, (void *) (ptrdiff_t) -1,    &mc_indirect, &mc_indirect, -  (void *) (ptrdiff_t) -1, (void *) (ptrdiff_t) -1, (void *) (ptrdiff_t) -1, -  -1, -1, -1, -1 +  (void *) (ptrdiff_t) -1, (visit_thing_fn *) (ptrdiff_t) -1, +  (void *) (ptrdiff_t) -1, +  -1, -1, MAX_UINT32, (unsigned INT16) -1   };      #define DL_IS_EMPTY(LIST) (LIST.dl_next == &LIST)      #define DL_ADD(LIST, M) do { \    struct mc_marker *_m = (M); \    struct mc_marker *_list_next = LIST.dl_next; \    DO_IF_DEBUG ( \    assert (_m->dl_prev == (void *) (ptrdiff_t) -1); \    assert (_m->dl_next == (void *) (ptrdiff_t) -1); \