< prev index next >

src/hotspot/share/runtime/vmStructs.cpp

Print this page

  53 #include "interpreter/interpreter.hpp"
  54 #include "logging/logAsyncWriter.hpp"
  55 #include "memory/allocation.hpp"
  56 #include "memory/allocation.inline.hpp"
  57 #include "memory/heap.hpp"
  58 #include "memory/padded.hpp"
  59 #include "memory/referenceType.hpp"
  60 #include "memory/universe.hpp"
  61 #include "memory/virtualspace.hpp"
  62 #include "oops/array.hpp"
  63 #include "oops/arrayKlass.hpp"
  64 #include "oops/arrayOop.hpp"
  65 #include "oops/compiledICHolder.hpp"
  66 #include "oops/constMethod.hpp"
  67 #include "oops/constantPool.hpp"
  68 #include "oops/cpCache.hpp"
  69 #include "oops/instanceClassLoaderKlass.hpp"
  70 #include "oops/instanceKlass.hpp"
  71 #include "oops/instanceMirrorKlass.hpp"
  72 #include "oops/instanceOop.hpp"

  73 #include "oops/klass.hpp"
  74 #include "oops/klassVtable.hpp"
  75 #include "oops/markWord.hpp"
  76 #include "oops/method.hpp"
  77 #include "oops/methodCounters.hpp"
  78 #include "oops/methodData.hpp"
  79 #include "oops/objArrayKlass.hpp"
  80 #include "oops/objArrayOop.hpp"
  81 #include "oops/oop.inline.hpp"
  82 #include "oops/oopHandle.hpp"
  83 #include "oops/symbol.hpp"
  84 #include "oops/typeArrayKlass.hpp"
  85 #include "oops/typeArrayOop.hpp"
  86 #include "prims/jvmtiAgentThread.hpp"
  87 #include "runtime/arguments.hpp"
  88 #include "runtime/deoptimization.hpp"
  89 #include "runtime/flags/jvmFlag.hpp"
  90 #include "runtime/globals.hpp"
  91 #include "runtime/java.hpp"
  92 #include "runtime/javaCalls.hpp"

 219   nonstatic_field(ConstantPool,                _source_file_name_index,                       u2)                                    \
 220   nonstatic_field(ConstantPoolCache,           _resolved_references,                          OopHandle)                             \
 221   nonstatic_field(ConstantPoolCache,           _reference_map,                                Array<u2>*)                            \
 222   nonstatic_field(ConstantPoolCache,           _length,                                       int)                                   \
 223   nonstatic_field(ConstantPoolCache,           _constant_pool,                                ConstantPool*)                         \
 224   volatile_nonstatic_field(InstanceKlass,      _array_klasses,                                ObjArrayKlass*)                        \
 225   nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
 226   nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
 227   nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<InstanceKlass*>*)                \
 228   nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<InstanceKlass*>*)                \
 229   nonstatic_field(InstanceKlass,               _fields,                                       Array<u2>*)                            \
 230   nonstatic_field(InstanceKlass,               _java_fields_count,                            u2)                                    \
 231   nonstatic_field(InstanceKlass,               _constants,                                    ConstantPool*)                         \
 232   nonstatic_field(InstanceKlass,               _source_debug_extension,                       const char*)                           \
 233   nonstatic_field(InstanceKlass,               _inner_classes,                                Array<jushort>*)                       \
 234   nonstatic_field(InstanceKlass,               _nonstatic_field_size,                         int)                                   \
 235   nonstatic_field(InstanceKlass,               _static_field_size,                            int)                                   \
 236   nonstatic_field(InstanceKlass,               _static_oop_field_count,                       u2)                                    \
 237   nonstatic_field(InstanceKlass,               _nonstatic_oop_map_size,                       int)                                   \
 238   nonstatic_field(InstanceKlass,               _is_marked_dependent,                          bool)                                  \

 239   nonstatic_field(InstanceKlass,               _misc_flags,                                   u2)                                    \
 240   nonstatic_field(InstanceKlass,               _init_state,                                   u1)                                    \
 241   nonstatic_field(InstanceKlass,               _init_thread,                                  Thread*)                               \
 242   nonstatic_field(InstanceKlass,               _itable_len,                                   int)                                   \
 243   nonstatic_field(InstanceKlass,               _reference_type,                               u1)                                    \
 244   volatile_nonstatic_field(InstanceKlass,      _oop_map_cache,                                OopMapCache*)                          \
 245   nonstatic_field(InstanceKlass,               _jni_ids,                                      JNIid*)                                \
 246   nonstatic_field(InstanceKlass,               _osr_nmethods_head,                            nmethod*)                              \
 247   JVMTI_ONLY(nonstatic_field(InstanceKlass,    _breakpoints,                                  BreakpointInfo*))                      \
 248   volatile_nonstatic_field(InstanceKlass,      _methods_jmethod_ids,                          jmethodID*)                            \
 249   volatile_nonstatic_field(InstanceKlass,      _idnum_allocated_count,                        u2)                                    \
 250   nonstatic_field(InstanceKlass,               _annotations,                                  Annotations*)                          \
 251   nonstatic_field(InstanceKlass,               _method_ordering,                              Array<int>*)                           \
 252   nonstatic_field(InstanceKlass,               _default_vtable_indices,                       Array<int>*)                           \
 253   nonstatic_field(Klass,                       _super_check_offset,                           juint)                                 \
 254   nonstatic_field(Klass,                       _secondary_super_cache,                        Klass*)                                \
 255   nonstatic_field(Klass,                       _secondary_supers,                             Array<Klass*>*)                        \
 256   nonstatic_field(Klass,                       _primary_supers[0],                            Klass*)                                \
 257   nonstatic_field(Klass,                       _java_mirror,                                  OopHandle)                             \
 258   nonstatic_field(Klass,                       _modifier_flags,                               jint)                                  \

 438   nonstatic_field(PerfDataEntry,               data_variability,                              jbyte)                                 \
 439   nonstatic_field(PerfDataEntry,               data_offset,                                   jint)                                  \
 440                                                                                                                                      \
 441      static_field(PerfMemory,                  _start,                                        char*)                                 \
 442      static_field(PerfMemory,                  _end,                                          char*)                                 \
 443      static_field(PerfMemory,                  _top,                                          char*)                                 \
 444      static_field(PerfMemory,                  _capacity,                                     size_t)                                \
 445      static_field(PerfMemory,                  _prologue,                                     PerfDataPrologue*)                     \
 446      static_field(PerfMemory,                  _initialized,                                  int)                                   \
 447                                                                                                                                      \
 448   /********************/                                                                                                             \
 449   /* SystemDictionary */                                                                                                             \
 450   /********************/                                                                                                             \
 451                                                                                                                                      \
 452      static_field(vmClasses,                   VM_CLASS_AT(Object_klass),                        InstanceKlass*)                     \
 453      static_field(vmClasses,                   VM_CLASS_AT(String_klass),                        InstanceKlass*)                     \
 454      static_field(vmClasses,                   VM_CLASS_AT(Class_klass),                         InstanceKlass*)                     \
 455      static_field(vmClasses,                   VM_CLASS_AT(ClassLoader_klass),                   InstanceKlass*)                     \
 456      static_field(vmClasses,                   VM_CLASS_AT(System_klass),                        InstanceKlass*)                     \
 457      static_field(vmClasses,                   VM_CLASS_AT(Thread_klass),                        InstanceKlass*)                     \

 458      static_field(vmClasses,                   VM_CLASS_AT(ThreadGroup_klass),                   InstanceKlass*)                     \
 459      static_field(vmClasses,                   VM_CLASS_AT(MethodHandle_klass),                  InstanceKlass*)                     \
 460                                                                                                                                      \
 461   /*************/                                                                                                                    \
 462   /* vmSymbols */                                                                                                                    \
 463   /*************/                                                                                                                    \
 464                                                                                                                                      \
 465      static_field(Symbol,                      _vm_symbols[0],                                Symbol*)                               \
 466                                                                                                                                      \
 467   /*******************/                                                                                                              \
 468   /* ClassLoaderData */                                                                                                              \
 469   /*******************/                                                                                                              \
 470   nonstatic_field(ClassLoaderData,             _class_loader,                                 OopHandle)                             \
 471   nonstatic_field(ClassLoaderData,             _next,                                         ClassLoaderData*)                      \
 472   volatile_nonstatic_field(ClassLoaderData,    _klasses,                                      Klass*)                                \
 473   nonstatic_field(ClassLoaderData,             _has_class_mirror_holder,                      bool)                                  \
 474                                                                                                                                      \
 475   static_ptr_volatile_field(ClassLoaderDataGraph, _head,                                      ClassLoaderData*)                      \
 476                                                                                                                                      \
 477   /**********/                                                                                                                       \

 693   /* Threads (NOTE: incomplete) */                                                                                                   \
 694   /******************************/                                                                                                   \
 695                                                                                                                                      \
 696   static_field(Threads,                     _number_of_threads,                               int)                                   \
 697   static_field(Threads,                     _number_of_non_daemon_threads,                    int)                                   \
 698   static_field(Threads,                     _return_code,                                     int)                                   \
 699                                                                                                                                      \
 700   static_ptr_volatile_field(ThreadsSMRSupport, _java_thread_list,                             ThreadsList*)                          \
 701   nonstatic_field(ThreadsList,                 _length,                                       const uint)                            \
 702   nonstatic_field(ThreadsList,                 _threads,                                      JavaThread *const *const)              \
 703                                                                                                                                      \
 704   nonstatic_field(ThreadShadow,                _pending_exception,                            oop)                                   \
 705   nonstatic_field(ThreadShadow,                _exception_file,                               const char*)                           \
 706   nonstatic_field(ThreadShadow,                _exception_line,                               int)                                   \
 707   nonstatic_field(Thread,                      _active_handles,                               JNIHandleBlock*)                       \
 708   nonstatic_field(Thread,                      _tlab,                                         ThreadLocalAllocBuffer)                \
 709   nonstatic_field(Thread,                      _allocated_bytes,                              jlong)                                 \
 710   nonstatic_field(NamedThread,                 _name,                                         char*)                                 \
 711   nonstatic_field(NamedThread,                 _processed_thread,                             Thread*)                               \
 712   nonstatic_field(JavaThread,                  _threadObj,                                    OopHandle)                             \


 713   nonstatic_field(JavaThread,                  _anchor,                                       JavaFrameAnchor)                       \
 714   nonstatic_field(JavaThread,                  _vm_result,                                    oop)                                   \
 715   nonstatic_field(JavaThread,                  _vm_result_2,                                  Metadata*)                             \
 716   volatile_nonstatic_field(JavaThread,         _current_pending_monitor,                      ObjectMonitor*)                        \
 717   nonstatic_field(JavaThread,                  _current_pending_monitor_is_from_java,         bool)                                  \
 718   volatile_nonstatic_field(JavaThread,         _current_waiting_monitor,                      ObjectMonitor*)                        \
 719   volatile_nonstatic_field(JavaThread,         _suspend_flags,                                uint32_t)                              \
 720   nonstatic_field(JavaThread,                  _pending_async_exception,                      oop)                                   \
 721   volatile_nonstatic_field(JavaThread,         _exception_oop,                                oop)                                   \
 722   volatile_nonstatic_field(JavaThread,         _exception_pc,                                 address)                               \
 723   volatile_nonstatic_field(JavaThread,         _is_method_handle_return,                      int)                                   \
 724   nonstatic_field(JavaThread,                  _saved_exception_pc,                           address)                               \
 725   volatile_nonstatic_field(JavaThread,         _thread_state,                                 JavaThreadState)                       \
 726   nonstatic_field(JavaThread,                  _osthread,                                     OSThread*)                             \
 727   nonstatic_field(JavaThread,                  _stack_base,                                   address)                               \
 728   nonstatic_field(JavaThread,                  _stack_size,                                   size_t)                                \
 729   nonstatic_field(JavaThread,                  _vframe_array_head,                            vframeArray*)                          \
 730   nonstatic_field(JavaThread,                  _vframe_array_last,                            vframeArray*)                          \
 731   volatile_nonstatic_field(JavaThread,         _terminated,                                   JavaThread::TerminatedTypes)           \
 732   nonstatic_field(Thread,                      _resource_area,                                ResourceArea*)                         \

