hotspot/src/share/vm/runtime/vmStructs.cpp
changeset 28839 627c26f2e54b
parent 28837 fda2ab610119
parent 28822 fa57694ade05
child 28954 7dda6c26cc98
equal deleted inserted replaced
28838:da47c3cc5c98 28839:627c26f2e54b
     1 /*
     1 /*
     2  * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    25 #include "precompiled.hpp"
    25 #include "precompiled.hpp"
    26 #include "classfile/dictionary.hpp"
    26 #include "classfile/dictionary.hpp"
    27 #include "classfile/javaClasses.hpp"
    27 #include "classfile/javaClasses.hpp"
    28 #include "classfile/loaderConstraints.hpp"
    28 #include "classfile/loaderConstraints.hpp"
    29 #include "classfile/placeholders.hpp"
    29 #include "classfile/placeholders.hpp"
       
    30 #include "classfile/compactHashtable.hpp"
    30 #include "classfile/stringTable.hpp"
    31 #include "classfile/stringTable.hpp"
    31 #include "classfile/systemDictionary.hpp"
    32 #include "classfile/systemDictionary.hpp"
    32 #include "ci/ciField.hpp"
    33 #include "ci/ciField.hpp"
    33 #include "ci/ciInstance.hpp"
    34 #include "ci/ciInstance.hpp"
    34 #include "ci/ciObjArrayKlass.hpp"
    35 #include "ci/ciObjArrayKlass.hpp"
   241 typedef Hashtable<oop, mtSymbol>              StringHashtable;
   242 typedef Hashtable<oop, mtSymbol>              StringHashtable;
   242 typedef TwoOopHashtable<Klass*, mtClass>      KlassTwoOopHashtable;
   243 typedef TwoOopHashtable<Klass*, mtClass>      KlassTwoOopHashtable;
   243 typedef Hashtable<Klass*, mtClass>            KlassHashtable;
   244 typedef Hashtable<Klass*, mtClass>            KlassHashtable;
   244 typedef HashtableEntry<Klass*, mtClass>       KlassHashtableEntry;
   245 typedef HashtableEntry<Klass*, mtClass>       KlassHashtableEntry;
   245 typedef TwoOopHashtable<Symbol*, mtClass>     SymbolTwoOopHashtable;
   246 typedef TwoOopHashtable<Symbol*, mtClass>     SymbolTwoOopHashtable;
       
   247 typedef CompactHashtable<Symbol*, char>       SymbolCompactHashTable;
   246 
   248 
   247 //--------------------------------------------------------------------------------
   249 //--------------------------------------------------------------------------------
   248 // VM_STRUCTS
   250 // VM_STRUCTS
   249 //
   251 //
   250 // This list enumerates all of the fields the serviceability agent
   252 // This list enumerates all of the fields the serviceability agent
   622   /***************/                                                                                                                  \
   624   /***************/                                                                                                                  \
   623   /* SymbolTable */                                                                                                                  \
   625   /* SymbolTable */                                                                                                                  \
   624   /***************/                                                                                                                  \
   626   /***************/                                                                                                                  \
   625                                                                                                                                      \
   627                                                                                                                                      \
   626      static_field(SymbolTable,                  _the_table,                                   SymbolTable*)                          \
   628      static_field(SymbolTable,                  _the_table,                                   SymbolTable*)                          \
       
   629      static_field(SymbolTable,                  _shared_table,                                SymbolCompactHashTable)                \
   627                                                                                                                                      \
   630                                                                                                                                      \
   628   /***************/                                                                                                                  \
   631   /***************/                                                                                                                  \
   629   /* StringTable */                                                                                                                  \
   632   /* StringTable */                                                                                                                  \
   630   /***************/                                                                                                                  \
   633   /***************/                                                                                                                  \
   631                                                                                                                                      \
   634                                                                                                                                      \
   632      static_field(StringTable,                  _the_table,                                   StringTable*)                          \
   635      static_field(StringTable,                  _the_table,                                   StringTable*)                          \
       
   636                                                                                                                                      \
       
   637   /********************/                                                                                                             \
       
   638   /* CompactHashTable */                                                                                                             \
       
   639   /********************/                                                                                                             \
       
   640                                                                                                                                      \
       
   641   nonstatic_field(SymbolCompactHashTable, _base_address, uintx)                                                                      \
       
   642   nonstatic_field(SymbolCompactHashTable, _entry_count, juint)                                                                       \
       
   643   nonstatic_field(SymbolCompactHashTable, _bucket_count, juint)                                                                      \
       
   644   nonstatic_field(SymbolCompactHashTable, _table_end_offset, juint)                                                                  \
       
   645   nonstatic_field(SymbolCompactHashTable, _buckets, juint*)                                                                          \
   633                                                                                                                                      \
   646                                                                                                                                      \
   634   /********************/                                                                                                             \
   647   /********************/                                                                                                             \
   635   /* SystemDictionary */                                                                                                             \
   648   /* SystemDictionary */                                                                                                             \
   636   /********************/                                                                                                             \
   649   /********************/                                                                                                             \
   637                                                                                                                                      \
   650                                                                                                                                      \
  1577   declare_toplevel_type(GenericGrowableArray)                             \
  1590   declare_toplevel_type(GenericGrowableArray)                             \
  1578   declare_toplevel_type(GrowableArray<int>)                               \
  1591   declare_toplevel_type(GrowableArray<int>)                               \
  1579   declare_toplevel_type(Arena)                                            \
  1592   declare_toplevel_type(Arena)                                            \
  1580     declare_type(ResourceArea, Arena)                                     \
  1593     declare_type(ResourceArea, Arena)                                     \
  1581   declare_toplevel_type(Chunk)                                            \
  1594   declare_toplevel_type(Chunk)                                            \
       
  1595                                                                           \
       
  1596   declare_toplevel_type(SymbolCompactHashTable)                           \
  1582                                                                           \
  1597                                                                           \
  1583   /***********************************************************/           \
  1598   /***********************************************************/           \
  1584   /* Thread hierarchy (needed for run-time type information) */           \
  1599   /* Thread hierarchy (needed for run-time type information) */           \
  1585   /***********************************************************/           \
  1600   /***********************************************************/           \
  1586                                                                           \
  1601                                                                           \