< prev index next >

src/share/vm/runtime/vmStructs.cpp

Print this page




  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "ci/ciField.hpp"
  27 #include "ci/ciInstance.hpp"
  28 #include "ci/ciMethodData.hpp"
  29 #include "ci/ciObjArrayKlass.hpp"
  30 #include "ci/ciSymbol.hpp"
  31 #include "classfile/compactHashtable.hpp"
  32 #include "classfile/dictionary.hpp"
  33 #include "classfile/javaClasses.hpp"
  34 #include "classfile/loaderConstraints.hpp"
  35 #include "classfile/placeholders.hpp"
  36 #include "classfile/stringTable.hpp"
  37 #include "classfile/systemDictionary.hpp"
  38 #include "code/codeBlob.hpp"
  39 #include "code/codeCache.hpp"
  40 #include "code/compressedStream.hpp"
  41 #include "code/location.hpp"
  42 #include "code/nmethod.hpp"
  43 #include "code/pcDesc.hpp"
  44 #include "code/stubs.hpp"
  45 #include "code/vmreg.hpp"
  46 #include "compiler/compileBroker.hpp"
  47 #include "compiler/oopMap.hpp"
  48 #include "gc/parallel/immutableSpace.hpp"
  49 #include "gc/parallel/mutableSpace.hpp"
  50 #include "gc/serial/defNewGeneration.hpp"
  51 #include "gc/serial/tenuredGeneration.hpp"
  52 #include "gc/shared/cardTableRS.hpp"
  53 #include "gc/shared/collectedHeap.hpp"
  54 #include "gc/shared/genCollectedHeap.hpp"
  55 #include "gc/shared/generation.hpp"


 176 
 177 #ifndef REG_COUNT
 178   #define REG_COUNT 0
 179 #endif
 180 
 181 #if INCLUDE_JVMTI
 182   #define JVMTI_STRUCTS(static_field) \
 183     static_field(JvmtiExport,                     _can_access_local_variables,                  bool)                                  \
 184     static_field(JvmtiExport,                     _can_hotswap_or_post_breakpoint,              bool)                                  \
 185     static_field(JvmtiExport,                     _can_post_on_exceptions,                      bool)                                  \
 186     static_field(JvmtiExport,                     _can_walk_any_space,                          bool)
 187 #else
 188   #define JVMTI_STRUCTS(static_field)
 189 #endif // INCLUDE_JVMTI
 190 
 191 typedef HashtableEntry<intptr_t, mtInternal>  IntptrHashtableEntry;
 192 typedef Hashtable<intptr_t, mtInternal>       IntptrHashtable;
 193 typedef Hashtable<Symbol*, mtSymbol>          SymbolHashtable;
 194 typedef HashtableEntry<Symbol*, mtClass>      SymbolHashtableEntry;
 195 typedef Hashtable<oop, mtSymbol>              StringHashtable;
 196 typedef TwoOopHashtable<InstanceKlass*, mtClass> KlassTwoOopHashtable;
 197 typedef Hashtable<InstanceKlass*, mtClass>       KlassHashtable;
 198 typedef HashtableEntry<InstanceKlass*, mtClass>  KlassHashtableEntry;
 199 typedef TwoOopHashtable<Symbol*, mtClass>     SymbolTwoOopHashtable;
 200 typedef CompactHashtable<Symbol*, char>       SymbolCompactHashTable;
 201 typedef RehashableHashtable<Symbol*, mtSymbol>   RehashableSymbolHashtable;
 202 
 203 //--------------------------------------------------------------------------------
 204 // VM_STRUCTS
 205 //
 206 // This list enumerates all of the fields the serviceability agent
 207 // needs to know about. Be sure to see also the type table below this one.
 208 // NOTE that there are platform-specific additions to this table in
 209 // vmStructs_<os>_<cpu>.hpp.
 210 
 211 #define VM_STRUCTS(nonstatic_field, \
 212                    static_field, \
 213                    static_ptr_volatile_field, \
 214                    unchecked_nonstatic_field, \
 215                    volatile_nonstatic_field, \
 216                    nonproduct_nonstatic_field, \
 217                    c1_nonstatic_field, \
 218                    c2_nonstatic_field, \
 219                    unchecked_c1_static_field, \


 233   nonstatic_field(CompiledICHolder,            _holder_method,                                Method*)                               \
 234   nonstatic_field(CompiledICHolder,            _holder_klass,                                 Klass*)                                \
 235   nonstatic_field(ConstantPool,                _tags,                                         Array<u1>*)                            \
 236   nonstatic_field(ConstantPool,                _cache,                                        ConstantPoolCache*)                    \
 237   nonstatic_field(ConstantPool,                _pool_holder,                                  InstanceKlass*)                        \
 238   nonstatic_field(ConstantPool,                _operands,                                     Array<u2>*)                            \
 239   nonstatic_field(ConstantPool,                _resolved_klasses,                             Array<Klass*>*)                        \
 240   nonstatic_field(ConstantPool,                _length,                                       int)                                   \
 241   nonstatic_field(ConstantPoolCache,           _resolved_references,                          jobject)                               \
 242   nonstatic_field(ConstantPoolCache,           _reference_map,                                Array<u2>*)                            \
 243   nonstatic_field(ConstantPoolCache,           _length,                                       int)                                   \
 244   nonstatic_field(ConstantPoolCache,           _constant_pool,                                ConstantPool*)                         \
 245   volatile_nonstatic_field(InstanceKlass,      _array_klasses,                                Klass*)                                \
 246   nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
 247   nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
 248   nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<Klass*>*)                        \
 249   nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<Klass*>*)                        \
 250   nonstatic_field(InstanceKlass,               _fields,                                       Array<u2>*)                            \
 251   nonstatic_field(InstanceKlass,               _java_fields_count,                            u2)                                    \
 252   nonstatic_field(InstanceKlass,               _constants,                                    ConstantPool*)                         \
 253   nonstatic_field(InstanceKlass,               _class_loader_data,                            ClassLoaderData*)                      \
 254   nonstatic_field(InstanceKlass,               _source_file_name_index,                       u2)                                    \
 255   nonstatic_field(InstanceKlass,               _source_debug_extension,                       const char*)                           \
 256   nonstatic_field(InstanceKlass,               _inner_classes,                                Array<jushort>*)                       \
 257   nonstatic_field(InstanceKlass,               _nonstatic_field_size,                         int)                                   \
 258   nonstatic_field(InstanceKlass,               _static_field_size,                            int)                                   \
 259   nonstatic_field(InstanceKlass,               _static_oop_field_count,                       u2)                                    \
 260   nonstatic_field(InstanceKlass,               _nonstatic_oop_map_size,                       int)                                   \
 261   nonstatic_field(InstanceKlass,               _is_marked_dependent,                          bool)                                  \
 262   nonstatic_field(InstanceKlass,               _misc_flags,                                   u2)                                    \
 263   nonstatic_field(InstanceKlass,               _minor_version,                                u2)                                    \
 264   nonstatic_field(InstanceKlass,               _major_version,                                u2)                                    \
 265   nonstatic_field(InstanceKlass,               _init_state,                                   u1)                                    \
 266   nonstatic_field(InstanceKlass,               _init_thread,                                  Thread*)                               \
 267   nonstatic_field(InstanceKlass,               _itable_len,                                   int)                                   \
 268   nonstatic_field(InstanceKlass,               _reference_type,                               u1)                                    \
 269   volatile_nonstatic_field(InstanceKlass,      _oop_map_cache,                                OopMapCache*)                          \
 270   nonstatic_field(InstanceKlass,               _jni_ids,                                      JNIid*)                                \
 271   nonstatic_field(InstanceKlass,               _osr_nmethods_head,                            nmethod*)                              \
 272   JVMTI_ONLY(nonstatic_field(InstanceKlass,    _breakpoints,                                  BreakpointInfo*))                      \
 273   nonstatic_field(InstanceKlass,               _generic_signature_index,                      u2)                                    \
 274   volatile_nonstatic_field(InstanceKlass,      _methods_jmethod_ids,                          jmethodID*)                            \
 275   volatile_nonstatic_field(InstanceKlass,      _idnum_allocated_count,                        u2)                                    \
 276   nonstatic_field(InstanceKlass,               _annotations,                                  Annotations*)                          \
 277   nonstatic_field(InstanceKlass,               _method_ordering,                              Array<int>*)                           \
 278   nonstatic_field(InstanceKlass,               _default_vtable_indices,                       Array<int>*)                           \
 279   nonstatic_field(Klass,                       _super_check_offset,                           juint)                                 \
 280   nonstatic_field(Klass,                       _secondary_super_cache,                        Klass*)                                \
 281   nonstatic_field(Klass,                       _secondary_supers,                             Array<Klass*>*)                        \
 282   nonstatic_field(Klass,                       _primary_supers[0],                            Klass*)                                \
 283   nonstatic_field(Klass,                       _java_mirror,                                  oop)                                   \
 284   nonstatic_field(Klass,                       _modifier_flags,                               jint)                                  \
 285   nonstatic_field(Klass,                       _super,                                        Klass*)                                \
 286   nonstatic_field(Klass,                       _subklass,                                     Klass*)                                \
 287   nonstatic_field(Klass,                       _layout_helper,                                jint)                                  \
 288   nonstatic_field(Klass,                       _name,                                         Symbol*)                               \
 289   nonstatic_field(Klass,                       _access_flags,                                 AccessFlags)                           \
 290   nonstatic_field(Klass,                       _prototype_header,                             markOop)                               \
 291   nonstatic_field(Klass,                       _next_sibling,                                 Klass*)                                \
 292   nonstatic_field(Klass,                       _next_link,                                    Klass*)                                \
 293   nonstatic_field(Klass,                       _vtable_len,                                   int)                                   \

 294   nonstatic_field(vtableEntry,                 _method,                                       Method*)                               \
 295   nonstatic_field(MethodData,                  _size,                                         int)                                   \
 296   nonstatic_field(MethodData,                  _method,                                       Method*)                               \
 297   nonstatic_field(MethodData,                  _data_size,                                    int)                                   \
 298   nonstatic_field(MethodData,                  _data[0],                                      intptr_t)                              \
 299   nonstatic_field(MethodData,                  _parameters_type_data_di,                      int)                                   \
 300   nonstatic_field(MethodData,                  _nof_decompiles,                               uint)                                  \
 301   nonstatic_field(MethodData,                  _nof_overflow_recompiles,                      uint)                                  \
 302   nonstatic_field(MethodData,                  _nof_overflow_traps,                           uint)                                  \
 303   nonstatic_field(MethodData,                  _trap_hist._array[0],                          u1)                                    \
 304   nonstatic_field(MethodData,                  _eflags,                                       intx)                                  \
 305   nonstatic_field(MethodData,                  _arg_local,                                    intx)                                  \
 306   nonstatic_field(MethodData,                  _arg_stack,                                    intx)                                  \
 307   nonstatic_field(MethodData,                  _arg_returned,                                 intx)                                  \
 308   nonstatic_field(MethodData,                  _tenure_traps,                                 uint)                                  \
 309   nonstatic_field(MethodData,                  _invoke_mask,                                  int)                                   \
 310   nonstatic_field(MethodData,                  _backedge_mask,                                int)                                   \
 311   nonstatic_field(DataLayout,                  _header._struct._tag,                          u1)                                    \
 312   nonstatic_field(DataLayout,                  _header._struct._flags,                        u1)                                    \
 313   nonstatic_field(DataLayout,                  _header._struct._bci,                          u2)                                    \


 590   /***************/                                                                                                                  \
 591   /* StringTable */                                                                                                                  \
 592   /***************/                                                                                                                  \
 593                                                                                                                                      \
 594      static_field(StringTable,                 _the_table,                                    StringTable*)                          \
 595                                                                                                                                      \
 596   /********************/                                                                                                             \
 597   /* CompactHashTable */                                                                                                             \
 598   /********************/                                                                                                             \
 599                                                                                                                                      \
 600   nonstatic_field(SymbolCompactHashTable,      _base_address,                                 address)                               \
 601   nonstatic_field(SymbolCompactHashTable,      _entry_count,                                  u4)                                    \
 602   nonstatic_field(SymbolCompactHashTable,      _bucket_count,                                 u4)                                    \
 603   nonstatic_field(SymbolCompactHashTable,      _buckets,                                      u4*)                                   \
 604   nonstatic_field(SymbolCompactHashTable,      _entries,                                      u4*)                                   \
 605                                                                                                                                      \
 606   /********************/                                                                                                             \
 607   /* SystemDictionary */                                                                                                             \
 608   /********************/                                                                                                             \
 609                                                                                                                                      \
 610      static_field(SystemDictionary,            _dictionary,                                   Dictionary*)                           \
 611      static_field(SystemDictionary,            _placeholders,                                 PlaceholderTable*)                     \
 612      static_field(SystemDictionary,            _shared_dictionary,                            Dictionary*)                           \
 613      static_field(SystemDictionary,            _system_loader_lock_obj,                       oop)                                   \
 614      static_field(SystemDictionary,            _loader_constraints,                           LoaderConstraintTable*)                \
 615      static_field(SystemDictionary,            WK_KLASS(Object_klass),                        InstanceKlass*)                        \
 616      static_field(SystemDictionary,            WK_KLASS(String_klass),                        InstanceKlass*)                        \
 617      static_field(SystemDictionary,            WK_KLASS(Class_klass),                         InstanceKlass*)                        \
 618      static_field(SystemDictionary,            WK_KLASS(Cloneable_klass),                     InstanceKlass*)                        \
 619      static_field(SystemDictionary,            WK_KLASS(ClassLoader_klass),                   InstanceKlass*)                        \
 620      static_field(SystemDictionary,            WK_KLASS(Serializable_klass),                  InstanceKlass*)                        \
 621      static_field(SystemDictionary,            WK_KLASS(System_klass),                        InstanceKlass*)                        \
 622      static_field(SystemDictionary,            WK_KLASS(Throwable_klass),                     InstanceKlass*)                        \
 623      static_field(SystemDictionary,            WK_KLASS(ThreadDeath_klass),                   InstanceKlass*)                        \
 624      static_field(SystemDictionary,            WK_KLASS(Error_klass),                         InstanceKlass*)                        \
 625      static_field(SystemDictionary,            WK_KLASS(Exception_klass),                     InstanceKlass*)                        \
 626      static_field(SystemDictionary,            WK_KLASS(RuntimeException_klass),              InstanceKlass*)                        \
 627      static_field(SystemDictionary,            WK_KLASS(ClassNotFoundException_klass),        InstanceKlass*)                        \
 628      static_field(SystemDictionary,            WK_KLASS(NoClassDefFoundError_klass),          InstanceKlass*)                        \
 629      static_field(SystemDictionary,            WK_KLASS(LinkageError_klass),                  InstanceKlass*)                        \
 630      static_field(SystemDictionary,            WK_KLASS(ClassCastException_klass),            InstanceKlass*)                        \
 631      static_field(SystemDictionary,            WK_KLASS(ArrayStoreException_klass),           InstanceKlass*)                        \
 632      static_field(SystemDictionary,            WK_KLASS(VirtualMachineError_klass),           InstanceKlass*)                        \
 633      static_field(SystemDictionary,            WK_KLASS(OutOfMemoryError_klass),              InstanceKlass*)                        \
 634      static_field(SystemDictionary,            WK_KLASS(StackOverflowError_klass),            InstanceKlass*)                        \
 635      static_field(SystemDictionary,            WK_KLASS(ProtectionDomain_klass),              InstanceKlass*)                        \
 636      static_field(SystemDictionary,            WK_KLASS(AccessControlContext_klass),          InstanceKlass*)                        \
 637      static_field(SystemDictionary,            WK_KLASS(SecureClassLoader_klass),             InstanceKlass*)                        \
 638      static_field(SystemDictionary,            WK_KLASS(Reference_klass),                     InstanceKlass*)                        \
 639      static_field(SystemDictionary,            WK_KLASS(SoftReference_klass),                 InstanceKlass*)                        \
 640      static_field(SystemDictionary,            WK_KLASS(WeakReference_klass),                 InstanceKlass*)                        \
 641      static_field(SystemDictionary,            WK_KLASS(FinalReference_klass),                InstanceKlass*)                        \
 642      static_field(SystemDictionary,            WK_KLASS(PhantomReference_klass),              InstanceKlass*)                        \
 643      static_field(SystemDictionary,            WK_KLASS(Finalizer_klass),                     InstanceKlass*)                        \
 644      static_field(SystemDictionary,            WK_KLASS(Thread_klass),                        InstanceKlass*)                        \
 645      static_field(SystemDictionary,            WK_KLASS(ThreadGroup_klass),                   InstanceKlass*)                        \
 646      static_field(SystemDictionary,            WK_KLASS(Properties_klass),                    InstanceKlass*)                        \
 647      static_field(SystemDictionary,            WK_KLASS(StringBuffer_klass),                  InstanceKlass*)                        \
 648      static_field(SystemDictionary,            WK_KLASS(MethodHandle_klass),                  InstanceKlass*)                        \
 649      static_field(SystemDictionary,            _box_klasses[0],                               InstanceKlass*)                        \
 650      static_field(SystemDictionary,            _java_system_loader,                           oop)                                   \
 651                                                                                                                                      \
 652   /*************/                                                                                                                    \
 653   /* vmSymbols */                                                                                                                    \
 654   /*************/                                                                                                                    \
 655                                                                                                                                      \
 656      static_field(vmSymbols,                   _symbols[0],                                   Symbol*)                               \
 657                                                                                                                                      \
 658   /*******************/                                                                                                              \
 659   /* HashtableBucket */                                                                                                              \
 660   /*******************/                                                                                                              \
 661                                                                                                                                      \
 662   nonstatic_field(HashtableBucket<mtInternal>, _entry,                                        BasicHashtableEntry<mtInternal>*)      \
 663                                                                                                                                      \
 664   /******************/                                                                                                               \
 665   /* HashtableEntry */                                                                                                               \
 666   /******************/                                                                                                               \
 667                                                                                                                                      \
 668   nonstatic_field(BasicHashtableEntry<mtInternal>, _next,                                     BasicHashtableEntry<mtInternal>*)      \
 669   nonstatic_field(BasicHashtableEntry<mtInternal>, _hash,                                     unsigned int)                          \
 670   nonstatic_field(IntptrHashtableEntry,            _literal,                                  intptr_t)                              \
 671                                                                                                                                      \
 672   /*************/                                                                                                                    \
 673   /* Hashtable */                                                                                                                    \
 674   /*************/                                                                                                                    \
 675                                                                                                                                      \
 676   nonstatic_field(BasicHashtable<mtInternal>,  _table_size,                                   int)                                   \
 677   nonstatic_field(BasicHashtable<mtInternal>,  _buckets,                                      HashtableBucket<mtInternal>*)          \
 678   volatile_nonstatic_field(BasicHashtable<mtInternal>,  _free_list,                           BasicHashtableEntry<mtInternal>*)      \
 679   nonstatic_field(BasicHashtable<mtInternal>,  _first_free_entry,                             char*)                                 \
 680   nonstatic_field(BasicHashtable<mtInternal>,  _end_block,                                    char*)                                 \
 681   nonstatic_field(BasicHashtable<mtInternal>,  _entry_size,                                   int)                                   \
 682                                                                                                                                      \
 683   /*******************/                                                                                                              \
 684   /* DictionaryEntry */                                                                                                              \
 685   /*******************/                                                                                                              \
 686                                                                                                                                      \
 687   nonstatic_field(DictionaryEntry,             _loader_data,                                  ClassLoaderData*)                      \
 688   nonstatic_field(DictionaryEntry,             _pd_set,                                       ProtectionDomainEntry*)                \
 689                                                                                                                                      \
 690   /********************/                                                                                                             \
 691                                                                                                                                      \
 692   nonstatic_field(PlaceholderEntry,            _loader_data,                                  ClassLoaderData*)                      \
 693                                                                                                                                      \
 694   /**************************/                                                                                                       \
 695   /* ProtectionDomainEntry  */                                                                                                       \
 696   /**************************/                                                                                                       \
 697                                                                                                                                      \
 698   nonstatic_field(ProtectionDomainEntry,       _next,                                         ProtectionDomainEntry*)                \
 699   nonstatic_field(ProtectionDomainEntry,       _pd_cache,                                     ProtectionDomainCacheEntry*)           \
 700                                                                                                                                      \
 701   /*******************************/                                                                                                  \
 702   /* ProtectionDomainCacheEntry  */                                                                                                  \
 703   /*******************************/                                                                                                  \
 704                                                                                                                                      \
 705   nonstatic_field(ProtectionDomainCacheEntry,  _literal,                                      oop)                                   \
 706                                                                                                                                      \
 707   /*************************/                                                                                                        \
 708   /* LoaderConstraintEntry */                                                                                                        \
 709   /*************************/                                                                                                        \
 710                                                                                                                                      \
 711   nonstatic_field(LoaderConstraintEntry,       _name,                                         Symbol*)                               \
 712   nonstatic_field(LoaderConstraintEntry,       _num_loaders,                                  int)                                   \
 713   nonstatic_field(LoaderConstraintEntry,       _max_loaders,                                  int)                                   \
 714   nonstatic_field(LoaderConstraintEntry,       _loaders,                                      ClassLoaderData**)                     \
 715                                                                                                                                      \
 716   nonstatic_field(ClassLoaderData,             _class_loader,                                 oop)                                   \
 717   nonstatic_field(ClassLoaderData,             _next,                                         ClassLoaderData*)                      \
 718   volatile_nonstatic_field(ClassLoaderData,    _klasses,                                      Klass*)                                \
 719   nonstatic_field(ClassLoaderData,             _is_anonymous,                                 bool)                                  \

 720                                                                                                                                      \
 721      static_field(ClassLoaderDataGraph,        _head,                                         ClassLoaderData*)                      \
 722                                                                                                                                      \
 723   /**********/                                                                                                                       \
 724   /* Arrays */                                                                                                                       \
 725   /**********/                                                                                                                       \
 726                                                                                                                                      \
 727   nonstatic_field(Array<Klass*>,               _length,                                       int)                                   \
 728   nonstatic_field(Array<Klass*>,               _data[0],                                      Klass*)                                \
 729                                                                                                                                      \
 730   /*******************/                                                                                                              \
 731   /* GrowableArrays  */                                                                                                              \
 732   /*******************/                                                                                                              \
 733                                                                                                                                      \
 734   nonstatic_field(GenericGrowableArray,        _len,                                          int)                                   \
 735   nonstatic_field(GenericGrowableArray,        _max,                                          int)                                   \
 736   nonstatic_field(GenericGrowableArray,        _arena,                                        Arena*)                                \
 737   nonstatic_field(GrowableArray<int>,          _data,                                         int*)                                  \
 738                                                                                                                                      \
 739   /********************************/                                                                                                 \