1209   declare_toplevel_type(oopDesc)                                          \
1210     declare_type(arrayOopDesc, oopDesc)                                   \
1211       declare_type(objArrayOopDesc, arrayOopDesc)                         \
1212     declare_type(instanceOopDesc, oopDesc)                                \
1213                                                                           \
1214   /**************************************************/                    \
1215   /* MetadataOopDesc hierarchy (NOTE: some missing) */                    \
1216   /**************************************************/                    \
1217                                                                           \
1218   declare_toplevel_type(CompiledICHolder)                                 \
1219   declare_toplevel_type(MetaspaceObj)                                     \
1220     declare_type(Metadata, MetaspaceObj)                                  \
1221     declare_type(Klass, Metadata)                                         \
1222            declare_type(ArrayKlass, Klass)                                \
1223            declare_type(ObjArrayKlass, ArrayKlass)                        \
1224            declare_type(TypeArrayKlass, ArrayKlass)                       \
1225       declare_type(InstanceKlass, Klass)                                  \
1226         declare_type(InstanceClassLoaderKlass, InstanceKlass)             \
1227         declare_type(InstanceMirrorKlass, InstanceKlass)                  \
1228         declare_type(InstanceRefKlass, InstanceKlass)                     \

1229     declare_type(ConstantPool, Metadata)                                  \
1230     declare_type(ConstantPoolCache, MetaspaceObj)                         \
1231     declare_type(MethodData, Metadata)                                    \
1232     declare_type(Method, Metadata)                                        \
1233     declare_type(MethodCounters, MetaspaceObj)                            \
1234     declare_type(ConstMethod, MetaspaceObj)                               \
1235                                                                           \
1236   declare_toplevel_type(MethodData::CompilerCounters)                     \
1237                                                                           \
1238   declare_toplevel_type(narrowKlass)                                      \
1239                                                                           \
1240   declare_toplevel_type(vtableEntry)                                      \
1241                                                                           \
1242            declare_toplevel_type(Symbol)                                  \
1243            declare_toplevel_type(Symbol*)                                 \
1244   declare_toplevel_type(volatile Metadata*)                               \
1245                                                                           \
1246   declare_toplevel_type(DataLayout)                                       \
1247                                                                           \
1248   /********/                                                              \

