pike.git / src / stralloc.c

version» Context lines:

pike.git/src/stralloc.c:1113:    struct pike_string *p;    for(e=0;e<htable_size;e++)    {    for(p=base_table[e];p;p=p->next)    {    int key = p->size_shift;    num_distinct_strings[key]++;    bytes_distinct_strings[key] +=    DO_ALIGN(p->len << p->size_shift, sizeof(void *));    alloced_strings[key] += p->refs; +  if (string_is_short(p)) {    alloced_bytes[key] +=    p->refs*DO_ALIGN((p->len+3) << p->size_shift,sizeof(void *)); -  +  } else { +  alloced_bytes[key] += p->refs*sizeof(struct pike_string);    }    } -  +  }    string_builder_sprintf(&s,    "\nShared string hash table:\n"    "-------------------------\n"    "\n"    "Type Count Distinct Bytes Actual Overhead %%\n"    "------------------------------------------------------------\n");    for(e = 0; e < 8; e++) {    int shift = e & 3;    ptrdiff_t overhead;    if (!num_distinct_strings[e]) continue;