1593                                                                           \
1594   /************************/                                              \
1595   /* PerfMemory - jvmstat */                                              \
1596   /************************/                                              \
1597                                                                           \
1598   declare_toplevel_type(PerfDataPrologue)                                 \
1599   declare_toplevel_type(PerfDataPrologue*)                                \
1600   declare_toplevel_type(PerfDataEntry)                                    \
1601   declare_toplevel_type(PerfMemory)                                       \
1602                                                                           \
1603   /*********************************/                                     \
1604   /* SymbolTable, SystemDictionary */                                     \
1605   /*********************************/                                     \
1606                                                                           \
1607   declare_toplevel_type(BasicHashtable<mtInternal>)                       \
1608     declare_type(IntptrHashtable, BasicHashtable<mtInternal>)             \
1609   declare_toplevel_type(BasicHashtable<mtSymbol>)                         \
1610     declare_type(RehashableSymbolHashtable, BasicHashtable<mtSymbol>)     \
1611   declare_type(SymbolTable, SymbolHashtable)                              \
1612   declare_type(StringTable, StringHashtable)                              \
1613     declare_type(LoaderConstraintTable, KlassHashtable)                   \
1614     declare_type(KlassTwoOopHashtable, KlassHashtable)                    \
1615     declare_type(Dictionary, KlassTwoOopHashtable)                        \
1616     declare_type(PlaceholderTable, SymbolTwoOopHashtable)                 \
1617   declare_toplevel_type(BasicHashtableEntry<mtInternal>)                  \
1618   declare_type(IntptrHashtableEntry, BasicHashtableEntry<mtInternal>)     \
1619     declare_type(DictionaryEntry, KlassHashtableEntry)                    \
1620     declare_type(PlaceholderEntry, SymbolHashtableEntry)                  \
1621     declare_type(LoaderConstraintEntry, KlassHashtableEntry)              \
1622   declare_toplevel_type(HashtableBucket<mtInternal>)                      \
1623   declare_toplevel_type(SystemDictionary)                                 \
1624   declare_toplevel_type(vmSymbols)                                        \
1625   declare_toplevel_type(ProtectionDomainEntry)                            \
1626   declare_toplevel_type(ProtectionDomainCacheEntry)                       \
1627                                                                           \
1628   declare_toplevel_type(GenericGrowableArray)                             \
1629   declare_toplevel_type(GrowableArray<int>)                               \
1630   declare_toplevel_type(Arena)                                            \
1631     declare_type(ResourceArea, Arena)                                     \
1632   declare_toplevel_type(Chunk)                                            \
1633                                                                           \
1634   declare_toplevel_type(SymbolCompactHashTable)                           \
1635                                                                           \
1636   /***********************************************************/           \
1637   /* Thread hierarchy (needed for run-time type information) */           \
1638   /***********************************************************/           \
1639                                                                           \
1640   declare_toplevel_type(Threads)                                          \
1641   declare_toplevel_type(ThreadShadow)                                     \
1642            declare_type(Thread, ThreadShadow)                             \
1643            declare_type(NamedThread, Thread)                              \
1644            declare_type(WatcherThread, Thread)                            \
1645            declare_type(JavaThread, Thread)                               \
1646            declare_type(JvmtiAgentThread, JavaThread)                     \


