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);