< prev index next >

src/hotspot/share/runtime/vmStructs.cpp

Print this page

  51 #include "compiler/oopMap.hpp"
  52 #include "gc/shared/stringdedup/stringDedupThread.hpp"
  53 #include "gc/shared/vmStructs_gc.hpp"
  54 #include "interpreter/bytecodes.hpp"
  55 #include "interpreter/interpreter.hpp"
  56 #include "logging/logAsyncWriter.hpp"
  57 #include "memory/allocation.hpp"
  58 #include "memory/allocation.inline.hpp"
  59 #include "memory/heap.hpp"
  60 #include "memory/padded.hpp"
  61 #include "memory/referenceType.hpp"
  62 #include "memory/universe.hpp"
  63 #include "memory/virtualspace.hpp"
  64 #include "oops/array.hpp"
  65 #include "oops/arrayKlass.hpp"
  66 #include "oops/arrayOop.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/resolvedFieldEntry.hpp"
  87 #include "oops/resolvedIndyEntry.hpp"
  88 #include "oops/resolvedMethodEntry.hpp"
  89 #include "oops/symbol.hpp"
  90 #include "oops/typeArrayKlass.hpp"

 213   volatile_nonstatic_field(ArrayKlass,         _lower_dimension,                              ArrayKlass*)                           \
 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,           _constant_pool,                                ConstantPool*)                         \
 227   nonstatic_field(ConstantPoolCache,           _resolved_field_entries,                       Array<ResolvedFieldEntry>*)            \
 228   nonstatic_field(ResolvedFieldEntry,          _cpool_index,                                  u2)                                    \
 229   nonstatic_field(ConstantPoolCache,           _resolved_method_entries,                      Array<ResolvedMethodEntry>*)           \
 230   nonstatic_field(ResolvedMethodEntry,         _cpool_index,                                  u2)                                    \
 231   nonstatic_field(ConstantPoolCache,           _resolved_indy_entries,                        Array<ResolvedIndyEntry>*)             \
 232   nonstatic_field(ResolvedIndyEntry,           _cpool_index,                                  u2)                                    \
 233   volatile_nonstatic_field(InstanceKlass,      _array_klasses,                                ObjArrayKlass*)                        \
 234   nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
 235   nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
 236   nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<InstanceKlass*>*)                \
 237   nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<InstanceKlass*>*)                \
 238   nonstatic_field(InstanceKlass,               _fieldinfo_stream,                             Array<u1>*)                            \
 239   nonstatic_field(InstanceKlass,               _constants,                                    ConstantPool*)                         \
 240   nonstatic_field(InstanceKlass,               _source_debug_extension,                       const char*)                           \
 241   nonstatic_field(InstanceKlass,               _inner_classes,                                Array<jushort>*)                       \
 242   nonstatic_field(InstanceKlass,               _nest_members,                                 Array<jushort>*)                       \
 243   nonstatic_field(InstanceKlass,               _nonstatic_field_size,                         int)                                   \
 244   nonstatic_field(InstanceKlass,               _static_field_size,                            int)                                   \
 245   nonstatic_field(InstanceKlass,               _static_oop_field_count,                       u2)                                    \
 246   nonstatic_field(InstanceKlass,               _nonstatic_oop_map_size,                       int)                                   \
 247   volatile_nonstatic_field(InstanceKlass,      _init_state,                                   InstanceKlass::ClassState)             \
 248   volatile_nonstatic_field(InstanceKlass,      _init_thread,                                  JavaThread*)                           \
 249   nonstatic_field(InstanceKlass,               _itable_len,                                   int)                                   \
 250   nonstatic_field(InstanceKlass,               _nest_host_index,                              u2)                                    \
 251   nonstatic_field(InstanceKlass,               _reference_type,                               u1)                                    \
 252   volatile_nonstatic_field(InstanceKlass,      _oop_map_cache,                                OopMapCache*)                          \
 253   nonstatic_field(InstanceKlass,               _jni_ids,                                      JNIid*)                                \