2338   declare_constant(Generation::DefNew)                                    \
2339   declare_constant(Generation::MarkSweepCompact)                          \
2340   declare_constant(Generation::Other)                                     \
2341                                                                           \
2342   declare_constant(Generation::LogOfGenGrain)                             \
2343   declare_constant(Generation::GenGrain)                                  \
2344                                                                           \
2345   declare_constant(HeapWordSize)                                          \
2346   declare_constant(LogHeapWordSize)                                       \
2347                                                                           \
2348                                                                           \
2349   /************************/                                              \
2350   /* PerfMemory - jvmstat */                                              \
2351   /************************/                                              \
2352                                                                           \
2353   declare_preprocessor_constant("PERFDATA_MAJOR_VERSION", PERFDATA_MAJOR_VERSION) \
2354   declare_preprocessor_constant("PERFDATA_MINOR_VERSION", PERFDATA_MINOR_VERSION) \
2355   declare_preprocessor_constant("PERFDATA_BIG_ENDIAN", PERFDATA_BIG_ENDIAN)       \
2356   declare_preprocessor_constant("PERFDATA_LITTLE_ENDIAN", PERFDATA_LITTLE_ENDIAN) \
2357                                                                           \
2358   /***********************************/                                   \
2359   /* LoaderConstraintTable constants */                                   \
2360   /***********************************/                                   \
2361                                                                           \
2362   declare_constant(LoaderConstraintTable::_loader_constraint_size)        \
2363   declare_constant(LoaderConstraintTable::_nof_buckets)                   \
2364                                                                           \
2365   /************************************************************/          \
2366   /* HotSpot specific JVM_ACC constants from global anon enum */          \
2367   /************************************************************/          \
2368                                                                           \
2369   declare_constant(JVM_ACC_WRITTEN_FLAGS)                                 \
2370   declare_constant(JVM_ACC_MONITOR_MATCH)                                 \
2371   declare_constant(JVM_ACC_HAS_MONITOR_BYTECODES)                         \
2372   declare_constant(JVM_ACC_HAS_LOOPS)                                     \
2373   declare_constant(JVM_ACC_LOOPS_FLAG_INIT)                               \
2374   declare_constant(JVM_ACC_QUEUED)                                        \
2375   declare_constant(JVM_ACC_NOT_C2_OSR_COMPILABLE)                         \
2376   declare_constant(JVM_ACC_HAS_LINE_NUMBER_TABLE)                         \
2377   declare_constant(JVM_ACC_HAS_CHECKED_EXCEPTIONS)                        \
2378   declare_constant(JVM_ACC_HAS_JSRS)                                      \
2379   declare_constant(JVM_ACC_IS_OLD)                                        \
2380   declare_constant(JVM_ACC_IS_OBSOLETE)                                   \
2381   declare_constant(JVM_ACC_IS_PREFIXED_NATIVE)                            \
2382   declare_constant(JVM_ACC_HAS_MIRANDA_METHODS)                           \
2383   declare_constant(JVM_ACC_HAS_VANILLA_CONSTRUCTOR)                       \




  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "ci/ciField.hpp"
  27 #include "ci/ciInstance.hpp"
  28 #include "ci/ciMethodData.hpp"
  29 #include "ci/ciObjArrayKlass.hpp"
  30 #include "ci/ciSymbol.hpp"
  31 #include "classfile/compactHashtable.hpp"
  32 #include "classfile/dictionary.hpp"
  33 #include "classfile/javaClasses.hpp"


  34 #include "classfile/stringTable.hpp"
  35 #include "classfile/systemDictionary.hpp"
  36 #include "code/codeBlob.hpp"
  37 #include "code/codeCache.hpp"
  38 #include "code/compressedStream.hpp"
  39 #include "code/location.hpp"
  40 #include "code/nmethod.hpp"
  41 #include "code/pcDesc.hpp"
  42 #include "code/stubs.hpp"
  43 #include "code/vmreg.hpp"
  44 #include "compiler/compileBroker.hpp"
  45 #include "compiler/oopMap.hpp"
  46 #include "gc/parallel/immutableSpace.hpp"
  47 #include "gc/parallel/mutableSpace.hpp"
  48 #include "gc/serial/defNewGeneration.hpp"
  49 #include "gc/serial/tenuredGeneration.hpp"
  50 #include "gc/shared/cardTableRS.hpp"
  51 #include "gc/shared/collectedHeap.hpp"
  52 #include "gc/shared/genCollectedHeap.hpp"
  53 #include "gc/shared/generation.hpp"


 174 
 175 #ifndef REG_COUNT
 176   #define REG_COUNT 0
 177 #endif
 178 
 179 #if INCLUDE_JVMTI
 180   #define JVMTI_STRUCTS(static_field) \
 181     static_field(JvmtiExport,                     _can_access_local_variables,                  bool)                                  \
 182     static_field(JvmtiExport,                     _can_hotswap_or_post_breakpoint,              bool)                                  \
 183     static_field(JvmtiExport,                     _can_post_on_exceptions,                      bool)                                  \
 184     static_field(JvmtiExport,                     _can_walk_any_space,                          bool)
 185 #else
 186   #define JVMTI_STRUCTS(static_field)
 187 #endif // INCLUDE_JVMTI
 188 
 189 typedef HashtableEntry<intptr_t, mtInternal>  IntptrHashtableEntry;
 190 typedef Hashtable<intptr_t, mtInternal>       IntptrHashtable;
 191 typedef Hashtable<Symbol*, mtSymbol>          SymbolHashtable;
 192 typedef HashtableEntry<Symbol*, mtClass>      SymbolHashtableEntry;
 193 typedef Hashtable<oop, mtSymbol>              StringHashtable;

 194 typedef Hashtable<InstanceKlass*, mtClass>       KlassHashtable;
 195 typedef HashtableEntry<InstanceKlass*, mtClass>  KlassHashtableEntry;

 196 typedef CompactHashtable<Symbol*, char>       SymbolCompactHashTable;
 197 typedef RehashableHashtable<Symbol*, mtSymbol>   RehashableSymbolHashtable;
 198 
 199 //--------------------------------------------------------------------------------
 200 // VM_STRUCTS
 201 //
 202 // This list enumerates all of the fields the serviceability agent
 203 // needs to know about. Be sure to see also the type table below this one.
 204 // NOTE that there are platform-specific additions to this table in
 205 // vmStructs_<os>_<cpu>.hpp.
 206 
 207 #define VM_STRUCTS(nonstatic_field, \
 208                    static_field, \
 209                    static_ptr_volatile_field, \
 210                    unchecked_nonstatic_field, \
 211                    volatile_nonstatic_field, \
 212                    nonproduct_nonstatic_field, \
 213                    c1_nonstatic_field, \
 214                    c2_nonstatic_field, \
 215                    unchecked_c1_static_field, \


 229   nonstatic_field(CompiledICHolder,            _holder_method,                                Method*)                               \
 230   nonstatic_field(CompiledICHolder,            _holder_klass,                                 Klass*)                                \
 231   nonstatic_field(ConstantPool,                _tags,                                         Array<u1>*)                            \
 232   nonstatic_field(ConstantPool,                _cache,                                        ConstantPoolCache*)                    \
 233   nonstatic_field(ConstantPool,                _pool_holder,                                  InstanceKlass*)                        \
 234   nonstatic_field(ConstantPool,                _operands,                                     Array<u2>*)                            \
 235   nonstatic_field(ConstantPool,                _resolved_klasses,                             Array<Klass*>*)                        \
 236   nonstatic_field(ConstantPool,                _length,                                       int)                                   \
 237   nonstatic_field(ConstantPoolCache,           _resolved_references,                          jobject)                               \
 238   nonstatic_field(ConstantPoolCache,           _reference_map,                                Array<u2>*)                            \
 239   nonstatic_field(ConstantPoolCache,           _length,                                       int)                                   \
 240   nonstatic_field(ConstantPoolCache,           _constant_pool,                                ConstantPool*)                         \
 241   volatile_nonstatic_field(InstanceKlass,      _array_klasses,                                Klass*)                                \
 242   nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
 243   nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
 244   nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<Klass*>*)                        \
 245   nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<Klass*>*)                        \
 246   nonstatic_field(InstanceKlass,               _fields,                                       Array<u2>*)                            \
 247   nonstatic_field(InstanceKlass,               _java_fields_count,                            u2)                                    \
 248   nonstatic_field(InstanceKlass,               _constants,                                    ConstantPool*)                         \

 249   nonstatic_field(InstanceKlass,               _source_file_name_index,                       u2)                                    \
 250   nonstatic_field(InstanceKlass,               _source_debug_extension,                       const char*)                           \
 251   nonstatic_field(InstanceKlass,               _inner_classes,                                Array<jushort>*)                       \
 252   nonstatic_field(InstanceKlass,               _nonstatic_field_size,                         int)                                   \
 253   nonstatic_field(InstanceKlass,               _static_field_size,                            int)                                   \
 254   nonstatic_field(InstanceKlass,               _static_oop_field_count,                       u2)                                    \
 255   nonstatic_field(InstanceKlass,               _nonstatic_oop_map_size,                       int)                                   \
 256   nonstatic_field(InstanceKlass,               _is_marked_dependent,                          bool)                                  \
 257   nonstatic_field(InstanceKlass,               _misc_flags,                                   u2)                                    \
 258   nonstatic_field(InstanceKlass,               _minor_version,                                u2)                                    \
 259   nonstatic_field(InstanceKlass,               _major_version,                                u2)                                    \
 260   nonstatic_field(InstanceKlass,               _init_state,                                   u1)                                    \
 261   nonstatic_field(InstanceKlass,               _init_thread,                                  Thread*)                               \
 262   nonstatic_field(InstanceKlass,               _itable_len,                                   int)                                   \
 263   nonstatic_field(InstanceKlass,               _reference_type,                               u1)                                    \
 264   volatile_nonstatic_field(InstanceKlass,      _oop_map_cache,                                OopMapCache*)                          \
 265   nonstatic_field(InstanceKlass,               _jni_ids,                                      JNIid*)                                \
 266   nonstatic_field(InstanceKlass,               _osr_nmethods_head,                            nmethod*)                              \
 267   JVMTI_ONLY(nonstatic_field(InstanceKlass,    _breakpoints,                                  BreakpointInfo*))                      \
 268   nonstatic_field(InstanceKlass,               _generic_signature_index,                      u2)                                    \
 269   volatile_nonstatic_field(InstanceKlass,      _methods_jmethod_ids,                          jmethodID*)                            \
 270   volatile_nonstatic_field(InstanceKlass,      _idnum_allocated_count,                        u2)                                    \
 271   nonstatic_field(InstanceKlass,               _annotations,                                  Annotations*)                          \
 272   nonstatic_field(InstanceKlass,               _method_ordering,                              Array<int>*)                           \
 273   nonstatic_field(InstanceKlass,               _default_vtable_indices,                       Array<int>*)                           \
 274   nonstatic_field(Klass,                       _super_check_offset,                           juint)                                 \
 275   nonstatic_field(Klass,                       _secondary_super_cache,                        Klass*)                                \
 276   nonstatic_field(Klass,                       _secondary_supers,                             Array<Klass*>*)                        \
 277   nonstatic_field(Klass,                       _primary_supers[0],                            Klass*)                                \
 278   nonstatic_field(Klass,                       _java_mirror,                                  oop)                                   \
 279   nonstatic_field(Klass,                       _modifier_flags,                               jint)                                  \
 280   nonstatic_field(Klass,                       _super,                                        Klass*)                                \
 281   nonstatic_field(Klass,                       _subklass,                                     Klass*)                                \
 282   nonstatic_field(Klass,                       _layout_helper,                                jint)                                  \
 283   nonstatic_field(Klass,                       _name,                                         Symbol*)                               \
 284   nonstatic_field(Klass,                       _access_flags,                                 AccessFlags)                           \
 285   nonstatic_field(Klass,                       _prototype_header,                             markOop)                               \
 286   nonstatic_field(Klass,                       _next_sibling,                                 Klass*)                                \
 287   nonstatic_field(Klass,                       _next_link,                                    Klass*)                                \
 288   nonstatic_field(Klass,                       _vtable_len,                                   int)                                   \
 289   nonstatic_field(Klass,                       _class_loader_data,                            ClassLoaderData*)                      \
 290   nonstatic_field(vtableEntry,                 _method,                                       Method*)                               \
 291   nonstatic_field(MethodData,                  _size,                                         int)                                   \
 292   nonstatic_field(MethodData,                  _method,                                       Method*)                               \
 293   nonstatic_field(MethodData,                  _data_size,                                    int)                                   \
 294   nonstatic_field(MethodData,                  _data[0],                                      intptr_t)                              \
 295   nonstatic_field(MethodData,                  _parameters_type_data_di,                      int)                                   \
 296   nonstatic_field(MethodData,                  _nof_decompiles,                               uint)                                  \
 297   nonstatic_field(MethodData,                  _nof_overflow_recompiles,                      uint)                                  \
 298   nonstatic_field(MethodData,                  _nof_overflow_traps,                           uint)                                  \
 299   nonstatic_field(MethodData,                  _trap_hist._array[0],                          u1)                                    \
 300   nonstatic_field(MethodData,                  _eflags,                                       intx)                                  \
 301   nonstatic_field(MethodData,                  _arg_local,                                    intx)                                  \
 302   nonstatic_field(MethodData,                  _arg_stack,                                    intx)                                  \
 303   nonstatic_field(MethodData,                  _arg_returned,                                 intx)                                  \
 304   nonstatic_field(MethodData,                  _tenure_traps,                                 uint)                                  \
 305   nonstatic_field(MethodData,                  _invoke_mask,                                  int)                                   \
 306   nonstatic_field(MethodData,                  _backedge_mask,                                int)                                   \
 307   nonstatic_field(DataLayout,                  _header._struct._tag,                          u1)                                    \
 308   nonstatic_field(DataLayout,                  _header._struct._flags,                        u1)                                    \
 309   nonstatic_field(DataLayout,                  _header._struct._bci,                          u2)                                    \


 586   /***************/                                                                                                                  \
 587   /* StringTable */                                                                                                                  \
 588   /***************/                                                                                                                  \
 589                                                                                                                                      \
 590      static_field(StringTable,                 _the_table,                                    StringTable*)                          \
 591                                                                                                                                      \
 592   /********************/                                                                                                             \
 593   /* CompactHashTable */                                                                                                             \
 594   /********************/                                                                                                             \
 595                                                                                                                                      \
 596   nonstatic_field(SymbolCompactHashTable,      _base_address,                                 address)                               \
 597   nonstatic_field(SymbolCompactHashTable,      _entry_count,                                  u4)                                    \
 598   nonstatic_field(SymbolCompactHashTable,      _bucket_count,                                 u4)                                    \
 599   nonstatic_field(SymbolCompactHashTable,      _buckets,                                      u4*)                                   \
 600   nonstatic_field(SymbolCompactHashTable,      _entries,                                      u4*)                                   \
 601                                                                                                                                      \
 602   /********************/                                                                                                             \
 603   /* SystemDictionary */                                                                                                             \
 604   /********************/                                                                                                             \
 605                                                                                                                                      \


 606      static_field(SystemDictionary,            _shared_dictionary,                            Dictionary*)                           \
 607      static_field(SystemDictionary,            _system_loader_lock_obj,                       oop)                                   \

 608      static_field(SystemDictionary,            WK_KLASS(Object_klass),                        InstanceKlass*)                        \
 609      static_field(SystemDictionary,            WK_KLASS(String_klass),                        InstanceKlass*)                        \
 610      static_field(SystemDictionary,            WK_KLASS(Class_klass),                         InstanceKlass*)                        \

 611      static_field(SystemDictionary,            WK_KLASS(ClassLoader_klass),                   InstanceKlass*)                        \

 612      static_field(SystemDictionary,            WK_KLASS(System_klass),                        InstanceKlass*)                        \






















 613      static_field(SystemDictionary,            WK_KLASS(Thread_klass),                        InstanceKlass*)                        \
 614      static_field(SystemDictionary,            WK_KLASS(ThreadGroup_klass),                   InstanceKlass*)                        \


 615      static_field(SystemDictionary,            WK_KLASS(MethodHandle_klass),                  InstanceKlass*)                        \

 616      static_field(SystemDictionary,            _java_system_loader,                           oop)                                   \
 617                                                                                                                                      \
 618   /*************/                                                                                                                    \
 619   /* vmSymbols */                                                                                                                    \
 620   /*************/                                                                                                                    \
 621                                                                                                                                      \
 622      static_field(vmSymbols,                   _symbols[0],                                   Symbol*)                               \
 623                                                                                                                                      \
 624   /*******************/                                                                                                              \
 625   /* HashtableBucket */                                                                                                              \
 626   /*******************/                                                                                                              \
 627                                                                                                                                      \
 628   nonstatic_field(HashtableBucket<mtInternal>, _entry,                                        BasicHashtableEntry<mtInternal>*)      \
 629                                                                                                                                      \
 630   /******************/                                                                                                               \
 631   /* HashtableEntry */                                                                                                               \
 632   /******************/                                                                                                               \
 633                                                                                                                                      \
 634   nonstatic_field(BasicHashtableEntry<mtInternal>, _next,                                     BasicHashtableEntry<mtInternal>*)      \
 635   nonstatic_field(BasicHashtableEntry<mtInternal>, _hash,                                     unsigned int)                          \
 636   nonstatic_field(IntptrHashtableEntry,            _literal,                                  intptr_t)                              \
 637                                                                                                                                      \
 638   /*************/                                                                                                                    \
 639   /* Hashtable */                                                                                                                    \
 640   /*************/                                                                                                                    \
 641                                                                                                                                      \
 642   nonstatic_field(BasicHashtable<mtInternal>,  _table_size,                                   int)                                   \
 643   nonstatic_field(BasicHashtable<mtInternal>,  _buckets,                                      HashtableBucket<mtInternal>*)          \
 644   volatile_nonstatic_field(BasicHashtable<mtInternal>,  _free_list,                           BasicHashtableEntry<mtInternal>*)      \
 645   nonstatic_field(BasicHashtable<mtInternal>,  _first_free_entry,                             char*)                                 \
 646   nonstatic_field(BasicHashtable<mtInternal>,  _end_block,                                    char*)                                 \
 647   nonstatic_field(BasicHashtable<mtInternal>,  _entry_size,                                   int)                                   \
 648                                                                                                                                      \
 649   /*******************/                                                                                                              \
 650   /* ClassLoaderData */                                                                                                              \
 651   /*******************/                                                                                                              \






























 652   nonstatic_field(ClassLoaderData,             _class_loader,                                 oop)                                   \
 653   nonstatic_field(ClassLoaderData,             _next,                                         ClassLoaderData*)                      \
 654   volatile_nonstatic_field(ClassLoaderData,    _klasses,                                      Klass*)                                \
 655   nonstatic_field(ClassLoaderData,             _is_anonymous,                                 bool)                                  \
 656   volatile_nonstatic_field(ClassLoaderData,    _dictionary,                                   Dictionary*)                           \
 657                                                                                                                                      \
 658      static_field(ClassLoaderDataGraph,        _head,                                         ClassLoaderData*)                      \
 659                                                                                                                                      \
 660   /**********/                                                                                                                       \
 661   /* Arrays */                                                                                                                       \
 662   /**********/                                                                                                                       \
 663                                                                                                                                      \
 664   nonstatic_field(Array<Klass*>,               _length,                                       int)                                   \
 665   nonstatic_field(Array<Klass*>,               _data[0],                                      Klass*)                                \
 666                                                                                                                                      \
 667   /*******************/                                                                                                              \
 668   /* GrowableArrays  */                                                                                                              \
 669   /*******************/                                                                                                              \
 670                                                                                                                                      \
 671   nonstatic_field(GenericGrowableArray,        _len,                                          int)                                   \
 672   nonstatic_field(GenericGrowableArray,        _max,                                          int)                                   \
 673   nonstatic_field(GenericGrowableArray,        _arena,                                        Arena*)                                \
 674   nonstatic_field(GrowableArray<int>,          _data,                                         int*)                                  \
 675                                                                                                                                      \
 676   /********************************/                                                                                                 \


