aboutsummaryrefslogtreecommitdiffstats
path: root/st.c
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2023-03-17 11:29:04 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2023-03-20 13:54:18 -0700
commit54dbd8bea8a79bfcdefa471c1717c6cd28022f33 (patch)
treea192755d979ae7db2a47616450d8a32332855809 /st.c
parent51834ff2ec4fba7fa4d62b04365c1c9c5b6700f1 (diff)
downloadruby-54dbd8bea8a79bfcdefa471c1717c6cd28022f33.tar.gz
Use an st table for "too complex" objects
st tables will maintain insertion order so we can marshal dump / load objects with instance variables in the same order they were set on that particular instance [ruby-core:112926] [Bug #19535] Co-Authored-By: Jemma Issroff <jemmaissroff@gmail.com>
Diffstat (limited to 'st.c')
-rw-r--r--st.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/st.c b/st.c
index b18b9d6cb9..411237d13b 100644
--- a/st.c
+++ b/st.c
@@ -569,6 +569,12 @@ st_init_table_with_size(const struct st_hash_type *type, st_index_t size)
return tab;
}
+size_t
+st_table_size(const struct st_table *tbl)
+{
+ return tbl->num_entries;
+}
+
/* Create and return table with TYPE which can hold a minimal number
of entries (see comments for get_power2). */
st_table *