1962   declare_toplevel_type(JNIid*)                                           \
1963   declare_toplevel_type(jmethodID*)                                       \
1964   declare_toplevel_type(Mutex*)                                           \
1965   declare_toplevel_type(nmethod*)                                         \
1966   COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t))            \
1967   declare_toplevel_type(ObjectMonitor*)                                   \
1968   declare_toplevel_type(oop*)                                             \
1969   declare_toplevel_type(OopMapCache*)                                     \
1970   declare_toplevel_type(VMReg)                                            \
1971   declare_toplevel_type(OSThread*)                                        \
1972    declare_integer_type(ReferenceType)                                    \
1973   declare_toplevel_type(StubQueue*)                                       \
1974   declare_toplevel_type(Thread*)                                          \
1975   declare_toplevel_type(Universe)                                         \
1976   declare_toplevel_type(CompressedOops)                                   \
1977   declare_toplevel_type(CompressedKlassPointers)                          \
1978   declare_toplevel_type(os)                                               \
1979   declare_toplevel_type(vframeArray)                                      \
1980   declare_toplevel_type(vframeArrayElement)                               \
1981   declare_toplevel_type(Annotations*)                                     \
1982   declare_type(OopMapValue, StackObj)                                     \
1983   declare_type(FileMapInfo, CHeapObj<mtInternal>)                         \
1984   declare_toplevel_type(FileMapHeader)                                    \
1985   declare_toplevel_type(CDSFileMapRegion)                                 \
1986                                                                           \
1987   /************/                                                          \
1988   /* GC types */                                                          \
1989   /************/                                                          \
1990                                                                           \
1991   VM_TYPES_GC(declare_type,                                               \
1992               declare_toplevel_type,                                      \
1993               declare_integer_type)
1994 
1995 //--------------------------------------------------------------------------------
1996 // VM_INT_CONSTANTS
1997 //
1998 // This table contains integer constants required over in the
1999 // serviceability agent. The "declare_constant" macro is used for all
2000 // enums, etc., while "declare_preprocessor_constant" must be used for
2001 // all #defined constants.
2002 

