diff --git a/src/stralloc.c b/src/stralloc.c index 8eb0fae627741f511cc94a6efb74c20fbbac4a1c..4822e9166302c14e0f2729e92b8feb4b18b9c6d1 100644 --- a/src/stralloc.c +++ b/src/stralloc.c @@ -2170,6 +2170,18 @@ static INLINE size_t memory_in_string (struct pike_string *s) return sizeof (struct pike_string_hdr) + ((s->len + 1) << s->size_shift); } +void count_memory_in_short_pike_strings(size_t *num, size_t *size) +{ + size_t num_=0, size_=0; + count_memory_in_short_pike_string0s(num, size); + count_memory_in_short_pike_string1s(&num_, &size_); + *num += num_; + *size += size_; + count_memory_in_short_pike_string2s(&num_, &size_); + *num += num_; + *size += size_; +} + void count_memory_in_strings(size_t *num, size_t *size) { unsigned INT32 e; diff --git a/src/stralloc.h b/src/stralloc.h index 35a996bddf4e8927d11d4aa072b32c9b8daaa575..76056abea09c7b64f62ce84c90e7e09004b4a82d 100644 --- a/src/stralloc.h +++ b/src/stralloc.h @@ -337,6 +337,7 @@ PMOD_EXPORT struct pike_string *string_replace(struct pike_string *str, struct pike_string *to); void init_shared_string_table(void); void cleanup_shared_string_table(void); +void count_memory_in_short_pike_strings(size_t *num, size_t *size); void count_memory_in_strings(size_t *num, size_t *size); PMOD_EXPORT void visit_string (struct pike_string *s, int action); void gc_mark_string_as_referenced (struct pike_string *s);