1146   declare_unsigned_integer_type(uint32_t)                                 \
1147   declare_unsigned_integer_type(uint64_t)                                 \
1148                                                                           \
1149   /******************************************/                            \
1150   /* OopDesc hierarchy (NOTE: some missing) */                            \
1151   /******************************************/                            \
1152                                                                           \
1153   declare_toplevel_type(oopDesc)                                          \
1154     declare_type(arrayOopDesc, oopDesc)                                   \
1155       declare_type(objArrayOopDesc, arrayOopDesc)                         \
1156     declare_type(instanceOopDesc, oopDesc)                                \
1157                                                                           \
1158   /**************************************************/                    \
1159   /* MetadataOopDesc hierarchy (NOTE: some missing) */                    \
1160   /**************************************************/                    \
1161                                                                           \
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*)                                 \

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

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

  51 #include "compiler/oopMap.hpp"
  52 #include "gc/shared/stringdedup/stringDedupThread.hpp"
  53 #include "gc/shared/vmStructs_gc.hpp"
  54 #include "interpreter/bytecodes.hpp"
  55 #include "interpreter/interpreter.hpp"
  56 #include "logging/logAsyncWriter.hpp"
  57 #include "memory/allocation.hpp"
  58 #include "memory/allocation.inline.hpp"
  59 #include "memory/heap.hpp"
  60 #include "memory/padded.hpp"
  61 #include "memory/referenceType.hpp"
  62 #include "memory/universe.hpp"
  63 #include "memory/virtualspace.hpp"
  64 #include "oops/array.hpp"
  65 #include "oops/arrayKlass.hpp"
  66 #include "oops/arrayOop.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/resolvedFieldEntry.hpp"
  89 #include "oops/resolvedIndyEntry.hpp"
  90 #include "oops/resolvedMethodEntry.hpp"
  91 #include "oops/symbol.hpp"
  92 #include "oops/typeArrayKlass.hpp"

 215   volatile_nonstatic_field(ArrayKlass,         _lower_dimension,                              ArrayKlass*)                           \
 216   nonstatic_field(ConstantPool,                _tags,                                         Array<u1>*)                            \
 217   nonstatic_field(ConstantPool,                _cache,                                        ConstantPoolCache*)                    \
 218   nonstatic_field(ConstantPool,                _pool_holder,                                  InstanceKlass*)                        \
 219   nonstatic_field(ConstantPool,                _operands,                                     Array<u2>*)                            \
 220   nonstatic_field(ConstantPool,                _resolved_klasses,                             Array<Klass*>*)                        \
 221   nonstatic_field(ConstantPool,                _length,                                       int)                                   \
 222   nonstatic_field(ConstantPool,                _minor_version,                                u2)                                    \
 223   nonstatic_field(ConstantPool,                _major_version,                                u2)                                    \
 224   nonstatic_field(ConstantPool,                _generic_signature_index,                      u2)                                    \
 225   nonstatic_field(ConstantPool,                _source_file_name_index,                       u2)                                    \
 226   nonstatic_field(ConstantPoolCache,           _resolved_references,                          OopHandle)                             \
 227   nonstatic_field(ConstantPoolCache,           _reference_map,                                Array<u2>*)                            \
 228   nonstatic_field(ConstantPoolCache,           _constant_pool,                                ConstantPool*)                         \
 229   nonstatic_field(ConstantPoolCache,           _resolved_field_entries,                       Array<ResolvedFieldEntry>*)            \
 230   nonstatic_field(ResolvedFieldEntry,          _cpool_index,                                  u2)                                    \
 231   nonstatic_field(ConstantPoolCache,           _resolved_method_entries,                      Array<ResolvedMethodEntry>*)           \
 232   nonstatic_field(ResolvedMethodEntry,         _cpool_index,                                  u2)                                    \
 233   nonstatic_field(ConstantPoolCache,           _resolved_indy_entries,                        Array<ResolvedIndyEntry>*)             \
 234   nonstatic_field(ResolvedIndyEntry,           _cpool_index,                                  u2)                                    \
 235   volatile_nonstatic_field(InstanceKlass,      _array_klasses,                                ArrayKlass*)                        \
 236   nonstatic_field(InstanceKlass,               _methods,                                      Array<Method*>*)                       \
 237   nonstatic_field(InstanceKlass,               _default_methods,                              Array<Method*>*)                       \
 238   nonstatic_field(InstanceKlass,               _local_interfaces,                             Array<InstanceKlass*>*)                \
 239   nonstatic_field(InstanceKlass,               _transitive_interfaces,                        Array<InstanceKlass*>*)                \
 240   nonstatic_field(InstanceKlass,               _fieldinfo_stream,                             Array<u1>*)                            \
 241   nonstatic_field(InstanceKlass,               _constants,                                    ConstantPool*)                         \
 242   nonstatic_field(InstanceKlass,               _source_debug_extension,                       const char*)                           \
 243   nonstatic_field(InstanceKlass,               _inner_classes,                                Array<jushort>*)                       \
 244   nonstatic_field(InstanceKlass,               _nest_members,                                 Array<jushort>*)                       \
 245   nonstatic_field(InstanceKlass,               _nonstatic_field_size,                         int)                                   \
 246   nonstatic_field(InstanceKlass,               _static_field_size,                            int)                                   \
 247   nonstatic_field(InstanceKlass,               _static_oop_field_count,                       u2)                                    \
 248   nonstatic_field(InstanceKlass,               _nonstatic_oop_map_size,                       int)                                   \
 249   volatile_nonstatic_field(InstanceKlass,      _init_state,                                   InstanceKlass::ClassState)             \
 250   volatile_nonstatic_field(InstanceKlass,      _init_thread,                                  JavaThread*)                           \
 251   nonstatic_field(InstanceKlass,               _itable_len,                                   int)                                   \
 252   nonstatic_field(InstanceKlass,               _nest_host_index,                              u2)                                    \
 253   nonstatic_field(InstanceKlass,               _reference_type,                               u1)                                    \
 254   volatile_nonstatic_field(InstanceKlass,      _oop_map_cache,                                OopMapCache*)                          \
 255   nonstatic_field(InstanceKlass,               _jni_ids,                                      JNIid*)                                \

1148   declare_unsigned_integer_type(uint32_t)                                 \
1149   declare_unsigned_integer_type(uint64_t)                                 \
1150                                                                           \
1151   /******************************************/                            \
1152   /* OopDesc hierarchy (NOTE: some missing) */                            \
1153   /******************************************/                            \
1154                                                                           \
1155   declare_toplevel_type(oopDesc)                                          \
1156     declare_type(arrayOopDesc, oopDesc)                                   \
1157       declare_type(objArrayOopDesc, arrayOopDesc)                         \
1158     declare_type(instanceOopDesc, oopDesc)                                \
1159                                                                           \
1160   /**************************************************/                    \
1161   /* MetadataOopDesc hierarchy (NOTE: some missing) */                    \
1162   /**************************************************/                    \
1163                                                                           \
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*)                                 \

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