2151   declare_constant(Klass::_lh_neutral_value)                              \
2152   declare_constant(Klass::_lh_instance_slow_path_bit)                     \
2153   declare_constant(Klass::_lh_log2_element_size_shift)                    \
2154   declare_constant(Klass::_lh_log2_element_size_mask)                     \
2155   declare_constant(Klass::_lh_element_type_shift)                         \
2156   declare_constant(Klass::_lh_element_type_mask)                          \
2157   declare_constant(Klass::_lh_header_size_shift)                          \
2158   declare_constant(Klass::_lh_header_size_mask)                           \
2159   declare_constant(Klass::_lh_array_tag_shift)                            \
2160   declare_constant(Klass::_lh_array_tag_type_value)                       \
2161   declare_constant(Klass::_lh_array_tag_obj_value)                        \
2162                                                                           \
2163   /********************************/                                      \
2164   /* ConstMethod anon-enum */                                             \
2165   /********************************/                                      \
2166                                                                           \
2167   declare_constant(Method::_caller_sensitive)                             \
2168   declare_constant(Method::_force_inline)                                 \
2169   declare_constant(Method::_dont_inline)                                  \
2170   declare_constant(Method::_hidden)                                       \

2171                                                                           \
2172   declare_constant(Method::nonvirtual_vtable_index)                       \
2173                                                                           \
2174   declare_constant(Method::extra_stack_entries_for_jsr292)                \
2175                                                                           \
2176   declare_constant(ConstMethod::_has_linenumber_table)                    \
2177   declare_constant(ConstMethod::_has_checked_exceptions)                  \
2178   declare_constant(ConstMethod::_has_localvariable_table)                 \
2179   declare_constant(ConstMethod::_has_exception_table)                     \
2180   declare_constant(ConstMethod::_has_generic_signature)                   \
2181   declare_constant(ConstMethod::_has_method_parameters)                   \
2182   declare_constant(ConstMethod::_has_method_annotations)                  \
2183   declare_constant(ConstMethod::_has_parameter_annotations)               \
2184   declare_constant(ConstMethod::_has_default_annotations)                 \
2185   declare_constant(ConstMethod::_has_type_annotations)                    \
2186                                                                           \
2187   /**************/                                                        \
2188   /* DataLayout */                                                        \
2189   /**************/                                                        \
2190                                                                           \

  53 #include "interpreter/interpreter.hpp"
  54 #include "logging/logAsyncWriter.hpp"
  55 #include "memory/allocation.hpp"
  56 #include "memory/allocation.inline.hpp"
  57 #include "memory/heap.hpp"
  58 #include "memory/padded.hpp"
  59 #include "memory/referenceType.hpp"
  60 #include "memory/universe.hpp"
  61 #include "memory/virtualspace.hpp"
  62 #include "oops/array.hpp"
  63 #include "oops/arrayKlass.hpp"
  64 #include "oops/arrayOop.hpp"
  65 #include "oops/compiledICHolder.hpp"
  66 #include "oops/constMethod.hpp"
  67 #include "oops/constantPool.hpp"
  68 #include "oops/cpCache.hpp"
  69 #include "oops/instanceClassLoaderKlass.hpp"
  70 #include "oops/instanceKlass.hpp"
  71 #include "oops/instanceMirrorKlass.hpp"
  72 #include "oops/instanceOop.hpp"
  73 #include "oops/instanceStackChunkKlass.hpp"
  74 #include "oops/klass.hpp"
  75 #include "oops/klassVtable.hpp"
  76 #include "oops/markWord.hpp"
  77 #include "oops/method.hpp"
  78 #include "oops/methodCounters.hpp"
  79 #include "oops/methodData.hpp"
  80 #include "oops/objArrayKlass.hpp"
  81 #include "oops/objArrayOop.hpp"
  82 #include "oops/oop.inline.hpp"
  83 #include "oops/oopHandle.hpp"
  84 #include "oops/symbol.hpp"
  85 #include "oops/typeArrayKlass.hpp"
  86 #include "oops/typeArrayOop.hpp"
  87 #include "prims/jvmtiAgentThread.hpp"
  88 #include "runtime/arguments.hpp"
  89 #include "runtime/deoptimization.hpp"
  90 #include "runtime/flags/jvmFlag.hpp"
  91 #include "runtime/globals.hpp"
  92 #include "runtime/java.hpp"
  93 #include "runtime/javaCalls.hpp"

 220   nonstatic_field(ConstantPool,                _source_file_name_index,                       u2)                                    \
 221   nonstatic_field(ConstantPoolCache,           _resolved_references,                          OopHandle)                             \
 222   nonstatic_field(ConstantPoolCache,           _reference_map,                                Array<u2>*)                            \
 223   nonstatic_field(ConstantPoolCache,           _length,                                       int)                                   \
 224   nonstatic_field(ConstantPoolCache,           _constant_pool,                                ConstantPool*)                         \
 225   volatile_nonstatic_field(InstanceKlass,      _array_klasses,                                ObjArrayKlass*)                        \
 226   nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
 227   nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
 228   nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<InstanceKlass*>*)                \
 229   nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<InstanceKlass*>*)                \
 230   nonstatic_field(InstanceKlass,               _fields,                                       Array<u2>*)                            \
 231   nonstatic_field(InstanceKlass,               _java_fields_count,                            u2)                                    \
 232   nonstatic_field(InstanceKlass,               _constants,                                    ConstantPool*)                         \
 233   nonstatic_field(InstanceKlass,               _source_debug_extension,                       const char*)                           \
 234   nonstatic_field(InstanceKlass,               _inner_classes,                                Array<jushort>*)                       \
 235   nonstatic_field(InstanceKlass,               _nonstatic_field_size,                         int)                                   \
 236   nonstatic_field(InstanceKlass,               _static_field_size,                            int)                                   \
 237   nonstatic_field(InstanceKlass,               _static_oop_field_count,                       u2)                                    \
 238   nonstatic_field(InstanceKlass,               _nonstatic_oop_map_size,                       int)                                   \
 239   nonstatic_field(InstanceKlass,               _is_marked_dependent,                          bool)                                  \
 240   nonstatic_field(InstanceKlass,               _kind,                                         u1)                                    \
 241   nonstatic_field(InstanceKlass,               _misc_flags,                                   u2)                                    \
 242   nonstatic_field(InstanceKlass,               _init_state,                                   u1)                                    \
 243   nonstatic_field(InstanceKlass,               _init_thread,                                  Thread*)                               \
 244   nonstatic_field(InstanceKlass,               _itable_len,                                   int)                                   \
 245   nonstatic_field(InstanceKlass,               _reference_type,                               u1)                                    \
 246   volatile_nonstatic_field(InstanceKlass,      _oop_map_cache,                                OopMapCache*)                          \
 247   nonstatic_field(InstanceKlass,               _jni_ids,                                      JNIid*)                                \
 248   nonstatic_field(InstanceKlass,               _osr_nmethods_head,                            nmethod*)                              \
 249   JVMTI_ONLY(nonstatic_field(InstanceKlass,    _breakpoints,                                  BreakpointInfo*))                      \
 250   volatile_nonstatic_field(InstanceKlass,      _methods_jmethod_ids,                          jmethodID*)                            \
 251   volatile_nonstatic_field(InstanceKlass,      _idnum_allocated_count,                        u2)                                    \
 252   nonstatic_field(InstanceKlass,               _annotations,                                  Annotations*)                          \
 253   nonstatic_field(InstanceKlass,               _method_ordering,                              Array<int>*)                           \
 254   nonstatic_field(InstanceKlass,               _default_vtable_indices,                       Array<int>*)                           \
 255   nonstatic_field(Klass,                       _super_check_offset,                           juint)                                 \
 256   nonstatic_field(Klass,                       _secondary_super_cache,                        Klass*)                                \
 257   nonstatic_field(Klass,                       _secondary_supers,                             Array<Klass*>*)                        \
 258   nonstatic_field(Klass,                       _primary_supers[0],                            Klass*)                                \
 259   nonstatic_field(Klass,                       _java_mirror,                                  OopHandle)                             \
 260   nonstatic_field(Klass,                       _modifier_flags,                               jint)                                  \

 440   nonstatic_field(PerfDataEntry,               data_variability,                              jbyte)                                 \
 441   nonstatic_field(PerfDataEntry,               data_offset,                                   jint)                                  \
 442                                                                                                                                      \
 443      static_field(PerfMemory,                  _start,                                        char*)                                 \
 444      static_field(PerfMemory,                  _end,                                          char*)                                 \
 445      static_field(PerfMemory,                  _top,                                          char*)                                 \
 446      static_field(PerfMemory,                  _capacity,                                     size_t)                                \
 447      static_field(PerfMemory,                  _prologue,                                     PerfDataPrologue*)                     \
 448      static_field(PerfMemory,                  _initialized,                                  int)                                   \
 449                                                                                                                                      \
 450   /********************/                                                                                                             \
 451   /* SystemDictionary */                                                                                                             \
 452   /********************/                                                                                                             \
 453                                                                                                                                      \
 454      static_field(vmClasses,                   VM_CLASS_AT(Object_klass),                        InstanceKlass*)                     \
 455      static_field(vmClasses,                   VM_CLASS_AT(String_klass),                        InstanceKlass*)                     \
 456      static_field(vmClasses,                   VM_CLASS_AT(Class_klass),                         InstanceKlass*)                     \
 457      static_field(vmClasses,                   VM_CLASS_AT(ClassLoader_klass),                   InstanceKlass*)                     \
 458      static_field(vmClasses,                   VM_CLASS_AT(System_klass),                        InstanceKlass*)                     \
 459      static_field(vmClasses,                   VM_CLASS_AT(Thread_klass),                        InstanceKlass*)                     \
 460      static_field(vmClasses,                   VM_CLASS_AT(Thread_FieldHolder_klass),            InstanceKlass*)                     \
 461      static_field(vmClasses,                   VM_CLASS_AT(ThreadGroup_klass),                   InstanceKlass*)                     \
 462      static_field(vmClasses,                   VM_CLASS_AT(MethodHandle_klass),                  InstanceKlass*)                     \
 463                                                                                                                                      \
 464   /*************/                                                                                                                    \
 465   /* vmSymbols */                                                                                                                    \
 466   /*************/                                                                                                                    \
 467                                                                                                                                      \
 468      static_field(Symbol,                      _vm_symbols[0],                                Symbol*)                               \
 469                                                                                                                                      \
 470   /*******************/                                                                                                              \
 471   /* ClassLoaderData */                                                                                                              \
 472   /*******************/                                                                                                              \
 473   nonstatic_field(ClassLoaderData,             _class_loader,                                 OopHandle)                             \
 474   nonstatic_field(ClassLoaderData,             _next,                                         ClassLoaderData*)                      \
 475   volatile_nonstatic_field(ClassLoaderData,    _klasses,                                      Klass*)                                \
 476   nonstatic_field(ClassLoaderData,             _has_class_mirror_holder,                      bool)                                  \
 477                                                                                                                                      \
 478   static_ptr_volatile_field(ClassLoaderDataGraph, _head,                                      ClassLoaderData*)                      \
 479                                                                                                                                      \
 480   /**********/                                                                                                                       \

 696   /* Threads (NOTE: incomplete) */                                                                                                   \
 697   /******************************/                                                                                                   \
 698                                                                                                                                      \
 699   static_field(Threads,                     _number_of_threads,                               int)                                   \
 700   static_field(Threads,                     _number_of_non_daemon_threads,                    int)                                   \
 701   static_field(Threads,                     _return_code,                                     int)                                   \
 702                                                                                                                                      \
 703   static_ptr_volatile_field(ThreadsSMRSupport, _java_thread_list,                             ThreadsList*)                          \
 704   nonstatic_field(ThreadsList,                 _length,                                       const uint)                            \
 705   nonstatic_field(ThreadsList,                 _threads,                                      JavaThread *const *const)              \
 706                                                                                                                                      \
 707   nonstatic_field(ThreadShadow,                _pending_exception,                            oop)                                   \
 708   nonstatic_field(ThreadShadow,                _exception_file,                               const char*)                           \
 709   nonstatic_field(ThreadShadow,                _exception_line,                               int)                                   \
 710   nonstatic_field(Thread,                      _active_handles,                               JNIHandleBlock*)                       \
 711   nonstatic_field(Thread,                      _tlab,                                         ThreadLocalAllocBuffer)                \
 712   nonstatic_field(Thread,                      _allocated_bytes,                              jlong)                                 \
 713   nonstatic_field(NamedThread,                 _name,                                         char*)                                 \
 714   nonstatic_field(NamedThread,                 _processed_thread,                             Thread*)                               \
 715   nonstatic_field(JavaThread,                  _threadObj,                                    OopHandle)                             \
 716   nonstatic_field(JavaThread,                  _vthread,                                      OopHandle)                             \
 717   nonstatic_field(JavaThread,                  _scopeLocalCache,                              OopHandle)                             \
 718   nonstatic_field(JavaThread,                  _anchor,                                       JavaFrameAnchor)                       \
 719   nonstatic_field(JavaThread,                  _vm_result,                                    oop)                                   \
 720   nonstatic_field(JavaThread,                  _vm_result_2,                                  Metadata*)                             \
 721   volatile_nonstatic_field(JavaThread,         _current_pending_monitor,                      ObjectMonitor*)                        \
 722   nonstatic_field(JavaThread,                  _current_pending_monitor_is_from_java,         bool)                                  \
 723   volatile_nonstatic_field(JavaThread,         _current_waiting_monitor,                      ObjectMonitor*)                        \
 724   volatile_nonstatic_field(JavaThread,         _suspend_flags,                                uint32_t)                              \
 725   nonstatic_field(JavaThread,                  _pending_async_exception,                      oop)                                   \
 726   volatile_nonstatic_field(JavaThread,         _exception_oop,                                oop)                                   \
 727   volatile_nonstatic_field(JavaThread,         _exception_pc,                                 address)                               \
 728   volatile_nonstatic_field(JavaThread,         _is_method_handle_return,                      int)                                   \
 729   nonstatic_field(JavaThread,                  _saved_exception_pc,                           address)                               \
 730   volatile_nonstatic_field(JavaThread,         _thread_state,                                 JavaThreadState)                       \
 731   nonstatic_field(JavaThread,                  _osthread,                                     OSThread*)                             \
 732   nonstatic_field(JavaThread,                  _stack_base,                                   address)                               \
 733   nonstatic_field(JavaThread,                  _stack_size,                                   size_t)                                \
 734   nonstatic_field(JavaThread,                  _vframe_array_head,                            vframeArray*)                          \
 735   nonstatic_field(JavaThread,                  _vframe_array_last,                            vframeArray*)                          \
 736   volatile_nonstatic_field(JavaThread,         _terminated,                                   JavaThread::TerminatedTypes)           \
 737   nonstatic_field(Thread,                      _resource_area,                                ResourceArea*)                         \

