< prev index next >

src/hotspot/share/runtime/vmStructs.cpp

Print this page

  51 #include "gc/shared/stringdedup/stringDedupThread.hpp"
  52 #include "gc/shared/vmStructs_gc.hpp"
  53 #include "interpreter/bytecodes.hpp"
  54 #include "interpreter/interpreter.hpp"
  55 #include "logging/logAsyncWriter.hpp"
  56 #include "memory/allocation.hpp"
  57 #include "memory/allocation.inline.hpp"
  58 #include "memory/heap.hpp"
  59 #include "memory/padded.hpp"
  60 #include "memory/referenceType.hpp"
  61 #include "memory/universe.hpp"
  62 #include "memory/virtualspace.hpp"
  63 #include "oops/array.hpp"
  64 #include "oops/arrayKlass.hpp"
  65 #include "oops/arrayOop.hpp"
  66 #include "oops/compiledICHolder.hpp"
  67 #include "oops/constMethod.hpp"
  68 #include "oops/constantPool.hpp"
  69 #include "oops/cpCache.hpp"
  70 #include "oops/fieldInfo.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/resolvedIndyEntry.hpp"
  87 #include "oops/symbol.hpp"
  88 #include "oops/typeArrayKlass.hpp"
  89 #include "oops/typeArrayOop.hpp"
  90 #include "prims/jvmtiAgentThread.hpp"

 208   volatile_nonstatic_field(ArrayKlass,         _higher_dimension,                             Klass*)                                \
 209   volatile_nonstatic_field(ArrayKlass,         _lower_dimension,                              Klass*)                                \
 210   nonstatic_field(CompiledICHolder,            _holder_metadata,                              Metadata*)                             \
 211   nonstatic_field(CompiledICHolder,            _holder_klass,                                 Klass*)                                \
 212   nonstatic_field(ConstantPool,                _tags,                                         Array<u1>*)                            \
 213   nonstatic_field(ConstantPool,                _cache,                                        ConstantPoolCache*)                    \
 214   nonstatic_field(ConstantPool,                _pool_holder,                                  InstanceKlass*)                        \
 215   nonstatic_field(ConstantPool,                _operands,                                     Array<u2>*)                            \
 216   nonstatic_field(ConstantPool,                _resolved_klasses,                             Array<Klass*>*)                        \
 217   nonstatic_field(ConstantPool,                _length,                                       int)                                   \
 218   nonstatic_field(ConstantPool,                _minor_version,                                u2)                                    \
 219   nonstatic_field(ConstantPool,                _major_version,                                u2)                                    \
 220   nonstatic_field(ConstantPool,                _generic_signature_index,                      u2)                                    \
 221   nonstatic_field(ConstantPool,                _source_file_name_index,                       u2)                                    \
 222   nonstatic_field(ConstantPoolCache,           _resolved_references,                          OopHandle)                             \
 223   nonstatic_field(ConstantPoolCache,           _reference_map,                                Array<u2>*)                            \
 224   nonstatic_field(ConstantPoolCache,           _length,                                       int)                                   \
 225   nonstatic_field(ConstantPoolCache,           _constant_pool,                                ConstantPool*)                         \
 226   nonstatic_field(ConstantPoolCache,           _resolved_indy_entries,                        Array<ResolvedIndyEntry>*)             \
 227   nonstatic_field(ResolvedIndyEntry,           _cpool_index,                                  u2)                                    \
 228   volatile_nonstatic_field(InstanceKlass,      _array_klasses,                                ObjArrayKlass*)                        \
 229   nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
 230   nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
 231   nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<InstanceKlass*>*)                \
 232   nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<InstanceKlass*>*)                \
 233   nonstatic_field(InstanceKlass,               _fieldinfo_stream,                             Array<u1>*)                            \
 234   nonstatic_field(InstanceKlass,               _constants,                                    ConstantPool*)                         \
 235   nonstatic_field(InstanceKlass,               _source_debug_extension,                       const char*)                           \
 236   nonstatic_field(InstanceKlass,               _inner_classes,                                Array<jushort>*)                       \
 237   nonstatic_field(InstanceKlass,               _nonstatic_field_size,                         int)                                   \
 238   nonstatic_field(InstanceKlass,               _static_field_size,                            int)                                   \
 239   nonstatic_field(InstanceKlass,               _static_oop_field_count,                       u2)                                    \
 240   nonstatic_field(InstanceKlass,               _nonstatic_oop_map_size,                       int)                                   \
 241   volatile_nonstatic_field(InstanceKlass,      _init_state,                                   InstanceKlass::ClassState)             \
 242   volatile_nonstatic_field(InstanceKlass,      _init_thread,                                  JavaThread*)                           \
 243   nonstatic_field(InstanceKlass,               _itable_len,                                   int)                                   \
 244   nonstatic_field(InstanceKlass,               _reference_type,                               u1)                                    \
 245   volatile_nonstatic_field(InstanceKlass,      _oop_map_cache,                                OopMapCache*)                          \
 246   nonstatic_field(InstanceKlass,               _jni_ids,                                      JNIid*)                                \
 247   nonstatic_field(InstanceKlass,               _osr_nmethods_head,                            nmethod*)                              \
 248   JVMTI_ONLY(nonstatic_field(InstanceKlass,    _breakpoints,                                  BreakpointInfo*))                      \

