< prev index next >

src/hotspot/share/runtime/vmStructs.cpp

Print this page

  43 #include "gc/shared/stringdedup/stringDedupThread.hpp"
  44 #include "gc/shared/vmStructs_gc.hpp"
  45 #include "interpreter/bytecodes.hpp"
  46 #include "interpreter/interpreter.hpp"
  47 #include "jfr/recorder/service/jfrRecorderThread.hpp"
  48 #include "logging/logAsyncWriter.hpp"
  49 #include "memory/allocation.inline.hpp"
  50 #include "memory/heap.hpp"
  51 #include "memory/padded.hpp"
  52 #include "memory/referenceType.hpp"
  53 #include "memory/universe.hpp"
  54 #include "memory/virtualspace.hpp"
  55 #include "oops/array.hpp"
  56 #include "oops/arrayKlass.hpp"
  57 #include "oops/arrayOop.hpp"
  58 #include "oops/bsmAttribute.hpp"
  59 #include "oops/constantPool.hpp"
  60 #include "oops/constMethod.hpp"
  61 #include "oops/cpCache.hpp"
  62 #include "oops/fieldInfo.hpp"


  63 #include "oops/instanceKlass.hpp"
  64 #include "oops/instanceOop.hpp"
  65 #include "oops/klass.hpp"
  66 #include "oops/klassVtable.hpp"
  67 #include "oops/markWord.hpp"
  68 #include "oops/method.hpp"
  69 #include "oops/methodCounters.hpp"
  70 #include "oops/methodData.hpp"
  71 #include "oops/objArrayKlass.hpp"
  72 #include "oops/objArrayOop.hpp"
  73 #include "oops/oop.inline.hpp"
  74 #include "oops/oopHandle.hpp"
  75 #include "oops/resolvedFieldEntry.hpp"
  76 #include "oops/resolvedIndyEntry.hpp"
  77 #include "oops/resolvedMethodEntry.hpp"
  78 #include "oops/symbol.hpp"
  79 #include "oops/typeArrayKlass.hpp"
  80 #include "oops/typeArrayOop.hpp"
  81 #include "prims/jvmtiAgentThread.hpp"
  82 #include "runtime/arguments.hpp"

 912   declare_unsigned_integer_type(uint32_t)                                 \
 913   declare_unsigned_integer_type(uint64_t)                                 \
 914                                                                           \
 915   /******************************************/                            \
 916   /* OopDesc hierarchy (NOTE: some missing) */                            \
 917   /******************************************/                            \
 918                                                                           \
 919   declare_toplevel_type(oopDesc)                                          \
 920     declare_type(arrayOopDesc, oopDesc)                                   \
 921       declare_type(objArrayOopDesc, arrayOopDesc)                         \
 922     declare_type(instanceOopDesc, oopDesc)                                \
 923                                                                           \
 924   /**************************************************/                    \
 925   /* MetadataOopDesc hierarchy (NOTE: some missing) */                    \
 926   /**************************************************/                    \
 927                                                                           \
 928   declare_toplevel_type(MetaspaceObj)                                     \
 929     declare_type(Metadata, MetaspaceObj)                                  \
 930     declare_type(Klass, Metadata)                                         \
 931            declare_type(ArrayKlass, Klass)                                \
 932            declare_type(ObjArrayKlass, ArrayKlass)                        \
 933            declare_type(TypeArrayKlass, ArrayKlass)                       \



 934       declare_type(InstanceKlass, Klass)                                  \

 935         declare_type(InstanceClassLoaderKlass, InstanceKlass)             \
 936         declare_type(InstanceMirrorKlass, InstanceKlass)                  \
 937         declare_type(InstanceRefKlass, InstanceKlass)                     \
 938         declare_type(InstanceStackChunkKlass, InstanceKlass)              \
 939     declare_type(ConstantPool, Metadata)                                  \
 940     declare_type(ConstantPoolCache, MetaspaceObj)                         \
 941     declare_type(MethodData, Metadata)                                    \
 942     declare_type(Method, Metadata)                                        \
 943     declare_type(MethodCounters, MetaspaceObj)                            \
 944     declare_type(ConstMethod, MetaspaceObj)                               \
 945     declare_type(Annotations, MetaspaceObj)                               \
 946                                                                           \
 947   declare_toplevel_type(narrowKlass)                                      \
 948                                                                           \
 949   declare_toplevel_type(vtableEntry)                                      \
 950                                                                           \
 951            declare_toplevel_type(Symbol)                                  \
 952            declare_toplevel_type(Symbol*)                                 \
 953   declare_toplevel_type(volatile Metadata*)                               \
 954                                                                           \

1392   declare_constant(OBJECT_WAIT)                                           \
1393   declare_constant(BREAKPOINTED)                                          \
1394   declare_constant(SLEEPING)                                              \
1395   declare_constant(ZOMBIE)                                                \
1396                                                                           \
1397   /******************************/                                        \
1398   /* Klass misc. enum constants */                                        \
1399   /******************************/                                        \
1400                                                                           \
1401   declare_constant(Klass::_primary_super_limit)                           \
1402   declare_constant(Klass::_lh_neutral_value)                              \
1403   declare_constant(Klass::_lh_instance_slow_path_bit)                     \
1404   declare_constant(Klass::_lh_log2_element_size_shift)                    \
1405   declare_constant(Klass::_lh_log2_element_size_mask)                     \
1406   declare_constant(Klass::_lh_element_type_shift)                         \
1407   declare_constant(Klass::_lh_element_type_mask)                          \
1408   declare_constant(Klass::_lh_header_size_shift)                          \
1409   declare_constant(Klass::_lh_header_size_mask)                           \
1410   declare_constant(Klass::_lh_array_tag_shift)                            \
1411   declare_constant(Klass::_lh_array_tag_type_value)                       \
1412   declare_constant(Klass::_lh_array_tag_obj_value)                        \
1413                                                                           \
1414   declare_constant(Method::nonvirtual_vtable_index)                       \
1415   declare_constant(Method::extra_stack_entries_for_jsr292)                \
1416                                                                           \
1417   /********************************/                                      \
1418   /* ConstMethod anon-enum */                                             \
1419   /********************************/                                      \
1420                                                                           \
1421   declare_constant(ConstMethodFlags::_misc_has_linenumber_table)          \
1422   declare_constant(ConstMethodFlags::_misc_has_checked_exceptions)        \
1423   declare_constant(ConstMethodFlags::_misc_has_localvariable_table)       \
1424   declare_constant(ConstMethodFlags::_misc_has_exception_table)           \
1425   declare_constant(ConstMethodFlags::_misc_has_generic_signature)         \
1426   declare_constant(ConstMethodFlags::_misc_has_method_parameters)         \
1427   declare_constant(ConstMethodFlags::_misc_has_method_annotations)        \
1428   declare_constant(ConstMethodFlags::_misc_has_parameter_annotations)     \
1429   declare_constant(ConstMethodFlags::_misc_has_default_annotations)       \
1430   declare_constant(ConstMethodFlags::_misc_has_type_annotations)          \
1431                                                                           \
1432   /**************/                                                        \

1503   declare_constant(JavaThreadStatus::NEW)                                 \
1504   declare_constant(JavaThreadStatus::RUNNABLE)                            \
1505   declare_constant(JavaThreadStatus::SLEEPING)                            \
1506   declare_constant(JavaThreadStatus::IN_OBJECT_WAIT)                      \
1507   declare_constant(JavaThreadStatus::IN_OBJECT_WAIT_TIMED)                \
1508   declare_constant(JavaThreadStatus::PARKED)                              \
1509   declare_constant(JavaThreadStatus::PARKED_TIMED)                        \
1510   declare_constant(JavaThreadStatus::BLOCKED_ON_MONITOR_ENTER)            \
1511   declare_constant(JavaThreadStatus::TERMINATED)                          \
1512                                                                           \
1513                                                                           \
1514   /******************************/                                        \
1515   /* FieldFlags enum            */                                        \
1516   /******************************/                                        \
1517                                                                           \
1518   declare_constant(FieldInfo::FieldFlags::_ff_initialized)                \
1519   declare_constant(FieldInfo::FieldFlags::_ff_injected)                   \
1520   declare_constant(FieldInfo::FieldFlags::_ff_generic)                    \
1521   declare_constant(FieldInfo::FieldFlags::_ff_stable)                     \
1522   declare_constant(FieldInfo::FieldFlags::_ff_contended)                  \



1523                                                                           \
1524   /******************************/                                        \
1525   /* Debug info                 */                                        \
1526   /******************************/                                        \
1527                                                                           \
1528   declare_constant(Location::OFFSET_MASK)                                 \
1529   declare_constant(Location::OFFSET_SHIFT)                                \
1530   declare_constant(Location::TYPE_MASK)                                   \
1531   declare_constant(Location::TYPE_SHIFT)                                  \
1532   declare_constant(Location::WHERE_MASK)                                  \
1533   declare_constant(Location::WHERE_SHIFT)                                 \
1534                                                                           \
1535   /* constants from Location::Type enum  */                               \
1536                                                                           \
1537   declare_constant(Location::normal)                                      \
1538   declare_constant(Location::oop)                                         \
1539   declare_constant(Location::narrowoop)                                   \
1540   declare_constant(Location::int_in_long)                                 \
1541   declare_constant(Location::lng)                                         \
1542   declare_constant(Location::float_in_dbl)                                \

2127       return 1;
2128     }
2129     os::free(s);
2130   }
2131   if (!isRecurse) {
2132     tty->print_cr("type \"%s\" not found", typeName);
2133   }
2134   return 0;
2135 }
2136 
2137 int VMStructs::findType(const char* typeName) {
2138   VMTypeEntry* types = gHotSpotVMTypes;
2139 
2140   return recursiveFindType(types, typeName, false);
2141 }
2142 
2143 void vmStructs_init() {
2144   VMStructs::init();
2145 }
2146 #endif // ASSERT


  43 #include "gc/shared/stringdedup/stringDedupThread.hpp"
  44 #include "gc/shared/vmStructs_gc.hpp"
  45 #include "interpreter/bytecodes.hpp"
  46 #include "interpreter/interpreter.hpp"
  47 #include "jfr/recorder/service/jfrRecorderThread.hpp"
  48 #include "logging/logAsyncWriter.hpp"
  49 #include "memory/allocation.inline.hpp"
  50 #include "memory/heap.hpp"
  51 #include "memory/padded.hpp"
  52 #include "memory/referenceType.hpp"
  53 #include "memory/universe.hpp"
  54 #include "memory/virtualspace.hpp"
  55 #include "oops/array.hpp"
  56 #include "oops/arrayKlass.hpp"
  57 #include "oops/arrayOop.hpp"
  58 #include "oops/bsmAttribute.hpp"
  59 #include "oops/constantPool.hpp"
  60 #include "oops/constMethod.hpp"
  61 #include "oops/cpCache.hpp"
  62 #include "oops/fieldInfo.hpp"
  63 #include "oops/flatArrayKlass.hpp"
  64 #include "oops/inlineKlass.hpp"
  65 #include "oops/instanceKlass.hpp"
  66 #include "oops/instanceOop.hpp"
  67 #include "oops/klass.hpp"
  68 #include "oops/klassVtable.hpp"
  69 #include "oops/markWord.hpp"
  70 #include "oops/method.hpp"
  71 #include "oops/methodCounters.hpp"
  72 #include "oops/methodData.hpp"
  73 #include "oops/objArrayKlass.hpp"
  74 #include "oops/objArrayOop.hpp"
  75 #include "oops/oop.inline.hpp"
  76 #include "oops/oopHandle.hpp"
  77 #include "oops/resolvedFieldEntry.hpp"
  78 #include "oops/resolvedIndyEntry.hpp"
  79 #include "oops/resolvedMethodEntry.hpp"
  80 #include "oops/symbol.hpp"
  81 #include "oops/typeArrayKlass.hpp"
  82 #include "oops/typeArrayOop.hpp"
  83 #include "prims/jvmtiAgentThread.hpp"
  84 #include "runtime/arguments.hpp"

 914   declare_unsigned_integer_type(uint32_t)                                 \
 915   declare_unsigned_integer_type(uint64_t)                                 \
 916                                                                           \
 917   /******************************************/                            \
 918   /* OopDesc hierarchy (NOTE: some missing) */                            \
 919   /******************************************/                            \
 920                                                                           \
 921   declare_toplevel_type(oopDesc)                                          \
 922     declare_type(arrayOopDesc, oopDesc)                                   \
 923       declare_type(objArrayOopDesc, arrayOopDesc)                         \
 924     declare_type(instanceOopDesc, oopDesc)                                \
 925                                                                           \
 926   /**************************************************/                    \
 927   /* MetadataOopDesc hierarchy (NOTE: some missing) */                    \
 928   /**************************************************/                    \
 929                                                                           \
 930   declare_toplevel_type(MetaspaceObj)                                     \
 931     declare_type(Metadata, MetaspaceObj)                                  \
 932     declare_type(Klass, Metadata)                                         \
 933            declare_type(ArrayKlass, Klass)                                \

 934            declare_type(TypeArrayKlass, ArrayKlass)                       \
 935            declare_type(ObjArrayKlass, ArrayKlass)                        \
 936              declare_type(FlatArrayKlass, ArrayKlass)                     \
 937              declare_type(RefArrayKlass, ArrayKlass)                      \
 938       declare_type(InstanceKlass, Klass)                                  \
 939         declare_type(InlineKlass, InstanceKlass)                          \
 940         declare_type(InstanceClassLoaderKlass, InstanceKlass)             \
 941         declare_type(InstanceMirrorKlass, InstanceKlass)                  \
 942         declare_type(InstanceRefKlass, InstanceKlass)                     \
 943         declare_type(InstanceStackChunkKlass, InstanceKlass)              \
 944     declare_type(ConstantPool, Metadata)                                  \
 945     declare_type(ConstantPoolCache, MetaspaceObj)                         \
 946     declare_type(MethodData, Metadata)                                    \
 947     declare_type(Method, Metadata)                                        \
 948     declare_type(MethodCounters, MetaspaceObj)                            \
 949     declare_type(ConstMethod, MetaspaceObj)                               \
 950     declare_type(Annotations, MetaspaceObj)                               \
 951                                                                           \
 952   declare_toplevel_type(narrowKlass)                                      \
 953                                                                           \
 954   declare_toplevel_type(vtableEntry)                                      \
 955                                                                           \
 956            declare_toplevel_type(Symbol)                                  \
 957            declare_toplevel_type(Symbol*)                                 \
 958   declare_toplevel_type(volatile Metadata*)                               \
 959                                                                           \

1397   declare_constant(OBJECT_WAIT)                                           \
1398   declare_constant(BREAKPOINTED)                                          \
1399   declare_constant(SLEEPING)                                              \
1400   declare_constant(ZOMBIE)                                                \
1401                                                                           \
1402   /******************************/                                        \
1403   /* Klass misc. enum constants */                                        \
1404   /******************************/                                        \
1405                                                                           \
1406   declare_constant(Klass::_primary_super_limit)                           \
1407   declare_constant(Klass::_lh_neutral_value)                              \
1408   declare_constant(Klass::_lh_instance_slow_path_bit)                     \
1409   declare_constant(Klass::_lh_log2_element_size_shift)                    \
1410   declare_constant(Klass::_lh_log2_element_size_mask)                     \
1411   declare_constant(Klass::_lh_element_type_shift)                         \
1412   declare_constant(Klass::_lh_element_type_mask)                          \
1413   declare_constant(Klass::_lh_header_size_shift)                          \
1414   declare_constant(Klass::_lh_header_size_mask)                           \
1415   declare_constant(Klass::_lh_array_tag_shift)                            \
1416   declare_constant(Klass::_lh_array_tag_type_value)                       \
1417   declare_constant(Klass::_lh_array_tag_ref_value)                        \
1418                                                                           \
1419   declare_constant(Method::nonvirtual_vtable_index)                       \
1420   declare_constant(Method::extra_stack_entries_for_jsr292)                \
1421                                                                           \
1422   /********************************/                                      \
1423   /* ConstMethod anon-enum */                                             \
1424   /********************************/                                      \
1425                                                                           \
1426   declare_constant(ConstMethodFlags::_misc_has_linenumber_table)          \
1427   declare_constant(ConstMethodFlags::_misc_has_checked_exceptions)        \
1428   declare_constant(ConstMethodFlags::_misc_has_localvariable_table)       \
1429   declare_constant(ConstMethodFlags::_misc_has_exception_table)           \
1430   declare_constant(ConstMethodFlags::_misc_has_generic_signature)         \
1431   declare_constant(ConstMethodFlags::_misc_has_method_parameters)         \
1432   declare_constant(ConstMethodFlags::_misc_has_method_annotations)        \
1433   declare_constant(ConstMethodFlags::_misc_has_parameter_annotations)     \
1434   declare_constant(ConstMethodFlags::_misc_has_default_annotations)       \
1435   declare_constant(ConstMethodFlags::_misc_has_type_annotations)          \
1436                                                                           \
1437   /**************/                                                        \