1214   declare_toplevel_type(oopDesc)                                          \
1215     declare_type(arrayOopDesc, oopDesc)                                   \
1216       declare_type(objArrayOopDesc, arrayOopDesc)                         \
1217     declare_type(instanceOopDesc, oopDesc)                                \
1218                                                                           \
1219   /**************************************************/                    \
1220   /* MetadataOopDesc hierarchy (NOTE: some missing) */                    \
1221   /**************************************************/                    \
1222                                                                           \
1223   declare_toplevel_type(CompiledICHolder)                                 \
1224   declare_toplevel_type(MetaspaceObj)                                     \
1225     declare_type(Metadata, MetaspaceObj)                                  \
1226     declare_type(Klass, Metadata)                                         \
1227            declare_type(ArrayKlass, Klass)                                \
1228            declare_type(ObjArrayKlass, ArrayKlass)                        \
1229            declare_type(TypeArrayKlass, ArrayKlass)                       \
1230       declare_type(InstanceKlass, Klass)                                  \
1231         declare_type(InstanceClassLoaderKlass, InstanceKlass)             \
1232         declare_type(InstanceMirrorKlass, InstanceKlass)                  \
1233         declare_type(InstanceRefKlass, InstanceKlass)                     \
1234         declare_type(InstanceStackChunkKlass, InstanceKlass)              \
1235     declare_type(ConstantPool, Metadata)                                  \
1236     declare_type(ConstantPoolCache, MetaspaceObj)                         \
1237     declare_type(MethodData, Metadata)                                    \
1238     declare_type(Method, Metadata)                                        \
1239     declare_type(MethodCounters, MetaspaceObj)                            \
1240     declare_type(ConstMethod, MetaspaceObj)                               \
1241                                                                           \
1242   declare_toplevel_type(MethodData::CompilerCounters)                     \
1243                                                                           \
1244   declare_toplevel_type(narrowKlass)                                      \
1245                                                                           \
1246   declare_toplevel_type(vtableEntry)                                      \
1247                                                                           \
1248            declare_toplevel_type(Symbol)                                  \
1249            declare_toplevel_type(Symbol*)                                 \
1250   declare_toplevel_type(volatile Metadata*)                               \
1251                                                                           \
1252   declare_toplevel_type(DataLayout)                                       \
1253                                                                           \
1254   /********/                                                              \

