< prev index next >

src/hotspot/share/runtime/vmStructs.cpp

Print this page

  49 #include "compiler/compileBroker.hpp"
  50 #include "compiler/oopMap.hpp"
  51 #include "gc/shared/vmStructs_gc.hpp"
  52 #include "interpreter/bytecodes.hpp"
  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"

 203   static_field(BarrierSet,                     _barrier_set,                                  BarrierSet*)                           \
 204   nonstatic_field(ArrayKlass,                  _dimension,                                    int)                                   \
 205   volatile_nonstatic_field(ArrayKlass,         _higher_dimension,                             Klass*)                                \
 206   volatile_nonstatic_field(ArrayKlass,         _lower_dimension,                              Klass*)                                \
 207   nonstatic_field(CompiledICHolder,            _holder_metadata,                              Metadata*)                             \
 208   nonstatic_field(CompiledICHolder,            _holder_klass,                                 Klass*)                                \
 209   nonstatic_field(ConstantPool,                _tags,                                         Array<u1>*)                            \
 210   nonstatic_field(ConstantPool,                _cache,                                        ConstantPoolCache*)                    \
 211   nonstatic_field(ConstantPool,                _pool_holder,                                  InstanceKlass*)                        \
 212   nonstatic_field(ConstantPool,                _operands,                                     Array<u2>*)                            \
 213   nonstatic_field(ConstantPool,                _resolved_klasses,                             Array<Klass*>*)                        \
 214   nonstatic_field(ConstantPool,                _length,                                       int)                                   \
 215   nonstatic_field(ConstantPool,                _minor_version,                                u2)                                    \
 216   nonstatic_field(ConstantPool,                _major_version,                                u2)                                    \
 217   nonstatic_field(ConstantPool,                _generic_signature_index,                      u2)                                    \
 218   nonstatic_field(ConstantPool,                _source_file_name_index,                       u2)                                    \
 219   nonstatic_field(ConstantPoolCache,           _resolved_references,                          OopHandle)                             \
 220   nonstatic_field(ConstantPoolCache,           _reference_map,                                Array<u2>*)                            \
 221   nonstatic_field(ConstantPoolCache,           _length,                                       int)                                   \
 222   nonstatic_field(ConstantPoolCache,           _constant_pool,                                ConstantPool*)                         \
 223   volatile_nonstatic_field(InstanceKlass,      _array_klasses,                                ObjArrayKlass*)                        \
 224   nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
 225   nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
 226   nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<InstanceKlass*>*)                \
 227   nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<InstanceKlass*>*)                \
 228   nonstatic_field(InstanceKlass,               _fields,                                       Array<u2>*)                            \
 229   nonstatic_field(InstanceKlass,               _java_fields_count,                            u2)                                    \
 230   nonstatic_field(InstanceKlass,               _constants,                                    ConstantPool*)                         \
 231   nonstatic_field(InstanceKlass,               _source_debug_extension,                       const char*)                           \
 232   nonstatic_field(InstanceKlass,               _inner_classes,                                Array<jushort>*)                       \
 233   nonstatic_field(InstanceKlass,               _nonstatic_field_size,                         int)                                   \
 234   nonstatic_field(InstanceKlass,               _static_field_size,                            int)                                   \
 235   nonstatic_field(InstanceKlass,               _static_oop_field_count,                       u2)                                    \
 236   nonstatic_field(InstanceKlass,               _nonstatic_oop_map_size,                       int)                                   \
 237   nonstatic_field(InstanceKlass,               _is_marked_dependent,                          bool)                                  \
 238   nonstatic_field(InstanceKlass,               _init_state,                                   InstanceKlass::ClassState)             \
 239   nonstatic_field(InstanceKlass,               _init_thread,                                  Thread*)                               \
 240   nonstatic_field(InstanceKlass,               _itable_len,                                   int)                                   \
 241   nonstatic_field(InstanceKlass,               _reference_type,                               u1)                                    \
 242   volatile_nonstatic_field(InstanceKlass,      _oop_map_cache,                                OopMapCache*)                          \
 243   nonstatic_field(InstanceKlass,               _jni_ids,                                      JNIid*)                                \

1207   declare_unsigned_integer_type(uint64_t)                                 \
1208                                                                           \
1209   /******************************************/                            \
1210   /* OopDesc hierarchy (NOTE: some missing) */                            \
1211   /******************************************/                            \
1212                                                                           \
1213   declare_toplevel_type(oopDesc)                                          \
1214     declare_type(arrayOopDesc, oopDesc)                                   \
1215       declare_type(objArrayOopDesc, arrayOopDesc)                         \
1216     declare_type(instanceOopDesc, oopDesc)                                \
1217                                                                           \
1218   /**************************************************/                    \
1219   /* MetadataOopDesc hierarchy (NOTE: some missing) */                    \
1220   /**************************************************/                    \
1221                                                                           \
1222   declare_toplevel_type(CompiledICHolder)                                 \
1223   declare_toplevel_type(MetaspaceObj)                                     \
1224     declare_type(Metadata, MetaspaceObj)                                  \
1225     declare_type(Klass, Metadata)                                         \
1226            declare_type(ArrayKlass, Klass)                                \

