8234127: BasicHashtable does not support small table_size

Reviewed-by: coleenp, jiangli
This commit is contained in:
Man Cao 2019-11-13 16:49:14 -08:00
parent 368b6b5a2d
commit fddefba175

View File

@ -61,7 +61,7 @@ template <MEMFLAGS F> BasicHashtableEntry<F>* BasicHashtable<F>::new_entry(unsig
if (entry == NULL) {
if (_first_free_entry + _entry_size >= _end_block) {
int block_size = MIN2(512, MAX2((int)_table_size / 2, (int)_number_of_entries));
int block_size = MIN2(512, MAX3(2, (int)_table_size / 2, (int)_number_of_entries));
int len = _entry_size * block_size;
len = 1 << log2_int(len); // round down to power of 2
assert(len >= _entry_size, "");