src/share/vm/runtime/vmStructs.cpp

changeset 3901
24b9c7f4cae6
parent 3882
8c92982cbbc4
parent 3900
d2a62e0f25eb
child 3906
04ade88d9712
     1.1 --- a/src/share/vm/runtime/vmStructs.cpp	Fri Jun 29 17:12:15 2012 -0700
     1.2 +++ b/src/share/vm/runtime/vmStructs.cpp	Mon Jul 02 13:11:28 2012 -0400
     1.3 @@ -235,7 +235,6 @@
     1.4  #ifndef REG_COUNT
     1.5    #define REG_COUNT 0
     1.6  #endif
     1.7 -
     1.8  // whole purpose of this function is to work around bug c++/27724 in gcc 4.1.1
     1.9  // with optimization turned on it doesn't affect produced code
    1.10  static inline uint64_t cast_uint64_t(size_t x)
    1.11 @@ -244,6 +243,16 @@
    1.12  }
    1.13  
    1.14  
    1.15 +typedef HashtableEntry<intptr_t, mtInternal>  IntptrHashtableEntry;
    1.16 +typedef Hashtable<intptr_t, mtInternal>       IntptrHashtable;
    1.17 +typedef Hashtable<Symbol*, mtSymbol>          SymbolHashtable;
    1.18 +typedef HashtableEntry<Symbol*, mtClass>      SymbolHashtableEntry;
    1.19 +typedef Hashtable<oop, mtSymbol>              StringHashtable;
    1.20 +typedef TwoOopHashtable<klassOop, mtClass>    klassOopTwoOopHashtable;
    1.21 +typedef Hashtable<klassOop, mtClass>          klassOopHashtable;
    1.22 +typedef HashtableEntry<klassOop, mtClass>     klassHashtableEntry;
    1.23 +typedef TwoOopHashtable<Symbol*, mtClass>     SymbolTwoOopHashtable;
    1.24 +
    1.25  //--------------------------------------------------------------------------------
    1.26  // VM_STRUCTS
    1.27  //
    1.28 @@ -711,26 +720,26 @@
    1.29    /* HashtableBucket */                                                                                                              \
    1.30    /*******************/                                                                                                              \
    1.31                                                                                                                                       \
    1.32 -  nonstatic_field(HashtableBucket,             _entry,                                        BasicHashtableEntry*)                  \
    1.33 +  nonstatic_field(HashtableBucket<mtInternal>,  _entry,                                        BasicHashtableEntry<mtInternal>*)     \
    1.34                                                                                                                                       \
    1.35    /******************/                                                                                                               \
    1.36    /* HashtableEntry */                                                                                                               \
    1.37    /******************/                                                                                                               \
    1.38                                                                                                                                       \
    1.39 -  nonstatic_field(BasicHashtableEntry,         _next,                                         BasicHashtableEntry*)                  \
    1.40 -  nonstatic_field(BasicHashtableEntry,         _hash,                                         unsigned int)                          \
    1.41 -  nonstatic_field(HashtableEntry<intptr_t>,    _literal,                                      intptr_t) \
    1.42 +  nonstatic_field(BasicHashtableEntry<mtInternal>, _next,                                     BasicHashtableEntry<mtInternal>*)      \
    1.43 +  nonstatic_field(BasicHashtableEntry<mtInternal>, _hash,                                     unsigned int)                          \
    1.44 +  nonstatic_field(IntptrHashtableEntry,            _literal,                                  intptr_t)                              \
    1.45                                                                                                                                       \
    1.46    /*************/                                                                                                                    \
    1.47    /* Hashtable */                                                                                                                    \
    1.48    /*************/                                                                                                                    \
    1.49                                                                                                                                       \
    1.50 -  nonstatic_field(BasicHashtable,              _table_size,                                   int)                                   \
    1.51 -  nonstatic_field(BasicHashtable,              _buckets,                                      HashtableBucket*)                      \
    1.52 -  nonstatic_field(BasicHashtable,              _free_list,                                    BasicHashtableEntry*)                  \
    1.53 -  nonstatic_field(BasicHashtable,              _first_free_entry,                             char*)                                 \
    1.54 -  nonstatic_field(BasicHashtable,              _end_block,                                    char*)                                 \
    1.55 -  nonstatic_field(BasicHashtable,              _entry_size,                                   int)                                   \
    1.56 +  nonstatic_field(BasicHashtable<mtInternal>, _table_size,                                   int)                                   \
    1.57 +  nonstatic_field(BasicHashtable<mtInternal>, _buckets,                                      HashtableBucket<mtInternal>*)          \
    1.58 +  nonstatic_field(BasicHashtable<mtInternal>, _free_list,                                    BasicHashtableEntry<mtInternal>*)      \
    1.59 +  nonstatic_field(BasicHashtable<mtInternal>, _first_free_entry,                             char*)                                 \
    1.60 +  nonstatic_field(BasicHashtable<mtInternal>, _end_block,                                    char*)                                 \
    1.61 +  nonstatic_field(BasicHashtable<mtInternal>, _entry_size,                                   int)                                   \
    1.62                                                                                                                                       \
    1.63    /*******************/                                                                                                              \
    1.64    /* DictionaryEntry */                                                                                                              \
    1.65 @@ -1538,20 +1547,20 @@
    1.66    /* SymbolTable, SystemDictionary */                                     \
    1.67    /*********************************/                                     \
    1.68                                                                            \
    1.69 -  declare_toplevel_type(BasicHashtable)                                   \
    1.70 -    declare_type(Hashtable<intptr_t>, BasicHashtable)                     \
    1.71 -  declare_type(SymbolTable, Hashtable<Symbol*>)                           \
    1.72 -  declare_type(StringTable, Hashtable<oop>)                               \
    1.73 -    declare_type(LoaderConstraintTable, Hashtable<klassOop>)              \
    1.74 -    declare_type(TwoOopHashtable<klassOop>, Hashtable<klassOop>)          \
    1.75 -    declare_type(Dictionary, TwoOopHashtable<klassOop>)                   \
    1.76 -    declare_type(PlaceholderTable, TwoOopHashtable<Symbol*>)              \
    1.77 -  declare_toplevel_type(BasicHashtableEntry)                              \
    1.78 -  declare_type(HashtableEntry<intptr_t>, BasicHashtableEntry)             \
    1.79 -    declare_type(DictionaryEntry, HashtableEntry<klassOop>)               \
    1.80 -    declare_type(PlaceholderEntry, HashtableEntry<Symbol*>)               \
    1.81 -    declare_type(LoaderConstraintEntry, HashtableEntry<klassOop>)         \
    1.82 -  declare_toplevel_type(HashtableBucket)                                  \
    1.83 +  declare_toplevel_type(BasicHashtable<mtInternal>)                       \
    1.84 +    declare_type(IntptrHashtable, BasicHashtable<mtInternal>)             \
    1.85 +  declare_type(SymbolTable, SymbolHashtable)                              \
    1.86 +  declare_type(StringTable, StringHashtable)                              \
    1.87 +    declare_type(LoaderConstraintTable, klassOopHashtable)                \
    1.88 +    declare_type(klassOopTwoOopHashtable, klassOopHashtable)              \
    1.89 +    declare_type(Dictionary, klassOopTwoOopHashtable)                     \
    1.90 +    declare_type(PlaceholderTable, SymbolTwoOopHashtable)                 \
    1.91 +  declare_toplevel_type(BasicHashtableEntry<mtInternal>)                  \
    1.92 +  declare_type(IntptrHashtableEntry, BasicHashtableEntry<mtInternal>)     \
    1.93 +    declare_type(DictionaryEntry, klassHashtableEntry)                    \
    1.94 +    declare_type(PlaceholderEntry, SymbolHashtableEntry)                  \
    1.95 +    declare_type(LoaderConstraintEntry, klassHashtableEntry)              \
    1.96 +  declare_toplevel_type(HashtableBucket<mtInternal>)                      \
    1.97    declare_toplevel_type(SystemDictionary)                                 \
    1.98    declare_toplevel_type(vmSymbols)                                        \
    1.99    declare_toplevel_type(ProtectionDomainEntry)                            \

mercurial