1530                                                                           \
1531   /************************/                                              \
1532   /* PerfMemory - jvmstat */                                              \
1533   /************************/                                              \
1534                                                                           \
1535   declare_toplevel_type(PerfDataPrologue)                                 \
1536   declare_toplevel_type(PerfDataPrologue*)                                \
1537   declare_toplevel_type(PerfDataEntry)                                    \
1538   declare_toplevel_type(PerfMemory)                                       \
1539                                                                           \
1540   /*********************************/                                     \
1541   /* SymbolTable, SystemDictionary */                                     \
1542   /*********************************/                                     \
1543                                                                           \
1544   declare_toplevel_type(BasicHashtable<mtInternal>)                       \
1545     declare_type(IntptrHashtable, BasicHashtable<mtInternal>)             \
1546   declare_toplevel_type(BasicHashtable<mtSymbol>)                         \
1547     declare_type(RehashableSymbolHashtable, BasicHashtable<mtSymbol>)     \
1548   declare_type(SymbolTable, SymbolHashtable)                              \
1549   declare_type(StringTable, StringHashtable)                              \
1550     declare_type(Dictionary, KlassHashtable)                              \



1551   declare_toplevel_type(BasicHashtableEntry<mtInternal>)                  \
1552   declare_type(IntptrHashtableEntry, BasicHashtableEntry<mtInternal>)     \
1553     declare_type(DictionaryEntry, KlassHashtableEntry)                    \


