Skip to content

Commit

Permalink
Move internal ST functions to internal/st.h
Browse files Browse the repository at this point in the history
st_replace and st_init_existing_table_with_size are functions used
internally in Ruby and should not be publicly visible.
  • Loading branch information
peterzhu2118 committed Dec 25, 2023
1 parent f4d2fe5 commit 824ff48
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 6 deletions.
6 changes: 6 additions & 0 deletions common.mk
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
5 changes: 3 additions & 2 deletions hash.c
Expand Up @@ -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"
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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++) {
Expand Down
4 changes: 0 additions & 4 deletions include/ruby/st.h
Expand Up @@ -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);
Expand Down Expand Up @@ -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));
Expand Down
11 changes: 11 additions & 0 deletions 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
1 change: 1 addition & 0 deletions object.c
Expand Up @@ -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"
Expand Down
1 change: 1 addition & 0 deletions st.c
Expand Up @@ -108,6 +108,7 @@
#include "internal/bits.h"
#include "internal/hash.h"
#include "internal/sanitizers.h"
#include "internal/st.h"
#endif

#include <stdio.h>
Expand Down

0 comments on commit 824ff48

Please sign in to comment.