pike.git / src / mapping.c

version» Context lines:

pike.git/src/mapping.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: mapping.c,v 1.171 2003/09/23 20:08:00 mast Exp $ + || $Id: mapping.c,v 1.172 2003/09/23 22:26:56 mast Exp $   */      #include "global.h" - RCSID("$Id: mapping.c,v 1.171 2003/09/23 20:08:00 mast Exp $"); + RCSID("$Id: mapping.c,v 1.172 2003/09/23 22:26:56 mast Exp $");   #include "main.h"   #include "object.h"   #include "mapping.h"   #include "svalue.h"   #include "array.h"   #include "pike_macros.h"   #include "pike_error.h"   #include "pike_memory.h"   #include "dynamic_buffer.h"   #include "interpret.h"
pike.git/src/mapping.c:2282:      static void gc_check_mapping(struct mapping *m)   {    struct mapping_data *md = m->data;       if((md->ind_types | md->val_types) & BIT_COMPLEX)    GC_ENTER (m, T_MAPPING) {    INT32 e;    struct keypair *k;    -  if(debug_gc_check (md, " as mapping data block of a mapping")) -  return; -  +  if(!debug_gc_check (md, " as mapping data block of a mapping")) {    if (!(md->flags & MAPPING_WEAK) || MAPPING_DATA_IN_USE(md))    /* Disregard the weak flag if the mapping data is busy; we must    * leave it untouched in that case anyway. */    NEW_MAPPING_LOOP(md)    {    debug_gc_check_svalues(&k->ind, 1, " as mapping index");    debug_gc_check_svalues(&k->val, 1, " as mapping value");    }    else {    switch (md->flags & MAPPING_WEAK) {
pike.git/src/mapping.c:2319:    default:    NEW_MAPPING_LOOP(md)    {    debug_gc_check_weak_svalues(&k->ind, 1, " as mapping index");    debug_gc_check_weak_svalues(&k->val, 1, " as mapping value");    }    break;    }    gc_checked_as_weak(md);    } +  }    } GC_LEAVE;   }      unsigned gc_touch_all_mappings(void)   {    unsigned n = 0;    struct mapping *m;    if (first_mapping && first_mapping->prev)    Pike_fatal("Error in mapping link list.\n");    for (m = first_mapping; m; m = m->next) {