1968   declare_toplevel_type(JNIid*)                                           \
1969   declare_toplevel_type(jmethodID*)                                       \
1970   declare_toplevel_type(Mutex*)                                           \
1971   declare_toplevel_type(nmethod*)                                         \
1972   COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t))            \
1973   declare_toplevel_type(ObjectMonitor*)                                   \
1974   declare_toplevel_type(oop*)                                             \
1975   declare_toplevel_type(OopMapCache*)                                     \
1976   declare_toplevel_type(VMReg)                                            \
1977   declare_toplevel_type(OSThread*)                                        \
1978    declare_integer_type(ReferenceType)                                    \
1979   declare_toplevel_type(StubQueue*)                                       \
1980   declare_toplevel_type(Thread*)                                          \
1981   declare_toplevel_type(Universe)                                         \
1982   declare_toplevel_type(CompressedOops)                                   \
1983   declare_toplevel_type(CompressedKlassPointers)                          \
1984   declare_toplevel_type(os)                                               \
1985   declare_toplevel_type(vframeArray)                                      \
1986   declare_toplevel_type(vframeArrayElement)                               \
1987   declare_toplevel_type(Annotations*)                                     \
1988   declare_toplevel_type(OopMapValue)                                      \
1989   declare_type(FileMapInfo, CHeapObj<mtInternal>)                         \
1990   declare_toplevel_type(FileMapHeader)                                    \
1991   declare_toplevel_type(CDSFileMapRegion)                                 \
1992                                                                           \
1993   /************/                                                          \
1994   /* GC types */                                                          \
1995   /************/                                                          \
1996                                                                           \
1997   VM_TYPES_GC(declare_type,                                               \
1998               declare_toplevel_type,                                      \
1999               declare_integer_type)
2000 
2001 //--------------------------------------------------------------------------------
2002 // VM_INT_CONSTANTS
2003 //
2004 // This table contains integer constants required over in the
2005 // serviceability agent. The "declare_constant" macro is used for all
2006 // enums, etc., while "declare_preprocessor_constant" must be used for
2007 // all #defined constants.
2008 