1146   declare_unsigned_integer_type(uint64_t)                                 \
1147                                                                           \
1148   /******************************************/                            \
1149   /* OopDesc hierarchy (NOTE: some missing) */                            \
1150   /******************************************/                            \
1151                                                                           \
1152   declare_toplevel_type(oopDesc)                                          \
1153     declare_type(arrayOopDesc, oopDesc)                                   \
1154       declare_type(objArrayOopDesc, arrayOopDesc)                         \
1155     declare_type(instanceOopDesc, oopDesc)                                \
1156                                                                           \
1157   /**************************************************/                    \
1158   /* MetadataOopDesc hierarchy (NOTE: some missing) */                    \
1159   /**************************************************/                    \
1160                                                                           \
1161   declare_toplevel_type(CompiledICHolder)                                 \
1162   declare_toplevel_type(MetaspaceObj)                                     \
1163     declare_type(Metadata, MetaspaceObj)                                  \
1164     declare_type(Klass, Metadata)                                         \
1165            declare_type(ArrayKlass, Klass)                                \

1166            declare_type(ObjArrayKlass, ArrayKlass)                        \
1167            declare_type(TypeArrayKlass, ArrayKlass)                       \
1168       declare_type(InstanceKlass, Klass)                                  \

1169         declare_type(InstanceClassLoaderKlass, InstanceKlass)             \
1170         declare_type(InstanceMirrorKlass, InstanceKlass)                  \
1171         declare_type(InstanceRefKlass, InstanceKlass)                     \
1172         declare_type(InstanceStackChunkKlass, InstanceKlass)              \
1173     declare_type(ConstantPool, Metadata)                                  \
1174     declare_type(ConstantPoolCache, MetaspaceObj)                         \
1175     declare_type(MethodData, Metadata)                                    \
1176     declare_type(Method, Metadata)                                        \
1177     declare_type(MethodCounters, MetaspaceObj)                            \
1178     declare_type(ConstMethod, MetaspaceObj)                               \
1179     declare_type(Annotations, MetaspaceObj)                               \
1180                                                                           \
1181   declare_toplevel_type(MethodData::CompilerCounters)                     \
1182                                                                           \
1183   declare_toplevel_type(narrowKlass)                                      \
1184                                                                           \
1185   declare_toplevel_type(vtableEntry)                                      \
1186                                                                           \
1187            declare_toplevel_type(Symbol)                                  \
1188            declare_toplevel_type(Symbol*)                                 \

1525   declare_c2_type(ModINode, Node)                                         \
1526   declare_c2_type(ModLNode, Node)                                         \
1527   declare_c2_type(ModFNode, Node)                                         \
1528   declare_c2_type(ModDNode, Node)                                         \
1529   declare_c2_type(UModINode, Node)                                        \
1530   declare_c2_type(UModLNode, Node)                                        \
1531   declare_c2_type(DivModNode, MultiNode)                                  \
1532   declare_c2_type(DivModINode, DivModNode)                                \
1533   declare_c2_type(DivModLNode, DivModNode)                                \
1534   declare_c2_type(UDivModINode, DivModNode)                               \
1535   declare_c2_type(UDivModLNode, DivModNode)                               \
1536   declare_c2_type(BoxLockNode, Node)                                      \
1537   declare_c2_type(LoopNode, RegionNode)                                   \
1538   declare_c2_type(CountedLoopNode, LoopNode)                              \
1539   declare_c2_type(CountedLoopEndNode, IfNode)                             \
1540   declare_c2_type(MachNode, Node)                                         \
1541   declare_c2_type(MachIdealNode, MachNode)                                \
1542   declare_c2_type(MachTypeNode, MachNode)                                 \
1543   declare_c2_type(MachBreakpointNode, MachIdealNode)                      \
1544   declare_c2_type(MachUEPNode, MachIdealNode)                             \

1545   declare_c2_type(MachPrologNode, MachIdealNode)                          \
1546   declare_c2_type(MachEpilogNode, MachIdealNode)                          \
1547   declare_c2_type(MachNopNode, MachIdealNode)                             \
1548   declare_c2_type(MachSpillCopyNode, MachIdealNode)                       \
1549   declare_c2_type(MachNullCheckNode, MachIdealNode)                       \
1550   declare_c2_type(MachProjNode, ProjNode)                                 \
1551   declare_c2_type(MachIfNode, MachNode)                                   \
1552   declare_c2_type(MachJumpNode, MachNode)                                 \
1553   declare_c2_type(MachFastLockNode, MachNode)                             \
1554   declare_c2_type(MachReturnNode, MachNode)                               \
1555   declare_c2_type(MachSafePointNode, MachReturnNode)                      \
1556   declare_c2_type(MachCallNode, MachSafePointNode)                        \
1557   declare_c2_type(MachCallJavaNode, MachCallNode)                         \
1558   declare_c2_type(MachCallStaticJavaNode, MachCallJavaNode)               \
1559   declare_c2_type(MachCallDynamicJavaNode, MachCallJavaNode)              \
1560   declare_c2_type(MachCallRuntimeNode, MachCallNode)                      \
1561   declare_c2_type(MachHaltNode, MachReturnNode)                           \
1562   declare_c2_type(MachTempNode, MachNode)                                 \
1563   declare_c2_type(MemNode, Node)                                          \
1564   declare_c2_type(MergeMemNode, Node)                                     \

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

 210   volatile_nonstatic_field(ArrayKlass,         _higher_dimension,                             Klass*)                                \
 211   volatile_nonstatic_field(ArrayKlass,         _lower_dimension,                              Klass*)                                \
 212   nonstatic_field(CompiledICHolder,            _holder_metadata,                              Metadata*)                             \
 213   nonstatic_field(CompiledICHolder,            _holder_klass,                                 Klass*)                                \
 214   nonstatic_field(ConstantPool,                _tags,                                         Array<u1>*)                            \
 215   nonstatic_field(ConstantPool,                _cache,                                        ConstantPoolCache*)                    \
 216   nonstatic_field(ConstantPool,                _pool_holder,                                  InstanceKlass*)                        \
 217   nonstatic_field(ConstantPool,                _operands,                                     Array<u2>*)                            \
 218   nonstatic_field(ConstantPool,                _resolved_klasses,                             Array<Klass*>*)                        \
 219   nonstatic_field(ConstantPool,                _length,                                       int)                                   \
 220   nonstatic_field(ConstantPool,                _minor_version,                                u2)                                    \
 221   nonstatic_field(ConstantPool,                _major_version,                                u2)                                    \
 222   nonstatic_field(ConstantPool,                _generic_signature_index,                      u2)                                    \
 223   nonstatic_field(ConstantPool,                _source_file_name_index,                       u2)                                    \
 224   nonstatic_field(ConstantPoolCache,           _resolved_references,                          OopHandle)                             \
 225   nonstatic_field(ConstantPoolCache,           _reference_map,                                Array<u2>*)                            \
 226   nonstatic_field(ConstantPoolCache,           _length,                                       int)                                   \
 227   nonstatic_field(ConstantPoolCache,           _constant_pool,                                ConstantPool*)                         \
 228   nonstatic_field(ConstantPoolCache,           _resolved_indy_entries,                        Array<ResolvedIndyEntry>*)             \
 229   nonstatic_field(ResolvedIndyEntry,           _cpool_index,                                  u2)                                    \
 230   volatile_nonstatic_field(InstanceKlass,      _array_klasses,                                ArrayKlass*)                        \
 231   nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
 232   nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
 233   nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<InstanceKlass*>*)                \
 234   nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<InstanceKlass*>*)                \
 235   nonstatic_field(InstanceKlass,               _fieldinfo_stream,                             Array<u1>*)                            \
 236   nonstatic_field(InstanceKlass,               _constants,                                    ConstantPool*)                         \
 237   nonstatic_field(InstanceKlass,               _source_debug_extension,                       const char*)                           \
 238   nonstatic_field(InstanceKlass,               _inner_classes,                                Array<jushort>*)                       \
 239   nonstatic_field(InstanceKlass,               _nonstatic_field_size,                         int)                                   \
 240   nonstatic_field(InstanceKlass,               _static_field_size,                            int)                                   \
 241   nonstatic_field(InstanceKlass,               _static_oop_field_count,                       u2)                                    \
 242   nonstatic_field(InstanceKlass,               _nonstatic_oop_map_size,                       int)                                   \
 243   volatile_nonstatic_field(InstanceKlass,      _init_state,                                   InstanceKlass::ClassState)             \
 244   volatile_nonstatic_field(InstanceKlass,      _init_thread,                                  JavaThread*)                           \
 245   nonstatic_field(InstanceKlass,               _itable_len,                                   int)                                   \
 246   nonstatic_field(InstanceKlass,               _reference_type,                               u1)                                    \
 247   volatile_nonstatic_field(InstanceKlass,      _oop_map_cache,                                OopMapCache*)                          \
 248   nonstatic_field(InstanceKlass,               _jni_ids,                                      JNIid*)                                \
 249   nonstatic_field(InstanceKlass,               _osr_nmethods_head,                            nmethod*)                              \
 250   JVMTI_ONLY(nonstatic_field(InstanceKlass,    _breakpoints,                                  BreakpointInfo*))                      \

1148   declare_unsigned_integer_type(uint64_t)                                 \
1149                                                                           \
1150   /******************************************/                            \
1151   /* OopDesc hierarchy (NOTE: some missing) */                            \
1152   /******************************************/                            \
1153                                                                           \
1154   declare_toplevel_type(oopDesc)                                          \
1155     declare_type(arrayOopDesc, oopDesc)                                   \
1156       declare_type(objArrayOopDesc, arrayOopDesc)                         \
1157     declare_type(instanceOopDesc, oopDesc)                                \
1158                                                                           \
1159   /**************************************************/                    \
1160   /* MetadataOopDesc hierarchy (NOTE: some missing) */                    \
1161   /**************************************************/                    \
1162                                                                           \
1163   declare_toplevel_type(CompiledICHolder)                                 \
1164   declare_toplevel_type(MetaspaceObj)                                     \
1165     declare_type(Metadata, MetaspaceObj)                                  \
1166     declare_type(Klass, Metadata)                                         \
1167            declare_type(ArrayKlass, Klass)                                \
1168            declare_type(FlatArrayKlass, ArrayKlass)                       \
1169            declare_type(ObjArrayKlass, ArrayKlass)                        \
1170            declare_type(TypeArrayKlass, ArrayKlass)                       \
1171       declare_type(InstanceKlass, Klass)                                  \
1172         declare_type(InlineKlass, InstanceKlass)                          \
1173         declare_type(InstanceClassLoaderKlass, InstanceKlass)             \
1174         declare_type(InstanceMirrorKlass, InstanceKlass)                  \
1175         declare_type(InstanceRefKlass, InstanceKlass)                     \
1176         declare_type(InstanceStackChunkKlass, InstanceKlass)              \
1177     declare_type(ConstantPool, Metadata)                                  \
1178     declare_type(ConstantPoolCache, MetaspaceObj)                         \
1179     declare_type(MethodData, Metadata)                                    \
1180     declare_type(Method, Metadata)                                        \
1181     declare_type(MethodCounters, MetaspaceObj)                            \
1182     declare_type(ConstMethod, MetaspaceObj)                               \
1183     declare_type(Annotations, MetaspaceObj)                               \
1184                                                                           \
1185   declare_toplevel_type(MethodData::CompilerCounters)                     \
1186                                                                           \
1187   declare_toplevel_type(narrowKlass)                                      \
1188                                                                           \
1189   declare_toplevel_type(vtableEntry)                                      \
1190                                                                           \
1191            declare_toplevel_type(Symbol)                                  \
1192            declare_toplevel_type(Symbol*)                                 \

