зеркало из https://github.com/github/ruby.git
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
This commit is contained in:
Родитель
669a2a359e
Коммит
d0240cbb6d
|
@ -1,3 +1,11 @@
|
|||
Thu Jul 30 08:48:42 2015 Eric Wong <e@80x24.org>
|
||||
|
||||
* 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 <e@80x24.org>
|
||||
|
||||
* benchmark/bm_hash_aref_dsym.rb: new benchmark
|
||||
|
|
14
st.c
14
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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче