< 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*)                                \

1138   declare_unsigned_integer_type(uint32_t)                                 \
1139   declare_unsigned_integer_type(uint64_t)                                 \
1140                                                                           \
1141   /******************************************/                            \
1142   /* OopDesc hierarchy (NOTE: some missing) */                            \
1143   /******************************************/                            \
1144                                                                           \
1145   declare_toplevel_type(oopDesc)                                          \
1146     declare_type(arrayOopDesc, oopDesc)                                   \
1147       declare_type(objArrayOopDesc, arrayOopDesc)                         \
1148     declare_type(instanceOopDesc, oopDesc)                                \
1149                                                                           \
1150   /**************************************************/                    \
1151   /* MetadataOopDesc hierarchy (NOTE: some missing) */                    \
1152   /**************************************************/                    \
1153                                                                           \
1154   declare_toplevel_type(MetaspaceObj)                                     \
1155     declare_type(Metadata, MetaspaceObj)                                  \
1156     declare_type(Klass, Metadata)                                         \
1157            declare_type(ArrayKlass, Klass)                                \

1158            declare_type(ObjArrayKlass, ArrayKlass)                        \
1159            declare_type(TypeArrayKlass, ArrayKlass)                       \
1160       declare_type(InstanceKlass, Klass)                                  \

1161         declare_type(InstanceClassLoaderKlass, InstanceKlass)             \
1162         declare_type(InstanceMirrorKlass, InstanceKlass)                  \
1163         declare_type(InstanceRefKlass, InstanceKlass)                     \
1164         declare_type(InstanceStackChunkKlass, InstanceKlass)              \
1165     declare_type(ConstantPool, Metadata)                                  \
1166     declare_type(ConstantPoolCache, MetaspaceObj)                         \
1167     declare_type(MethodData, Metadata)                                    \
1168     declare_type(Method, Metadata)                                        \
1169     declare_type(MethodCounters, MetaspaceObj)                            \
1170     declare_type(ConstMethod, MetaspaceObj)                               \
1171     declare_type(Annotations, MetaspaceObj)                               \
1172                                                                           \
1173   declare_toplevel_type(MethodData::CompilerCounters)                     \
1174                                                                           \
1175   declare_toplevel_type(narrowKlass)                                      \
1176                                                                           \
1177   declare_toplevel_type(vtableEntry)                                      \
1178                                                                           \
1179            declare_toplevel_type(Symbol)                                  \
1180            declare_toplevel_type(Symbol*)                                 \

1519   declare_c2_type(ModINode, Node)                                         \
1520   declare_c2_type(ModLNode, Node)                                         \
1521   declare_c2_type(ModFNode, Node)                                         \
1522   declare_c2_type(ModDNode, Node)                                         \
1523   declare_c2_type(UModINode, Node)                                        \
1524   declare_c2_type(UModLNode, Node)                                        \
1525   declare_c2_type(DivModNode, MultiNode)                                  \
1526   declare_c2_type(DivModINode, DivModNode)                                \
1527   declare_c2_type(DivModLNode, DivModNode)                                \
1528   declare_c2_type(UDivModINode, DivModNode)                               \
1529   declare_c2_type(UDivModLNode, DivModNode)                               \
1530   declare_c2_type(BoxLockNode, Node)                                      \
1531   declare_c2_type(LoopNode, RegionNode)                                   \
1532   declare_c2_type(CountedLoopNode, LoopNode)                              \
1533   declare_c2_type(CountedLoopEndNode, IfNode)                             \
1534   declare_c2_type(MachNode, Node)                                         \
1535   declare_c2_type(MachIdealNode, MachNode)                                \
1536   declare_c2_type(MachTypeNode, MachNode)                                 \
1537   declare_c2_type(MachBreakpointNode, MachIdealNode)                      \
1538   declare_c2_type(MachUEPNode, MachIdealNode)                             \

1539   declare_c2_type(MachPrologNode, MachIdealNode)                          \
1540   declare_c2_type(MachEpilogNode, MachIdealNode)                          \
1541   declare_c2_type(MachNopNode, MachIdealNode)                             \
1542   declare_c2_type(MachSpillCopyNode, MachIdealNode)                       \
1543   declare_c2_type(MachNullCheckNode, MachIdealNode)                       \
1544   declare_c2_type(MachProjNode, ProjNode)                                 \
1545   declare_c2_type(MachIfNode, MachNode)                                   \
1546   declare_c2_type(MachJumpNode, MachNode)                                 \
1547   declare_c2_type(MachFastLockNode, MachNode)                             \
1548   declare_c2_type(MachReturnNode, MachNode)                               \
1549   declare_c2_type(MachSafePointNode, MachReturnNode)                      \
1550   declare_c2_type(MachCallNode, MachSafePointNode)                        \
1551   declare_c2_type(MachCallJavaNode, MachCallNode)                         \
1552   declare_c2_type(MachCallStaticJavaNode, MachCallJavaNode)               \
1553   declare_c2_type(MachCallDynamicJavaNode, MachCallJavaNode)              \
1554   declare_c2_type(MachCallRuntimeNode, MachCallNode)                      \
1555   declare_c2_type(MachHaltNode, MachReturnNode)                           \
1556   declare_c2_type(MachTempNode, MachNode)                                 \
1557   declare_c2_type(MemNode, Node)                                          \
1558   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*)                                \

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

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