< 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 >