1529   declare_c2_type(ModINode, Node)                                         \
1530   declare_c2_type(ModLNode, Node)                                         \
1531   declare_c2_type(ModFNode, Node)                                         \
1532   declare_c2_type(ModDNode, Node)                                         \
1533   declare_c2_type(UModINode, Node)                                        \
1534   declare_c2_type(UModLNode, Node)                                        \
1535   declare_c2_type(DivModNode, MultiNode)                                  \
1536   declare_c2_type(DivModINode, DivModNode)                                \
1537   declare_c2_type(DivModLNode, DivModNode)                                \
1538   declare_c2_type(UDivModINode, DivModNode)                               \
1539   declare_c2_type(UDivModLNode, DivModNode)                               \
1540   declare_c2_type(BoxLockNode, Node)                                      \
1541   declare_c2_type(LoopNode, RegionNode)                                   \
1542   declare_c2_type(CountedLoopNode, LoopNode)                              \
1543   declare_c2_type(CountedLoopEndNode, IfNode)                             \
1544   declare_c2_type(MachNode, Node)                                         \
1545   declare_c2_type(MachIdealNode, MachNode)                                \
1546   declare_c2_type(MachTypeNode, MachNode)                                 \
1547   declare_c2_type(MachBreakpointNode, MachIdealNode)                      \
1548   declare_c2_type(MachUEPNode, MachIdealNode)                             \
1549   declare_c2_type(MachVEPNode, MachIdealNode)                             \
1550   declare_c2_type(MachPrologNode, MachIdealNode)                          \
1551   declare_c2_type(MachEpilogNode, MachIdealNode)                          \
1552   declare_c2_type(MachNopNode, MachIdealNode)                             \
1553   declare_c2_type(MachSpillCopyNode, MachIdealNode)                       \
1554   declare_c2_type(MachNullCheckNode, MachIdealNode)                       \
1555   declare_c2_type(MachProjNode, ProjNode)                                 \
1556   declare_c2_type(MachIfNode, MachNode)                                   \
1557   declare_c2_type(MachJumpNode, MachNode)                                 \
1558   declare_c2_type(MachFastLockNode, MachNode)                             \
1559   declare_c2_type(MachReturnNode, MachNode)                               \
1560   declare_c2_type(MachSafePointNode, MachReturnNode)                      \
1561   declare_c2_type(MachCallNode, MachSafePointNode)                        \
1562   declare_c2_type(MachCallJavaNode, MachCallNode)                         \
1563   declare_c2_type(MachCallStaticJavaNode, MachCallJavaNode)               \
1564   declare_c2_type(MachCallDynamicJavaNode, MachCallJavaNode)              \
1565   declare_c2_type(MachCallRuntimeNode, MachCallNode)                      \
1566   declare_c2_type(MachHaltNode, MachReturnNode)                           \
1567   declare_c2_type(MachTempNode, MachNode)                                 \
1568   declare_c2_type(MemNode, Node)                                          \
1569   declare_c2_type(MergeMemNode, Node)                                     \
< prev index next >