< prev index next >

src/hotspot/share/utilities/hashtable.hpp

Print this page

        

*** 28,37 **** --- 28,38 ---- #include "memory/allocation.hpp" #include "oops/oop.hpp" #include "oops/symbol.hpp" #include "runtime/handles.hpp" #include "utilities/growableArray.hpp" + #include "utilities/tableStatistics.hpp" // This is a generic hashtable, designed to be used for the symbol // and string tables. // // It is implemented as an open hash table with a fixed number of buckets.
*** 166,175 **** --- 167,178 ---- volatile int _number_of_entries; GrowableArray<char*>* _entry_blocks; protected: + TableRateStatistics _stats_rate; + void initialize(int table_size, int entry_size, int number_of_entries); // Accessor int entry_size() const { return _entry_size; }
*** 243,252 **** --- 246,256 ---- int index_for(const Symbol* name) const { return this->hash_to_index(compute_hash(name)); } + TableStatistics statistics_calculate(T (*literal_load_barrier)(HashtableEntry<T, F>*) = NULL); void print_table_statistics(outputStream* st, const char *table_name, T (*literal_load_barrier)(HashtableEntry<T, F>*) = NULL); protected: // Table entry management
< prev index next >