39 #include "code/compressedStream.hpp"
40 #include "code/location.hpp"
41 #include "code/nmethod.hpp"
42 #include "code/pcDesc.hpp"
43 #include "code/stubs.hpp"
44 #include "code/vmreg.hpp"
45 #include "compiler/compileBroker.hpp"
46 #include "compiler/oopMap.hpp"
47 #include "gc/shared/vmStructs_gc.hpp"
48 #include "interpreter/bytecodeInterpreter.hpp"
49 #include "interpreter/bytecodes.hpp"
50 #include "interpreter/interpreter.hpp"
51 #include "memory/allocation.hpp"
52 #include "memory/allocation.inline.hpp"
53 #include "memory/heap.hpp"
54 #include "memory/metachunk.hpp"
55 #include "memory/padded.hpp"
56 #include "memory/referenceType.hpp"
57 #include "memory/universe.hpp"
58 #include "memory/virtualspace.hpp"
59 #include "oops/array.hpp"
60 #include "oops/arrayKlass.hpp"
61 #include "oops/arrayOop.hpp"
62 #include "oops/compiledICHolder.hpp"
63 #include "oops/constMethod.hpp"
64 #include "oops/constantPool.hpp"
65 #include "oops/cpCache.hpp"
66 #include "oops/instanceClassLoaderKlass.hpp"
67 #include "oops/instanceKlass.hpp"
68 #include "oops/instanceMirrorKlass.hpp"
69 #include "oops/instanceOop.hpp"
70 #include "oops/klass.hpp"
71 #include "oops/markOop.hpp"
72 #include "oops/method.hpp"
73 #include "oops/methodCounters.hpp"
74 #include "oops/methodData.hpp"
75 #include "oops/objArrayKlass.hpp"
76 #include "oops/objArrayOop.hpp"
77 #include "oops/oop.inline.hpp"
78 #include "oops/oopHandle.hpp"
1101 /************/ \
1102 /* Array<T> */ \
1103 /************/ \
1104 \
1105 nonstatic_field(Array<int>, _length, int) \
1106 unchecked_nonstatic_field(Array<int>, _data, sizeof(int)) \
1107 unchecked_nonstatic_field(Array<u1>, _data, sizeof(u1)) \
1108 unchecked_nonstatic_field(Array<u2>, _data, sizeof(u2)) \
1109 unchecked_nonstatic_field(Array<Method*>, _data, sizeof(Method*)) \
1110 unchecked_nonstatic_field(Array<Klass*>, _data, sizeof(Klass*)) \
1111 \
1112 /*********************************/ \
1113 /* java_lang_Class fields */ \
1114 /*********************************/ \
1115 \
1116 static_field(java_lang_Class, _klass_offset, int) \
1117 static_field(java_lang_Class, _array_klass_offset, int) \
1118 static_field(java_lang_Class, _oop_size_offset, int) \
1119 static_field(java_lang_Class, _static_oop_field_count_offset, int) \
1120 \
1121 /******************/ \
1122 /* VMError fields */ \
1123 /******************/ \
1124 \
1125 static_field(VMError, _thread, Thread*) \
1126 \
1127 /************************/ \
1128 /* Miscellaneous fields */ \
1129 /************************/ \
1130 \
1131 nonstatic_field(CompileTask, _method, Method*) \
1132 nonstatic_field(CompileTask, _osr_bci, int) \
1133 nonstatic_field(CompileTask, _comp_level, int) \
1134 nonstatic_field(CompileTask, _compile_id, uint) \
1135 nonstatic_field(CompileTask, _num_inlined_bytecodes, int) \
1136 nonstatic_field(CompileTask, _next, CompileTask*) \
1137 nonstatic_field(CompileTask, _prev, CompileTask*) \
1138 \
1139 nonstatic_field(vframeArray, _next, vframeArray*) \
1140 nonstatic_field(vframeArray, _original, frame) \
1980 declare_toplevel_type(Mutex*) \
1981 declare_toplevel_type(nmethod*) \
1982 COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t)) \
1983 declare_toplevel_type(ObjectMonitor*) \
1984 declare_toplevel_type(PaddedObjectMonitor*) \
1985 declare_toplevel_type(oop*) \
1986 declare_toplevel_type(OopMap**) \
1987 declare_toplevel_type(OopMapCache*) \
1988 declare_toplevel_type(OopMapSet*) \
1989 declare_toplevel_type(VMReg) \
1990 declare_toplevel_type(OSThread*) \
1991 declare_integer_type(ReferenceType) \
1992 declare_toplevel_type(StubQueue*) \
1993 declare_toplevel_type(Thread*) \
1994 declare_toplevel_type(Universe) \
1995 declare_toplevel_type(os) \
1996 declare_toplevel_type(vframeArray) \
1997 declare_toplevel_type(vframeArrayElement) \
1998 declare_toplevel_type(Annotations*) \
1999 declare_type(OopMapValue, StackObj) \
2000 \
2001 /************/ \
2002 /* GC types */ \
2003 /************/ \
2004 \
2005 VM_TYPES_GC(declare_type, \
2006 declare_toplevel_type, \
2007 declare_integer_type)
2008
2009 //--------------------------------------------------------------------------------
2010 // VM_INT_CONSTANTS
2011 //
2012 // This table contains integer constants required over in the
2013 // serviceability agent. The "declare_constant" macro is used for all
2014 // enums, etc., while "declare_preprocessor_constant" must be used for
2015 // all #defined constants.
2016
2017 #define VM_INT_CONSTANTS(declare_constant, \
2018 declare_constant_with_value, \
2019 declare_preprocessor_constant, \
|
39 #include "code/compressedStream.hpp"
40 #include "code/location.hpp"
41 #include "code/nmethod.hpp"
42 #include "code/pcDesc.hpp"
43 #include "code/stubs.hpp"
44 #include "code/vmreg.hpp"
45 #include "compiler/compileBroker.hpp"
46 #include "compiler/oopMap.hpp"
47 #include "gc/shared/vmStructs_gc.hpp"
48 #include "interpreter/bytecodeInterpreter.hpp"
49 #include "interpreter/bytecodes.hpp"
50 #include "interpreter/interpreter.hpp"
51 #include "memory/allocation.hpp"
52 #include "memory/allocation.inline.hpp"
53 #include "memory/heap.hpp"
54 #include "memory/metachunk.hpp"
55 #include "memory/padded.hpp"
56 #include "memory/referenceType.hpp"
57 #include "memory/universe.hpp"
58 #include "memory/virtualspace.hpp"
59 #include "memory/filemap.hpp"
60 #include "oops/array.hpp"
61 #include "oops/arrayKlass.hpp"
62 #include "oops/arrayOop.hpp"
63 #include "oops/compiledICHolder.hpp"
64 #include "oops/constMethod.hpp"
65 #include "oops/constantPool.hpp"
66 #include "oops/cpCache.hpp"
67 #include "oops/instanceClassLoaderKlass.hpp"
68 #include "oops/instanceKlass.hpp"
69 #include "oops/instanceMirrorKlass.hpp"
70 #include "oops/instanceOop.hpp"
71 #include "oops/klass.hpp"
72 #include "oops/markOop.hpp"
73 #include "oops/method.hpp"
74 #include "oops/methodCounters.hpp"
75 #include "oops/methodData.hpp"
76 #include "oops/objArrayKlass.hpp"
77 #include "oops/objArrayOop.hpp"
78 #include "oops/oop.inline.hpp"
79 #include "oops/oopHandle.hpp"
1102 /************/ \
1103 /* Array<T> */ \
1104 /************/ \
1105 \
1106 nonstatic_field(Array<int>, _length, int) \
1107 unchecked_nonstatic_field(Array<int>, _data, sizeof(int)) \
1108 unchecked_nonstatic_field(Array<u1>, _data, sizeof(u1)) \
1109 unchecked_nonstatic_field(Array<u2>, _data, sizeof(u2)) \
1110 unchecked_nonstatic_field(Array<Method*>, _data, sizeof(Method*)) \
1111 unchecked_nonstatic_field(Array<Klass*>, _data, sizeof(Klass*)) \
1112 \
1113 /*********************************/ \
1114 /* java_lang_Class fields */ \
1115 /*********************************/ \
1116 \
1117 static_field(java_lang_Class, _klass_offset, int) \
1118 static_field(java_lang_Class, _array_klass_offset, int) \
1119 static_field(java_lang_Class, _oop_size_offset, int) \
1120 static_field(java_lang_Class, _static_oop_field_count_offset, int) \
1121 \
1122 /********************************************/ \
1123 /* FileMapInfo fields (CDS archive related) */ \
1124 /********************************************/ \
1125 \
1126 nonstatic_field(FileMapInfo, _header, FileMapInfo::FileMapHeader*) \
1127 static_field(FileMapInfo, _current_info, FileMapInfo*) \
1128 nonstatic_field(FileMapInfo::FileMapHeader, _space[0], FileMapInfo::FileMapHeader::space_info)\
1129 nonstatic_field(FileMapInfo::FileMapHeader::space_info, _addr._base, char*) \
1130 nonstatic_field(FileMapInfo::FileMapHeader::space_info, _used, size_t) \
1131 \
1132 /******************/ \
1133 /* VMError fields */ \
1134 /******************/ \
1135 \
1136 static_field(VMError, _thread, Thread*) \
1137 \
1138 /************************/ \
1139 /* Miscellaneous fields */ \
1140 /************************/ \
1141 \
1142 nonstatic_field(CompileTask, _method, Method*) \
1143 nonstatic_field(CompileTask, _osr_bci, int) \
1144 nonstatic_field(CompileTask, _comp_level, int) \
1145 nonstatic_field(CompileTask, _compile_id, uint) \
1146 nonstatic_field(CompileTask, _num_inlined_bytecodes, int) \
1147 nonstatic_field(CompileTask, _next, CompileTask*) \
1148 nonstatic_field(CompileTask, _prev, CompileTask*) \
1149 \
1150 nonstatic_field(vframeArray, _next, vframeArray*) \
1151 nonstatic_field(vframeArray, _original, frame) \
1991 declare_toplevel_type(Mutex*) \
1992 declare_toplevel_type(nmethod*) \
1993 COMPILER2_PRESENT(declare_unsigned_integer_type(node_idx_t)) \
1994 declare_toplevel_type(ObjectMonitor*) \
1995 declare_toplevel_type(PaddedObjectMonitor*) \
1996 declare_toplevel_type(oop*) \
1997 declare_toplevel_type(OopMap**) \
1998 declare_toplevel_type(OopMapCache*) \
1999 declare_toplevel_type(OopMapSet*) \
2000 declare_toplevel_type(VMReg) \
2001 declare_toplevel_type(OSThread*) \
2002 declare_integer_type(ReferenceType) \
2003 declare_toplevel_type(StubQueue*) \
2004 declare_toplevel_type(Thread*) \
2005 declare_toplevel_type(Universe) \
2006 declare_toplevel_type(os) \
2007 declare_toplevel_type(vframeArray) \
2008 declare_toplevel_type(vframeArrayElement) \
2009 declare_toplevel_type(Annotations*) \
2010 declare_type(OopMapValue, StackObj) \
2011 declare_type(FileMapInfo, CHeapObj<mtInternal>) \
2012 declare_type(FileMapInfo::FileMapHeaderBase, CHeapObj<mtClass>) \
2013 declare_type(FileMapInfo::FileMapHeader, FileMapInfo::FileMapHeaderBase)\
2014 declare_toplevel_type(FileMapInfo::FileMapHeader::space_info) \
2015 \
2016 /************/ \
2017 /* GC types */ \
2018 /************/ \
2019 \
2020 VM_TYPES_GC(declare_type, \
2021 declare_toplevel_type, \
2022 declare_integer_type)
2023
2024 //--------------------------------------------------------------------------------
2025 // VM_INT_CONSTANTS
2026 //
2027 // This table contains integer constants required over in the
2028 // serviceability agent. The "declare_constant" macro is used for all
2029 // enums, etc., while "declare_preprocessor_constant" must be used for
2030 // all #defined constants.
2031
2032 #define VM_INT_CONSTANTS(declare_constant, \
2033 declare_constant_with_value, \
2034 declare_preprocessor_constant, \
|