2157   declare_constant(Klass::_lh_neutral_value)                              \
2158   declare_constant(Klass::_lh_instance_slow_path_bit)                     \
2159   declare_constant(Klass::_lh_log2_element_size_shift)                    \
2160   declare_constant(Klass::_lh_log2_element_size_mask)                     \
2161   declare_constant(Klass::_lh_element_type_shift)                         \
2162   declare_constant(Klass::_lh_element_type_mask)                          \
2163   declare_constant(Klass::_lh_header_size_shift)                          \
2164   declare_constant(Klass::_lh_header_size_mask)                           \
2165   declare_constant(Klass::_lh_array_tag_shift)                            \
2166   declare_constant(Klass::_lh_array_tag_type_value)                       \
2167   declare_constant(Klass::_lh_array_tag_obj_value)                        \
2168                                                                           \
2169   /********************************/                                      \
2170   /* ConstMethod anon-enum */                                             \
2171   /********************************/                                      \
2172                                                                           \
2173   declare_constant(Method::_caller_sensitive)                             \
2174   declare_constant(Method::_force_inline)                                 \
2175   declare_constant(Method::_dont_inline)                                  \
2176   declare_constant(Method::_hidden)                                       \
2177   declare_constant(Method::_changes_current_thread)                       \
2178                                                                           \
2179   declare_constant(Method::nonvirtual_vtable_index)                       \
2180                                                                           \
2181   declare_constant(Method::extra_stack_entries_for_jsr292)                \
2182                                                                           \
2183   declare_constant(ConstMethod::_has_linenumber_table)                    \
2184   declare_constant(ConstMethod::_has_checked_exceptions)                  \
2185   declare_constant(ConstMethod::_has_localvariable_table)                 \
2186   declare_constant(ConstMethod::_has_exception_table)                     \
2187   declare_constant(ConstMethod::_has_generic_signature)                   \
2188   declare_constant(ConstMethod::_has_method_parameters)                   \
2189   declare_constant(ConstMethod::_has_method_annotations)                  \
2190   declare_constant(ConstMethod::_has_parameter_annotations)               \
2191   declare_constant(ConstMethod::_has_default_annotations)                 \
2192   declare_constant(ConstMethod::_has_type_annotations)                    \
2193                                                                           \
2194   /**************/                                                        \
2195   /* DataLayout */                                                        \
2196   /**************/                                                        \
2197                                                                           \
< prev index next >