66 #include "memory/virtualspace.hpp"
67 #include "oops/array.hpp"
68 #include "oops/arrayKlass.hpp"
69 #include "oops/arrayOop.hpp"
70 #include "oops/compiledICHolder.hpp"
71 #include "oops/constMethod.hpp"
72 #include "oops/constantPool.hpp"
73 #include "oops/cpCache.hpp"
74 #include "oops/instanceClassLoaderKlass.hpp"
75 #include "oops/instanceKlass.hpp"
76 #include "oops/instanceMirrorKlass.hpp"
77 #include "oops/instanceOop.hpp"
78 #include "oops/klass.hpp"
79 #include "oops/markOop.hpp"
80 #include "oops/method.hpp"
81 #include "oops/methodCounters.hpp"
82 #include "oops/methodData.hpp"
83 #include "oops/objArrayKlass.hpp"
84 #include "oops/objArrayOop.hpp"
85 #include "oops/oop.inline.hpp"
86 #include "oops/symbol.hpp"
87 #include "oops/typeArrayKlass.hpp"
88 #include "oops/typeArrayOop.hpp"
89 #include "prims/jvmtiAgentThread.hpp"
90 #include "runtime/arguments.hpp"
91 #include "runtime/deoptimization.hpp"
92 #include "runtime/globals.hpp"
93 #include "runtime/java.hpp"
94 #include "runtime/javaCalls.hpp"
95 #include "runtime/os.hpp"
96 #include "runtime/perfMemory.hpp"
97 #include "runtime/serviceThread.hpp"
98 #include "runtime/sharedRuntime.hpp"
99 #include "runtime/stubRoutines.hpp"
100 #include "runtime/thread.inline.hpp"
101 #include "runtime/vframeArray.hpp"
102 #include "runtime/vmStructs.hpp"
103 #include "utilities/globalDefinitions.hpp"
104 #include "utilities/hashtable.hpp"
105 #include "utilities/macros.hpp"
218 \
219 /******************************************************************/ \
220 /* OopDesc and Klass hierarchies (NOTE: MethodData* incomplete) */ \
221 /******************************************************************/ \
222 \
223 volatile_nonstatic_field(oopDesc, _mark, markOop) \
224 volatile_nonstatic_field(oopDesc, _metadata._klass, Klass*) \
225 volatile_nonstatic_field(oopDesc, _metadata._compressed_klass, narrowOop) \
226 static_field(oopDesc, _bs, BarrierSet*) \
227 nonstatic_field(ArrayKlass, _dimension, int) \
228 volatile_nonstatic_field(ArrayKlass, _higher_dimension, Klass*) \
229 volatile_nonstatic_field(ArrayKlass, _lower_dimension, Klass*) \
230 nonstatic_field(CompiledICHolder, _holder_method, Method*) \
231 nonstatic_field(CompiledICHolder, _holder_klass, Klass*) \
232 nonstatic_field(ConstantPool, _tags, Array<u1>*) \
233 nonstatic_field(ConstantPool, _cache, ConstantPoolCache*) \
234 nonstatic_field(ConstantPool, _pool_holder, InstanceKlass*) \
235 nonstatic_field(ConstantPool, _operands, Array<u2>*) \
236 nonstatic_field(ConstantPool, _resolved_klasses, Array<Klass*>*) \
237 nonstatic_field(ConstantPool, _length, int) \
238 nonstatic_field(ConstantPoolCache, _resolved_references, jobject) \
239 nonstatic_field(ConstantPoolCache, _reference_map, Array<u2>*) \
240 nonstatic_field(ConstantPoolCache, _length, int) \
241 nonstatic_field(ConstantPoolCache, _constant_pool, ConstantPool*) \
242 volatile_nonstatic_field(InstanceKlass, _array_klasses, Klass*) \
243 nonstatic_field(InstanceKlass, _methods, Array<Method*>*) \
244 nonstatic_field(InstanceKlass, _default_methods, Array<Method*>*) \
245 nonstatic_field(InstanceKlass, _local_interfaces, Array<Klass*>*) \
246 nonstatic_field(InstanceKlass, _transitive_interfaces, Array<Klass*>*) \
247 nonstatic_field(InstanceKlass, _fields, Array<u2>*) \
248 nonstatic_field(InstanceKlass, _java_fields_count, u2) \
249 nonstatic_field(InstanceKlass, _constants, ConstantPool*) \
250 nonstatic_field(InstanceKlass, _source_file_name_index, u2) \
251 nonstatic_field(InstanceKlass, _source_debug_extension, const char*) \
252 nonstatic_field(InstanceKlass, _inner_classes, Array<jushort>*) \
253 nonstatic_field(InstanceKlass, _nonstatic_field_size, int) \
254 nonstatic_field(InstanceKlass, _static_field_size, int) \
255 nonstatic_field(InstanceKlass, _static_oop_field_count, u2) \
256 nonstatic_field(InstanceKlass, _nonstatic_oop_map_size, int) \
257 nonstatic_field(InstanceKlass, _is_marked_dependent, bool) \
258 nonstatic_field(InstanceKlass, _misc_flags, u2) \
1433 \
1434 declare_toplevel_type(narrowKlass) \
1435 \
1436 declare_toplevel_type(vtableEntry) \
1437 \
1438 declare_toplevel_type(Symbol) \
1439 declare_toplevel_type(Symbol*) \
1440 declare_toplevel_type(volatile Metadata*) \
1441 \
1442 declare_toplevel_type(DataLayout) \
1443 \
1444 /********/ \
1445 /* Oops */ \
1446 /********/ \
1447 \
1448 declare_oop_type(markOop) \
1449 declare_oop_type(objArrayOop) \
1450 declare_oop_type(oop) \
1451 declare_oop_type(narrowOop) \
1452 declare_oop_type(typeArrayOop) \
1453 \
1454 /*************************************/ \
1455 /* MethodOop-related data structures */ \
1456 /*************************************/ \
1457 \
1458 declare_toplevel_type(CheckedExceptionElement) \
1459 declare_toplevel_type(LocalVariableTableElement) \
1460 declare_toplevel_type(ExceptionTableElement) \
1461 declare_toplevel_type(MethodParametersElement) \
1462 \
1463 declare_toplevel_type(ClassLoaderData) \
1464 declare_toplevel_type(ClassLoaderDataGraph) \
1465 \
1466 /******************************************/ \
1467 /* Generation and space hierarchies */ \
1468 /* (needed for run-time type information) */ \
1469 /******************************************/ \
1470 \
1471 declare_toplevel_type(CollectedHeap) \
1472 declare_type(GenCollectedHeap, CollectedHeap) \
|
66 #include "memory/virtualspace.hpp"
67 #include "oops/array.hpp"
68 #include "oops/arrayKlass.hpp"
69 #include "oops/arrayOop.hpp"
70 #include "oops/compiledICHolder.hpp"
71 #include "oops/constMethod.hpp"
72 #include "oops/constantPool.hpp"
73 #include "oops/cpCache.hpp"
74 #include "oops/instanceClassLoaderKlass.hpp"
75 #include "oops/instanceKlass.hpp"
76 #include "oops/instanceMirrorKlass.hpp"
77 #include "oops/instanceOop.hpp"
78 #include "oops/klass.hpp"
79 #include "oops/markOop.hpp"
80 #include "oops/method.hpp"
81 #include "oops/methodCounters.hpp"
82 #include "oops/methodData.hpp"
83 #include "oops/objArrayKlass.hpp"
84 #include "oops/objArrayOop.hpp"
85 #include "oops/oop.inline.hpp"
86 #include "oops/oopHandle.hpp"
87 #include "oops/symbol.hpp"
88 #include "oops/typeArrayKlass.hpp"
89 #include "oops/typeArrayOop.hpp"
90 #include "prims/jvmtiAgentThread.hpp"
91 #include "runtime/arguments.hpp"
92 #include "runtime/deoptimization.hpp"
93 #include "runtime/globals.hpp"
94 #include "runtime/java.hpp"
95 #include "runtime/javaCalls.hpp"
96 #include "runtime/os.hpp"
97 #include "runtime/perfMemory.hpp"
98 #include "runtime/serviceThread.hpp"
99 #include "runtime/sharedRuntime.hpp"
100 #include "runtime/stubRoutines.hpp"
101 #include "runtime/thread.inline.hpp"
102 #include "runtime/vframeArray.hpp"
103 #include "runtime/vmStructs.hpp"
104 #include "utilities/globalDefinitions.hpp"
105 #include "utilities/hashtable.hpp"
106 #include "utilities/macros.hpp"
219 \
220 /******************************************************************/ \
221 /* OopDesc and Klass hierarchies (NOTE: MethodData* incomplete) */ \
222 /******************************************************************/ \
223 \
224 volatile_nonstatic_field(oopDesc, _mark, markOop) \
225 volatile_nonstatic_field(oopDesc, _metadata._klass, Klass*) \
226 volatile_nonstatic_field(oopDesc, _metadata._compressed_klass, narrowOop) \
227 static_field(oopDesc, _bs, BarrierSet*) \
228 nonstatic_field(ArrayKlass, _dimension, int) \
229 volatile_nonstatic_field(ArrayKlass, _higher_dimension, Klass*) \
230 volatile_nonstatic_field(ArrayKlass, _lower_dimension, Klass*) \
231 nonstatic_field(CompiledICHolder, _holder_method, Method*) \
232 nonstatic_field(CompiledICHolder, _holder_klass, Klass*) \
233 nonstatic_field(ConstantPool, _tags, Array<u1>*) \
234 nonstatic_field(ConstantPool, _cache, ConstantPoolCache*) \
235 nonstatic_field(ConstantPool, _pool_holder, InstanceKlass*) \
236 nonstatic_field(ConstantPool, _operands, Array<u2>*) \
237 nonstatic_field(ConstantPool, _resolved_klasses, Array<Klass*>*) \
238 nonstatic_field(ConstantPool, _length, int) \
239 nonstatic_field(ConstantPoolCache, _resolved_references, OopHandle) \
240 nonstatic_field(ConstantPoolCache, _reference_map, Array<u2>*) \
241 nonstatic_field(ConstantPoolCache, _length, int) \
242 nonstatic_field(ConstantPoolCache, _constant_pool, ConstantPool*) \
243 volatile_nonstatic_field(InstanceKlass, _array_klasses, Klass*) \
244 nonstatic_field(InstanceKlass, _methods, Array<Method*>*) \
245 nonstatic_field(InstanceKlass, _default_methods, Array<Method*>*) \
246 nonstatic_field(InstanceKlass, _local_interfaces, Array<Klass*>*) \
247 nonstatic_field(InstanceKlass, _transitive_interfaces, Array<Klass*>*) \
248 nonstatic_field(InstanceKlass, _fields, Array<u2>*) \
249 nonstatic_field(InstanceKlass, _java_fields_count, u2) \
250 nonstatic_field(InstanceKlass, _constants, ConstantPool*) \
251 nonstatic_field(InstanceKlass, _source_file_name_index, u2) \
252 nonstatic_field(InstanceKlass, _source_debug_extension, const char*) \
253 nonstatic_field(InstanceKlass, _inner_classes, Array<jushort>*) \
254 nonstatic_field(InstanceKlass, _nonstatic_field_size, int) \
255 nonstatic_field(InstanceKlass, _static_field_size, int) \
256 nonstatic_field(InstanceKlass, _static_oop_field_count, u2) \
257 nonstatic_field(InstanceKlass, _nonstatic_oop_map_size, int) \
258 nonstatic_field(InstanceKlass, _is_marked_dependent, bool) \
259 nonstatic_field(InstanceKlass, _misc_flags, u2) \
1434 \
1435 declare_toplevel_type(narrowKlass) \
1436 \
1437 declare_toplevel_type(vtableEntry) \
1438 \
1439 declare_toplevel_type(Symbol) \
1440 declare_toplevel_type(Symbol*) \
1441 declare_toplevel_type(volatile Metadata*) \
1442 \
1443 declare_toplevel_type(DataLayout) \
1444 \
1445 /********/ \
1446 /* Oops */ \
1447 /********/ \
1448 \
1449 declare_oop_type(markOop) \
1450 declare_oop_type(objArrayOop) \
1451 declare_oop_type(oop) \
1452 declare_oop_type(narrowOop) \
1453 declare_oop_type(typeArrayOop) \
1454 declare_oop_type(OopHandle) \
1455 \
1456 /*************************************/ \
1457 /* MethodOop-related data structures */ \
1458 /*************************************/ \
1459 \
1460 declare_toplevel_type(CheckedExceptionElement) \
1461 declare_toplevel_type(LocalVariableTableElement) \
1462 declare_toplevel_type(ExceptionTableElement) \
1463 declare_toplevel_type(MethodParametersElement) \
1464 \
1465 declare_toplevel_type(ClassLoaderData) \
1466 declare_toplevel_type(ClassLoaderDataGraph) \
1467 \
1468 /******************************************/ \
1469 /* Generation and space hierarchies */ \
1470 /* (needed for run-time type information) */ \
1471 /******************************************/ \
1472 \
1473 declare_toplevel_type(CollectedHeap) \
1474 declare_type(GenCollectedHeap, CollectedHeap) \
|