1554   declare_toplevel_type(HashtableBucket<mtInternal>)                      \
1555   declare_toplevel_type(SystemDictionary)                                 \
1556   declare_toplevel_type(vmSymbols)                                        \


1557                                                                           \
1558   declare_toplevel_type(GenericGrowableArray)                             \
1559   declare_toplevel_type(GrowableArray<int>)                               \
1560   declare_toplevel_type(Arena)                                            \
1561     declare_type(ResourceArea, Arena)                                     \
1562   declare_toplevel_type(Chunk)                                            \
1563                                                                           \
1564   declare_toplevel_type(SymbolCompactHashTable)                           \
1565                                                                           \
1566   /***********************************************************/           \
1567   /* Thread hierarchy (needed for run-time type information) */           \
1568   /***********************************************************/           \
1569                                                                           \
1570   declare_toplevel_type(Threads)                                          \
1571   declare_toplevel_type(ThreadShadow)                                     \
1572            declare_type(Thread, ThreadShadow)                             \
1573            declare_type(NamedThread, Thread)                              \
1574            declare_type(WatcherThread, Thread)                            \
1575            declare_type(JavaThread, Thread)                               \
1576            declare_type(JvmtiAgentThread, JavaThread)                     \


2268   declare_constant(Generation::DefNew)                                    \
2269   declare_constant(Generation::MarkSweepCompact)                          \
2270   declare_constant(Generation::Other)                                     \
2271                                                                           \
2272   declare_constant(Generation::LogOfGenGrain)                             \
2273   declare_constant(Generation::GenGrain)                                  \
2274                                                                           \
2275   declare_constant(HeapWordSize)                                          \
2276   declare_constant(LogHeapWordSize)                                       \
2277                                                                           \
2278                                                                           \
2279   /************************/                                              \
2280   /* PerfMemory - jvmstat */                                              \
2281   /************************/                                              \
2282                                                                           \
2283   declare_preprocessor_constant("PERFDATA_MAJOR_VERSION", PERFDATA_MAJOR_VERSION) \
2284   declare_preprocessor_constant("PERFDATA_MINOR_VERSION", PERFDATA_MINOR_VERSION) \
2285   declare_preprocessor_constant("PERFDATA_BIG_ENDIAN", PERFDATA_BIG_ENDIAN)       \
2286   declare_preprocessor_constant("PERFDATA_LITTLE_ENDIAN", PERFDATA_LITTLE_ENDIAN) \
2287                                                                           \






