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
|