Mercurial > hg > graal-compiler
diff src/share/vm/classfile/symbolTable.hpp @ 20493:152cf4afc11f
8056084: Refactor Hashtable to allow implementations without rehashing support
Reviewed-by: gziemski, jmasa, brutisso, coleenp, tschatzl
author | mgerdin |
---|---|
date | Fri, 29 Aug 2014 13:08:01 +0200 |
parents | 5a32d2a3cc1e |
children | 7848fc12602b |
line wrap: on
line diff
--- a/src/share/vm/classfile/symbolTable.hpp Tue Sep 23 17:24:34 2014 -0700 +++ b/src/share/vm/classfile/symbolTable.hpp Fri Aug 29 13:08:01 2014 +0200 @@ -74,7 +74,7 @@ operator Symbol*() { return _temp; } }; -class SymbolTable : public Hashtable<Symbol*, mtSymbol> { +class SymbolTable : public RehashableHashtable<Symbol*, mtSymbol> { friend class VMStructs; friend class ClassFileParser; @@ -110,10 +110,10 @@ Symbol* lookup(int index, const char* name, int len, unsigned int hash); SymbolTable() - : Hashtable<Symbol*, mtSymbol>(SymbolTableSize, sizeof (HashtableEntry<Symbol*, mtSymbol>)) {} + : RehashableHashtable<Symbol*, mtSymbol>(SymbolTableSize, sizeof (HashtableEntry<Symbol*, mtSymbol>)) {} SymbolTable(HashtableBucket<mtSymbol>* t, int number_of_entries) - : Hashtable<Symbol*, mtSymbol>(SymbolTableSize, sizeof (HashtableEntry<Symbol*, mtSymbol>), t, + : RehashableHashtable<Symbol*, mtSymbol>(SymbolTableSize, sizeof (HashtableEntry<Symbol*, mtSymbol>), t, number_of_entries) {} // Arena for permanent symbols (null class loader) that are never unloaded @@ -252,7 +252,7 @@ static int parallel_claimed_index() { return _parallel_claimed_idx; } }; -class StringTable : public Hashtable<oop, mtSymbol> { +class StringTable : public RehashableHashtable<oop, mtSymbol> { friend class VMStructs; private: @@ -278,11 +278,11 @@ // in the range [start_idx, end_idx). static void buckets_unlink_or_oops_do(BoolObjectClosure* is_alive, OopClosure* f, int start_idx, int end_idx, int* processed, int* removed); - StringTable() : Hashtable<oop, mtSymbol>((int)StringTableSize, + StringTable() : RehashableHashtable<oop, mtSymbol>((int)StringTableSize, sizeof (HashtableEntry<oop, mtSymbol>)) {} StringTable(HashtableBucket<mtSymbol>* t, int number_of_entries) - : Hashtable<oop, mtSymbol>((int)StringTableSize, sizeof (HashtableEntry<oop, mtSymbol>), t, + : RehashableHashtable<oop, mtSymbol>((int)StringTableSize, sizeof (HashtableEntry<oop, mtSymbol>), t, number_of_entries) {} public: // The string table