src/share/vm/utilities/hashtable.cpp

changeset 9614
bb44c0e88235
parent 8766
ce9a710b0f63
child 9637
eef07cd490d4
equal deleted inserted replaced
9613:67aa2bb0d84e 9614:bb44c0e88235
53 53
54 if (entry == NULL) { 54 if (entry == NULL) {
55 if (_first_free_entry + _entry_size >= _end_block) { 55 if (_first_free_entry + _entry_size >= _end_block) {
56 int block_size = MIN2(512, MAX2((int)_table_size / 2, (int)_number_of_entries)); 56 int block_size = MIN2(512, MAX2((int)_table_size / 2, (int)_number_of_entries));
57 int len = _entry_size * block_size; 57 int len = _entry_size * block_size;
58 len = 1 << log2_intptr(len); // round down to power of 2 58 len = 1 << log2_int(len); // round down to power of 2
59 assert(len >= _entry_size, ""); 59 assert(len >= _entry_size, "");
60 _first_free_entry = NEW_C_HEAP_ARRAY2(char, len, F, CURRENT_PC); 60 _first_free_entry = NEW_C_HEAP_ARRAY2(char, len, F, CURRENT_PC);
61 _end_block = _first_free_entry + len; 61 _end_block = _first_free_entry + len;
62 } 62 }
63 entry = (BasicHashtableEntry<F>*)_first_free_entry; 63 entry = (BasicHashtableEntry<F>*)_first_free_entry;

mercurial