src/hotspot/share/runtime/vmStructs.cpp
changeset 51405 8b23aa7cef47
parent 51329 9c68699bebe5
child 51444 3e5d28e6de32
equal deleted inserted replaced
51404:c5461fe16efb 51405:8b23aa7cef47
   160   #define JVMTI_STRUCTS(static_field)
   160   #define JVMTI_STRUCTS(static_field)
   161 #endif // INCLUDE_JVMTI
   161 #endif // INCLUDE_JVMTI
   162 
   162 
   163 typedef HashtableEntry<intptr_t, mtInternal>  IntptrHashtableEntry;
   163 typedef HashtableEntry<intptr_t, mtInternal>  IntptrHashtableEntry;
   164 typedef Hashtable<intptr_t, mtInternal>       IntptrHashtable;
   164 typedef Hashtable<intptr_t, mtInternal>       IntptrHashtable;
   165 typedef Hashtable<Symbol*, mtSymbol>          SymbolHashtable;
       
   166 typedef HashtableEntry<Symbol*, mtClass>      SymbolHashtableEntry;
       
   167 typedef Hashtable<InstanceKlass*, mtClass>       KlassHashtable;
   165 typedef Hashtable<InstanceKlass*, mtClass>       KlassHashtable;
   168 typedef HashtableEntry<InstanceKlass*, mtClass>  KlassHashtableEntry;
   166 typedef HashtableEntry<InstanceKlass*, mtClass>  KlassHashtableEntry;
   169 typedef CompactHashtable<Symbol*, char>       SymbolCompactHashTable;
       
   170 typedef RehashableHashtable<Symbol*, mtSymbol>   RehashableSymbolHashtable;
       
   171 
   167 
   172 typedef PaddedEnd<ObjectMonitor>              PaddedObjectMonitor;
   168 typedef PaddedEnd<ObjectMonitor>              PaddedObjectMonitor;
   173 
   169 
   174 //--------------------------------------------------------------------------------
   170 //--------------------------------------------------------------------------------
   175 // VM_STRUCTS
   171 // VM_STRUCTS
   465      static_field(PerfMemory,                  _top,                                          char*)                                 \
   461      static_field(PerfMemory,                  _top,                                          char*)                                 \
   466      static_field(PerfMemory,                  _capacity,                                     size_t)                                \
   462      static_field(PerfMemory,                  _capacity,                                     size_t)                                \
   467      static_field(PerfMemory,                  _prologue,                                     PerfDataPrologue*)                     \
   463      static_field(PerfMemory,                  _prologue,                                     PerfDataPrologue*)                     \
   468      static_field(PerfMemory,                  _initialized,                                  int)                                   \
   464      static_field(PerfMemory,                  _initialized,                                  int)                                   \
   469                                                                                                                                      \
   465                                                                                                                                      \
   470   /***************/                                                                                                                  \
       
   471   /* SymbolTable */                                                                                                                  \
       
   472   /***************/                                                                                                                  \
       
   473                                                                                                                                      \
       
   474      static_field(SymbolTable,                 _the_table,                                    SymbolTable*)                          \
       
   475      static_field(SymbolTable,                 _shared_table,                                 SymbolCompactHashTable)                \
       
   476      static_field(RehashableSymbolHashtable,   _seed,                                         juint)                                 \
       
   477                                                                                                                                      \
       
   478   /********************/                                                                                                             \
       
   479   /* CompactHashTable */                                                                                                             \
       
   480   /********************/                                                                                                             \
       
   481                                                                                                                                      \
       
   482   nonstatic_field(SymbolCompactHashTable,      _base_address,                                 address)                               \
       
   483   nonstatic_field(SymbolCompactHashTable,      _entry_count,                                  u4)                                    \
       
   484   nonstatic_field(SymbolCompactHashTable,      _bucket_count,                                 u4)                                    \
       
   485   nonstatic_field(SymbolCompactHashTable,      _buckets,                                      u4*)                                   \
       
   486   nonstatic_field(SymbolCompactHashTable,      _entries,                                      u4*)                                   \
       
   487                                                                                                                                      \
       
   488   /********************/                                                                                                             \
   466   /********************/                                                                                                             \
   489   /* SystemDictionary */                                                                                                             \
   467   /* SystemDictionary */                                                                                                             \
   490   /********************/                                                                                                             \
   468   /********************/                                                                                                             \
   491                                                                                                                                      \
   469                                                                                                                                      \
   492      static_field(SystemDictionary,            _shared_dictionary,                            Dictionary*)                           \
   470      static_field(SystemDictionary,            _shared_dictionary,                            Dictionary*)                           \
  1349   declare_toplevel_type(PerfDataPrologue*)                                \
  1327   declare_toplevel_type(PerfDataPrologue*)                                \
  1350   declare_toplevel_type(PerfDataEntry)                                    \
  1328   declare_toplevel_type(PerfDataEntry)                                    \
  1351   declare_toplevel_type(PerfMemory)                                       \
  1329   declare_toplevel_type(PerfMemory)                                       \
  1352   declare_type(PerfData, CHeapObj<mtInternal>)                            \
  1330   declare_type(PerfData, CHeapObj<mtInternal>)                            \
  1353                                                                           \
  1331                                                                           \
  1354   /*********************************/                                     \
  1332   /********************/                                                  \
  1355   /* SymbolTable, SystemDictionary */                                     \
  1333   /* SystemDictionary */                                                  \
  1356   /*********************************/                                     \
  1334   /********************/                                                  \
  1357                                                                           \
  1335                                                                           \
  1358   declare_toplevel_type(BasicHashtable<mtInternal>)                       \
  1336   declare_toplevel_type(BasicHashtable<mtInternal>)                       \
  1359     declare_type(IntptrHashtable, BasicHashtable<mtInternal>)             \
  1337     declare_type(IntptrHashtable, BasicHashtable<mtInternal>)             \
  1360   declare_toplevel_type(BasicHashtable<mtSymbol>)                         \
  1338   declare_toplevel_type(BasicHashtable<mtSymbol>)                         \
  1361     declare_type(RehashableSymbolHashtable, BasicHashtable<mtSymbol>)     \
       
  1362   declare_type(SymbolTable, SymbolHashtable)                              \
       
  1363     declare_type(Dictionary, KlassHashtable)                              \
  1339     declare_type(Dictionary, KlassHashtable)                              \
  1364   declare_toplevel_type(BasicHashtableEntry<mtInternal>)                  \
  1340   declare_toplevel_type(BasicHashtableEntry<mtInternal>)                  \
  1365   declare_type(IntptrHashtableEntry, BasicHashtableEntry<mtInternal>)     \
  1341   declare_type(IntptrHashtableEntry, BasicHashtableEntry<mtInternal>)     \
  1366     declare_type(DictionaryEntry, KlassHashtableEntry)                    \
  1342     declare_type(DictionaryEntry, KlassHashtableEntry)                    \
  1367   declare_toplevel_type(HashtableBucket<mtInternal>)                      \
  1343   declare_toplevel_type(HashtableBucket<mtInternal>)                      \
  1370                                                                           \
  1346                                                                           \
  1371   declare_toplevel_type(GenericGrowableArray)                             \
  1347   declare_toplevel_type(GenericGrowableArray)                             \
  1372   declare_toplevel_type(GrowableArray<int>)                               \
  1348   declare_toplevel_type(GrowableArray<int>)                               \
  1373   declare_toplevel_type(Arena)                                            \
  1349   declare_toplevel_type(Arena)                                            \
  1374     declare_type(ResourceArea, Arena)                                     \
  1350     declare_type(ResourceArea, Arena)                                     \
  1375                                                                           \
       
  1376   declare_toplevel_type(SymbolCompactHashTable)                           \
       
  1377                                                                           \
  1351                                                                           \
  1378   /***********************************************************/           \
  1352   /***********************************************************/           \
  1379   /* Thread hierarchy (needed for run-time type information) */           \
  1353   /* Thread hierarchy (needed for run-time type information) */           \
  1380   /***********************************************************/           \
  1354   /***********************************************************/           \
  1381                                                                           \
  1355                                                                           \