1227            declare_type(ObjArrayKlass, ArrayKlass)                        \
1228            declare_type(TypeArrayKlass, ArrayKlass)                       \
1229       declare_type(InstanceKlass, Klass)                                  \

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

1583   declare_c2_type(ModINode, Node)                                         \
1584   declare_c2_type(ModLNode, Node)                                         \
1585   declare_c2_type(ModFNode, Node)                                         \
1586   declare_c2_type(ModDNode, Node)                                         \
1587   declare_c2_type(UModINode, Node)                                        \
1588   declare_c2_type(UModLNode, Node)                                        \
1589   declare_c2_type(DivModNode, MultiNode)                                  \
1590   declare_c2_type(DivModINode, DivModNode)                                \
1591   declare_c2_type(DivModLNode, DivModNode)                                \
1592   declare_c2_type(UDivModINode, DivModNode)                               \
1593   declare_c2_type(UDivModLNode, DivModNode)                               \
1594   declare_c2_type(BoxLockNode, Node)                                      \
1595   declare_c2_type(LoopNode, RegionNode)                                   \
1596   declare_c2_type(CountedLoopNode, LoopNode)                              \
1597   declare_c2_type(CountedLoopEndNode, IfNode)                             \
1598   declare_c2_type(MachNode, Node)                                         \
1599   declare_c2_type(MachIdealNode, MachNode)                                \
1600   declare_c2_type(MachTypeNode, MachNode)                                 \
1601   declare_c2_type(MachBreakpointNode, MachIdealNode)                      \
1602   declare_c2_type(MachUEPNode, MachIdealNode)                             \

1603   declare_c2_type(MachPrologNode, MachIdealNode)                          \
1604   declare_c2_type(MachEpilogNode, MachIdealNode)                          \
1605   declare_c2_type(MachNopNode, MachIdealNode)                             \
1606   declare_c2_type(MachSpillCopyNode, MachIdealNode)                       \
1607   declare_c2_type(MachNullCheckNode, MachIdealNode)                       \
1608   declare_c2_type(MachProjNode, ProjNode)                                 \
1609   declare_c2_type(MachIfNode, MachNode)                                   \
1610   declare_c2_type(MachJumpNode, MachNode)                                 \
1611   declare_c2_type(MachFastLockNode, MachNode)                             \
1612   declare_c2_type(MachReturnNode, MachNode)                               \
1613   declare_c2_type(MachSafePointNode, MachReturnNode)                      \
1614   declare_c2_type(MachCallNode, MachSafePointNode)                        \
1615   declare_c2_type(MachCallJavaNode, MachCallNode)                         \
1616   declare_c2_type(MachCallStaticJavaNode, MachCallJavaNode)               \
1617   declare_c2_type(MachCallDynamicJavaNode, MachCallJavaNode)              \
1618   declare_c2_type(MachCallRuntimeNode, MachCallNode)                      \
1619   declare_c2_type(MachHaltNode, MachReturnNode)                           \
1620   declare_c2_type(MachTempNode, MachNode)                                 \
1621   declare_c2_type(MemNode, Node)                                          \
1622   declare_c2_type(MergeMemNode, Node)                                     \

  49 #include "compiler/compileBroker.hpp"
  50 #include "compiler/oopMap.hpp"
  51 #include "gc/shared/vmStructs_gc.hpp"
  52 #include "interpreter/bytecodes.hpp"
  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/flatArrayKlass.hpp"
  70 #include "oops/inlineKlass.hpp"
  71 #include "oops/instanceClassLoaderKlass.hpp"
  72 #include "oops/instanceKlass.hpp"
  73 #include "oops/instanceMirrorKlass.hpp"
  74 #include "oops/instanceOop.hpp"
  75 #include "oops/instanceStackChunkKlass.hpp"
  76 #include "oops/klass.hpp"
  77 #include "oops/klassVtable.hpp"
  78 #include "oops/markWord.hpp"
  79 #include "oops/method.hpp"
  80 #include "oops/methodCounters.hpp"
  81 #include "oops/methodData.hpp"
  82 #include "oops/objArrayKlass.hpp"
  83 #include "oops/objArrayOop.hpp"
  84 #include "oops/oop.inline.hpp"
  85 #include "oops/oopHandle.hpp"
  86 #include "oops/symbol.hpp"
  87 #include "oops/typeArrayKlass.hpp"
  88 #include "oops/typeArrayOop.hpp"
  89 #include "prims/jvmtiAgentThread.hpp"
  90 #include "runtime/arguments.hpp"

 205   static_field(BarrierSet,                     _barrier_set,                                  BarrierSet*)                           \
 206   nonstatic_field(ArrayKlass,                  _dimension,                                    int)                                   \
 207   volatile_nonstatic_field(ArrayKlass,         _higher_dimension,                             Klass*)                                \
 208   volatile_nonstatic_field(ArrayKlass,         _lower_dimension,                              Klass*)                                \
 209   nonstatic_field(CompiledICHolder,            _holder_metadata,                              Metadata*)                             \
 210   nonstatic_field(CompiledICHolder,            _holder_klass,                                 Klass*)                                \
 211   nonstatic_field(ConstantPool,                _tags,                                         Array<u1>*)                            \
 212   nonstatic_field(ConstantPool,                _cache,                                        ConstantPoolCache*)                    \
 213   nonstatic_field(ConstantPool,                _pool_holder,                                  InstanceKlass*)                        \
 214   nonstatic_field(ConstantPool,                _operands,                                     Array<u2>*)                            \
 215   nonstatic_field(ConstantPool,                _resolved_klasses,                             Array<Klass*>*)                        \
 216   nonstatic_field(ConstantPool,                _length,                                       int)                                   \
 217   nonstatic_field(ConstantPool,                _minor_version,                                u2)                                    \
 218   nonstatic_field(ConstantPool,                _major_version,                                u2)                                    \
 219   nonstatic_field(ConstantPool,                _generic_signature_index,                      u2)                                    \
 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,                                ArrayKlass*)                        \
 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,               _init_state,                                   InstanceKlass::ClassState)             \
 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*)                                \

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