2288                                                                           \
2289   /************************************************************/          \
2290   /* HotSpot specific JVM_ACC constants from global anon enum */          \
2291   /************************************************************/          \
2292                                                                           \
2293   declare_constant(JVM_ACC_WRITTEN_FLAGS)                                 \
2294   declare_constant(JVM_ACC_MONITOR_MATCH)                                 \
2295   declare_constant(JVM_ACC_HAS_MONITOR_BYTECODES)                         \
2296   declare_constant(JVM_ACC_HAS_LOOPS)                                     \
2297   declare_constant(JVM_ACC_LOOPS_FLAG_INIT)                               \
2298   declare_constant(JVM_ACC_QUEUED)                                        \
2299   declare_constant(JVM_ACC_NOT_C2_OSR_COMPILABLE)                         \
2300   declare_constant(JVM_ACC_HAS_LINE_NUMBER_TABLE)                         \
2301   declare_constant(JVM_ACC_HAS_CHECKED_EXCEPTIONS)                        \
2302   declare_constant(JVM_ACC_HAS_JSRS)                                      \
2303   declare_constant(JVM_ACC_IS_OLD)                                        \
2304   declare_constant(JVM_ACC_IS_OBSOLETE)                                   \
2305   declare_constant(JVM_ACC_IS_PREFIXED_NATIVE)                            \
2306   declare_constant(JVM_ACC_HAS_MIRANDA_METHODS)                           \
2307   declare_constant(JVM_ACC_HAS_VANILLA_CONSTRUCTOR)                       \


< prev index next >