pike.git / src / mapping.c

version» Context lines:

pike.git/src/mapping.c:1178:       mark_free_svalue (&md->free_list->ind);    mark_free_svalue (&md->free_list->val);       md->size--;   #ifdef MAPPING_SIZE_DEBUG    if(m->data ==md)    m->debug_size--;   #endif    -  if(md->size < (md->hashsize + 1) * MIN_LINK_LENGTH) -  { +  if((md->size < md->hashsize * MIN_LINK_LENGTH) && +  (md->hashsize > AVG_LINK_LENGTH)) {    debug_malloc_touch(m);    rehash(m, MAP_SLOTS(m->data->size));    }      #ifdef PIKE_DEBUG    if(d_flag>1) check_mapping(m);   #endif    return;   }   
pike.git/src/mapping.c:1253:    val_types |= 1 << TYPEOF(k->val);    ind_types |= 1 << TYPEOF(k->ind);    prev=&k->next;    }    }    }       md->val_types = val_types;    md->ind_types = ind_types;    -  if(MAP_SLOTS(md->size) < md->hashsize * MIN_LINK_LENGTH) -  { +  if((MAP_SLOTS(md->size) < md->hashsize * MIN_LINK_LENGTH) && +  (md->hashsize > AVG_LINK_LENGTH)) {    debug_malloc_touch(m);    rehash(m, MAP_SLOTS(md->size));    }      #ifdef PIKE_DEBUG    if(d_flag>1) check_mapping(m);   #endif    }   }