From d0240cbb6df88a9d50efdc7792103b29c5ec96e6 Mon Sep 17 00:00:00 2001 From: normal Date: Wed, 29 Jul 2015 23:55:23 +0000 Subject: [PATCH] st.c: constify st_table* in private functions Minor size reduction on 32-bit x86: text data bss dec hex filename 13742 24 0 13766 35c6 st.o 14166 24 0 14190 376e st-orig.o Public API change to be proposed separately. * st.c (find_entry): constify st_table* (find_packed_index_from): ditto (find_packed_index): ditto (get_keys): ditto (get_values): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ st.c | 14 +++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2214b6e760..ad2ff54332 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Thu Jul 30 08:48:42 2015 Eric Wong + + * st.c (find_entry): constify st_table* + (find_packed_index_from): ditto + (find_packed_index): ditto + (get_keys): ditto + (get_values): ditto + Thu Jul 30 04:29:25 2015 Eric Wong * benchmark/bm_hash_aref_dsym.rb: new benchmark diff --git a/st.c b/st.c index 0125132bb1..9b79704e2c 100644 --- a/st.c +++ b/st.c @@ -347,7 +347,8 @@ count_collision(const struct st_hash_type *type) ((ptr) = find_entry((table), key, (hash_val), ((bin_pos) = hash_pos(hash_val, (table)->num_bins)))) static st_table_entry * -find_entry(st_table *table, st_data_t key, st_index_t hash_val, st_index_t bin_pos) +find_entry(const st_table *table, st_data_t key, st_index_t hash_val, + st_index_t bin_pos) { register st_table_entry *ptr = table->bins[bin_pos]; FOUND_ENTRY; @@ -362,7 +363,8 @@ find_entry(st_table *table, st_data_t key, st_index_t hash_val, st_index_t bin_p } static inline st_index_t -find_packed_index_from(st_table *table, st_index_t hash_val, st_data_t key, st_index_t i) +find_packed_index_from(const st_table *table, st_index_t hash_val, + st_data_t key, st_index_t i) { while (i < table->real_entries && (PHASH(table, i) != hash_val || !EQUAL(table, key, &PACKED_ENT(table, i)))) { @@ -372,7 +374,7 @@ find_packed_index_from(st_table *table, st_index_t hash_val, st_data_t key, st_i } static inline st_index_t -find_packed_index(st_table *table, st_index_t hash_val, st_data_t key) +find_packed_index(const st_table *table, st_index_t hash_val, st_data_t key) { return find_packed_index_from(table, hash_val, key, 0); } @@ -1038,7 +1040,8 @@ st_foreach(st_table *table, int (*func)(ANYARGS), st_data_t arg) } static st_index_t -get_keys(st_table *table, st_data_t *keys, st_index_t size, int check, st_data_t never) +get_keys(const st_table *table, st_data_t *keys, st_index_t size, + int check, st_data_t never) { st_data_t key; st_data_t *keys_start = keys; @@ -1081,7 +1084,8 @@ st_keys_check(st_table *table, st_data_t *keys, st_index_t size, st_data_t never } static st_index_t -get_values(st_table *table, st_data_t *values, st_index_t size, int check, st_data_t never) +get_values(const st_table *table, st_data_t *values, st_index_t size, + int check, st_data_t never) { st_data_t key; st_data_t *values_start = values;