1508   declare_constant(JavaThreadStatus::NEW)                                 \
1509   declare_constant(JavaThreadStatus::RUNNABLE)                            \
1510   declare_constant(JavaThreadStatus::SLEEPING)                            \
1511   declare_constant(JavaThreadStatus::IN_OBJECT_WAIT)                      \
1512   declare_constant(JavaThreadStatus::IN_OBJECT_WAIT_TIMED)                \
1513   declare_constant(JavaThreadStatus::PARKED)                              \
1514   declare_constant(JavaThreadStatus::PARKED_TIMED)                        \
1515   declare_constant(JavaThreadStatus::BLOCKED_ON_MONITOR_ENTER)            \
1516   declare_constant(JavaThreadStatus::TERMINATED)                          \
1517                                                                           \
1518                                                                           \
1519   /******************************/                                        \
1520   /* FieldFlags enum            */                                        \
1521   /******************************/                                        \
1522                                                                           \
1523   declare_constant(FieldInfo::FieldFlags::_ff_initialized)                \
1524   declare_constant(FieldInfo::FieldFlags::_ff_injected)                   \
1525   declare_constant(FieldInfo::FieldFlags::_ff_generic)                    \
1526   declare_constant(FieldInfo::FieldFlags::_ff_stable)                     \
1527   declare_constant(FieldInfo::FieldFlags::_ff_contended)                  \
1528   declare_constant(FieldInfo::FieldFlags::_ff_null_free_inline_type)      \
1529   declare_constant(FieldInfo::FieldFlags::_ff_flat)                       \
1530   declare_constant(FieldInfo::FieldFlags::_ff_null_marker)                \
1531                                                                           \
1532   /******************************/                                        \
1533   /* Debug info                 */                                        \
1534   /******************************/                                        \
1535                                                                           \
1536   declare_constant(Location::OFFSET_MASK)                                 \
1537   declare_constant(Location::OFFSET_SHIFT)                                \
1538   declare_constant(Location::TYPE_MASK)                                   \
1539   declare_constant(Location::TYPE_SHIFT)                                  \
1540   declare_constant(Location::WHERE_MASK)                                  \
1541   declare_constant(Location::WHERE_SHIFT)                                 \
1542                                                                           \
1543   /* constants from Location::Type enum  */                               \
1544                                                                           \
1545   declare_constant(Location::normal)                                      \
1546   declare_constant(Location::oop)                                         \
1547   declare_constant(Location::narrowoop)                                   \
1548   declare_constant(Location::int_in_long)                                 \
1549   declare_constant(Location::lng)                                         \
1550   declare_constant(Location::float_in_dbl)                                \

2135       return 1;
2136     }
2137     os::free(s);
2138   }
2139   if (!isRecurse) {
2140     tty->print_cr("type \"%s\" not found", typeName);
2141   }
2142   return 0;
2143 }
2144 
2145 int VMStructs::findType(const char* typeName) {
2146   VMTypeEntry* types = gHotSpotVMTypes;
2147 
2148   return recursiveFindType(types, typeName, false);
2149 }
2150 
2151 void vmStructs_init() {
2152   VMStructs::init();
2153 }
2154 #endif // ASSERT
2155 
< prev index next >