diff options
author | Peter Zhu <[email protected]> | 2023-12-15 14:49:45 -0500 |
---|---|---|
committer | Peter Zhu <[email protected]> | 2023-12-25 10:41:12 -0500 |
commit | 824ff48adcd47497b8e2993be5144de0e09a4f66 (patch) | |
tree | 7e3b645b1845167ac69d4a851d36964a5f297525 | |
parent | f4d2fe5e0d22876a6df68b9b56fb00b25d7aa5d8 (diff) |
Move internal ST functions to internal/st.h
st_replace and st_init_existing_table_with_size are functions used
internally in Ruby and should not be publicly visible.
-rw-r--r-- | common.mk | 6 | ||||
-rw-r--r-- | hash.c | 5 | ||||
-rw-r--r-- | include/ruby/st.h | 4 | ||||
-rw-r--r-- | internal/st.h | 11 | ||||
-rw-r--r-- | object.c | 1 | ||||
-rw-r--r-- | st.c | 1 |
6 files changed, 22 insertions, 6 deletions
@@ -7655,6 +7655,7 @@ hash.$(OBJEXT): $(top_srcdir)/internal/imemo.h hash.$(OBJEXT): $(top_srcdir)/internal/object.h hash.$(OBJEXT): $(top_srcdir)/internal/proc.h hash.$(OBJEXT): $(top_srcdir)/internal/serial.h +hash.$(OBJEXT): $(top_srcdir)/internal/st.h hash.$(OBJEXT): $(top_srcdir)/internal/static_assert.h hash.$(OBJEXT): $(top_srcdir)/internal/string.h hash.$(OBJEXT): $(top_srcdir)/internal/symbol.h @@ -7844,6 +7845,7 @@ hash.$(OBJEXT): {$(VPATH)}internal/module.h hash.$(OBJEXT): {$(VPATH)}internal/newobj.h hash.$(OBJEXT): {$(VPATH)}internal/scan_args.h hash.$(OBJEXT): {$(VPATH)}internal/special_consts.h +hash.$(OBJEXT): {$(VPATH)}internal/st.h hash.$(OBJEXT): {$(VPATH)}internal/static_assert.h hash.$(OBJEXT): {$(VPATH)}internal/stdalign.h hash.$(OBJEXT): {$(VPATH)}internal/stdbool.h @@ -10914,6 +10916,7 @@ object.$(OBJEXT): $(top_srcdir)/internal/inits.h object.$(OBJEXT): $(top_srcdir)/internal/numeric.h object.$(OBJEXT): $(top_srcdir)/internal/object.h object.$(OBJEXT): $(top_srcdir)/internal/serial.h +object.$(OBJEXT): $(top_srcdir)/internal/st.h object.$(OBJEXT): $(top_srcdir)/internal/static_assert.h object.$(OBJEXT): $(top_srcdir)/internal/string.h object.$(OBJEXT): $(top_srcdir)/internal/struct.h @@ -11081,6 +11084,7 @@ object.$(OBJEXT): {$(VPATH)}internal/module.h object.$(OBJEXT): {$(VPATH)}internal/newobj.h object.$(OBJEXT): {$(VPATH)}internal/scan_args.h object.$(OBJEXT): {$(VPATH)}internal/special_consts.h +object.$(OBJEXT): {$(VPATH)}internal/st.h object.$(OBJEXT): {$(VPATH)}internal/static_assert.h object.$(OBJEXT): {$(VPATH)}internal/stdalign.h object.$(OBJEXT): {$(VPATH)}internal/stdbool.h @@ -16799,6 +16803,7 @@ st.$(OBJEXT): $(top_srcdir)/internal/bits.h st.$(OBJEXT): $(top_srcdir)/internal/compilers.h st.$(OBJEXT): $(top_srcdir)/internal/hash.h st.$(OBJEXT): $(top_srcdir)/internal/sanitizers.h +st.$(OBJEXT): $(top_srcdir)/internal/st.h st.$(OBJEXT): $(top_srcdir)/internal/static_assert.h st.$(OBJEXT): $(top_srcdir)/internal/warnings.h st.$(OBJEXT): {$(VPATH)}assert.h @@ -16945,6 +16950,7 @@ st.$(OBJEXT): {$(VPATH)}internal/module.h st.$(OBJEXT): {$(VPATH)}internal/newobj.h st.$(OBJEXT): {$(VPATH)}internal/scan_args.h st.$(OBJEXT): {$(VPATH)}internal/special_consts.h +st.$(OBJEXT): {$(VPATH)}internal/st.h st.$(OBJEXT): {$(VPATH)}internal/static_assert.h st.$(OBJEXT): {$(VPATH)}internal/stdalign.h st.$(OBJEXT): {$(VPATH)}internal/stdbool.h @@ -35,6 +35,7 @@ #include "internal/hash.h" #include "internal/object.h" #include "internal/proc.h" +#include "internal/st.h" #include "internal/symbol.h" #include "internal/thread.h" #include "internal/time.h" @@ -757,7 +758,7 @@ ar_force_convert_table(VALUE hash, const char *file, int line) // make st st_table tab; st_table *new_tab = &tab; - rb_st_init_existing_table_with_size(new_tab, &objhash, size); + st_init_existing_table_with_size(new_tab, &objhash, size); ar_each_key(ar, bound, ar_each_key_insert, NULL, new_tab, hashes); hash_ar_free_and_clear_table(hash); RHASH_ST_TABLE_SET(hash, new_tab); @@ -1530,7 +1531,7 @@ hash_copy(VALUE ret, VALUE hash) } else { st_table *tab = RHASH_ST_TABLE(ret); - rb_st_init_existing_table_with_size(tab, &objhash, RHASH_AR_TABLE_SIZE(hash)); + st_init_existing_table_with_size(tab, &objhash, RHASH_AR_TABLE_SIZE(hash)); int bound = RHASH_AR_TABLE_BOUND(hash); for (int i = 0; i < bound; i++) { diff --git a/include/ruby/st.h b/include/ruby/st.h index ba69c066c9..f35ab43603 100644 --- a/include/ruby/st.h +++ b/include/ruby/st.h @@ -104,8 +104,6 @@ st_table *rb_st_init_table(const struct st_hash_type *); #define st_init_table rb_st_init_table st_table *rb_st_init_table_with_size(const struct st_hash_type *, st_index_t); #define st_init_table_with_size rb_st_init_table_with_size -st_table *rb_st_init_existing_table_with_size(st_table *tab, const struct st_hash_type *type, st_index_t size); -#define st_init_existing_table_with_size rb_st_init_existing_table_with_size st_table *rb_st_init_numtable(void); #define st_init_numtable rb_st_init_numtable st_table *rb_st_init_numtable_with_size(st_index_t); @@ -162,8 +160,6 @@ void rb_st_cleanup_safe(st_table *, st_data_t); #define st_cleanup_safe rb_st_cleanup_safe void rb_st_clear(st_table *); #define st_clear rb_st_clear -st_table *rb_st_replace(st_table *new_tab, st_table *old_tab); -#define st_replace rb_st_replace st_table *rb_st_copy(st_table *); #define st_copy rb_st_copy CONSTFUNC(int rb_st_numcmp(st_data_t, st_data_t)); diff --git a/internal/st.h b/internal/st.h new file mode 100644 index 0000000000..a26b224505 --- /dev/null +++ b/internal/st.h @@ -0,0 +1,11 @@ +#ifndef INTERNAL_ST_H +#define INTERNAL_ST_H + +#include "include/ruby/st.h" + +st_table *rb_st_replace(st_table *new_tab, st_table *old_tab); +#define st_replace rb_st_replace +st_table *rb_st_init_existing_table_with_size(st_table *tab, const struct st_hash_type *type, st_index_t size); +#define st_init_existing_table_with_size rb_st_init_existing_table_with_size + +#endif @@ -31,6 +31,7 @@ #include "internal/object.h" #include "internal/struct.h" #include "internal/string.h" +#include "internal/st.h" #include "internal/symbol.h" #include "internal/variable.h" #include "variable.h" @@ -108,6 +108,7 @@ #include "internal/bits.h" #include "internal/hash.h" #include "internal/sanitizers.h" +#include "internal/st.h" #endif #include <stdio.h> |