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