< prev index next >
src/hotspot/share/utilities/hashtable.hpp
Print this page
@@ -28,10 +28,11 @@
#include "memory/allocation.hpp"
#include "oops/oop.hpp"
#include "oops/symbol.hpp"
#include "runtime/handles.hpp"
#include "utilities/growableArray.hpp"
+#include "utilities/statistics.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,10 +167,12 @@
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,10 +246,11 @@
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 >