1587   declare_c2_type(ModINode, Node)                                         \
1588   declare_c2_type(ModLNode, Node)                                         \
1589   declare_c2_type(ModFNode, Node)                                         \
1590   declare_c2_type(ModDNode, Node)                                         \
1591   declare_c2_type(UModINode, Node)                                        \
1592   declare_c2_type(UModLNode, Node)                                        \
1593   declare_c2_type(DivModNode, MultiNode)                                  \
1594   declare_c2_type(DivModINode, DivModNode)                                \
1595   declare_c2_type(DivModLNode, DivModNode)                                \
1596   declare_c2_type(UDivModINode, DivModNode)                               \
1597   declare_c2_type(UDivModLNode, DivModNode)                               \
1598   declare_c2_type(BoxLockNode, Node)                                      \
1599   declare_c2_type(LoopNode, RegionNode)                                   \
1600   declare_c2_type(CountedLoopNode, LoopNode)                              \
1601   declare_c2_type(CountedLoopEndNode, IfNode)                             \
1602   declare_c2_type(MachNode, Node)                                         \
1603   declare_c2_type(MachIdealNode, MachNode)                                \
1604   declare_c2_type(MachTypeNode, MachNode)                                 \
1605   declare_c2_type(MachBreakpointNode, MachIdealNode)                      \
1606   declare_c2_type(MachUEPNode, MachIdealNode)                             \
1607   declare_c2_type(MachVEPNode, MachIdealNode)                             \
1608   declare_c2_type(MachPrologNode, MachIdealNode)                          \
1609   declare_c2_type(MachEpilogNode, MachIdealNode)                          \
1610   declare_c2_type(MachNopNode, MachIdealNode)                             \
1611   declare_c2_type(MachSpillCopyNode, MachIdealNode)                       \
1612   declare_c2_type(MachNullCheckNode, MachIdealNode)                       \
1613   declare_c2_type(MachProjNode, ProjNode)                                 \
1614   declare_c2_type(MachIfNode, MachNode)                                   \
1615   declare_c2_type(MachJumpNode, MachNode)                                 \
1616   declare_c2_type(MachFastLockNode, MachNode)                             \
1617   declare_c2_type(MachReturnNode, MachNode)                               \
1618   declare_c2_type(MachSafePointNode, MachReturnNode)                      \
1619   declare_c2_type(MachCallNode, MachSafePointNode)                        \
1620   declare_c2_type(MachCallJavaNode, MachCallNode)                         \
1621   declare_c2_type(MachCallStaticJavaNode, MachCallJavaNode)               \
1622   declare_c2_type(MachCallDynamicJavaNode, MachCallJavaNode)              \
1623   declare_c2_type(MachCallRuntimeNode, MachCallNode)                      \
1624   declare_c2_type(MachHaltNode, MachReturnNode)                           \
1625   declare_c2_type(MachTempNode, MachNode)                                 \
1626   declare_c2_type(MemNode, Node)                                          \
1627   declare_c2_type(MergeMemNode, Node)                                     \
< prev index next >