1.1 --- a/src/share/vm/classfile/placeholders.hpp Wed Jun 27 15:23:36 2012 +0200 1.2 +++ b/src/share/vm/classfile/placeholders.hpp Thu Jun 28 17:03:16 2012 -0400 1.3 @@ -34,7 +34,7 @@ 1.4 // being loaded, as well as arrays of primitives. 1.5 // 1.6 1.7 -class PlaceholderTable : public TwoOopHashtable<Symbol*> { 1.8 +class PlaceholderTable : public TwoOopHashtable<Symbol*, mtClass> { 1.9 friend class VMStructs; 1.10 1.11 public: 1.12 @@ -44,15 +44,15 @@ 1.13 void free_entry(PlaceholderEntry* entry); 1.14 1.15 PlaceholderEntry* bucket(int i) { 1.16 - return (PlaceholderEntry*)Hashtable<Symbol*>::bucket(i); 1.17 + return (PlaceholderEntry*)Hashtable<Symbol*, mtClass>::bucket(i); 1.18 } 1.19 1.20 PlaceholderEntry** bucket_addr(int i) { 1.21 - return (PlaceholderEntry**)Hashtable<Symbol*>::bucket_addr(i); 1.22 + return (PlaceholderEntry**)Hashtable<Symbol*, mtClass>::bucket_addr(i); 1.23 } 1.24 1.25 void add_entry(int index, PlaceholderEntry* new_entry) { 1.26 - Hashtable<Symbol*>::add_entry(index, (HashtableEntry<Symbol*>*)new_entry); 1.27 + Hashtable<Symbol*, mtClass>::add_entry(index, (HashtableEntry<Symbol*, mtClass>*)new_entry); 1.28 } 1.29 1.30 void add_entry(int index, unsigned int hash, Symbol* name, 1.31 @@ -116,7 +116,7 @@ 1.32 // For DEFINE_CLASS, the head of the queue owns the 1.33 // define token and the rest of the threads wait to return the 1.34 // result the first thread gets. 1.35 -class SeenThread: public CHeapObj { 1.36 +class SeenThread: public CHeapObj<mtInternal> { 1.37 private: 1.38 Thread *_thread; 1.39 SeenThread* _stnext; 1.40 @@ -152,7 +152,7 @@ 1.41 // on store ordering here. 1.42 // The system dictionary is the only user of this class. 1.43 1.44 -class PlaceholderEntry : public HashtableEntry<Symbol*> { 1.45 +class PlaceholderEntry : public HashtableEntry<Symbol*, mtClass> { 1.46 friend class VMStructs; 1.47 1.48 1.49 @@ -206,11 +206,11 @@ 1.50 void set_defineThreadQ(SeenThread* SeenThread) { _defineThreadQ = SeenThread; } 1.51 1.52 PlaceholderEntry* next() const { 1.53 - return (PlaceholderEntry*)HashtableEntry<Symbol*>::next(); 1.54 + return (PlaceholderEntry*)HashtableEntry<Symbol*, mtClass>::next(); 1.55 } 1.56 1.57 PlaceholderEntry** next_addr() { 1.58 - return (PlaceholderEntry**)HashtableEntry<Symbol*>::next_addr(); 1.59 + return (PlaceholderEntry**)HashtableEntry<Symbol*, mtClass>::next_addr(); 1.60 } 1.61 1.62 // Test for equality