Mercurial > hg > truffle
comparison src/share/vm/runtime/vmStructs.cpp @ 6725:da91efe96a93
6964458: Reimplement class meta-data storage to use native memory
Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author | coleenp |
---|---|
date | Sat, 01 Sep 2012 13:25:18 -0400 |
parents | a9fed06c01d2 |
children | aed758eda82a |
comparison
equal
deleted
inserted
replaced
6724:36d1d483d5d6 | 6725:da91efe96a93 |
---|---|
49 #include "gc_implementation/shared/mutableSpace.hpp" | 49 #include "gc_implementation/shared/mutableSpace.hpp" |
50 #include "gc_interface/collectedHeap.hpp" | 50 #include "gc_interface/collectedHeap.hpp" |
51 #include "interpreter/bytecodeInterpreter.hpp" | 51 #include "interpreter/bytecodeInterpreter.hpp" |
52 #include "interpreter/bytecodes.hpp" | 52 #include "interpreter/bytecodes.hpp" |
53 #include "interpreter/interpreter.hpp" | 53 #include "interpreter/interpreter.hpp" |
54 #include "memory/allocation.hpp" | |
54 #include "memory/cardTableRS.hpp" | 55 #include "memory/cardTableRS.hpp" |
55 #include "memory/compactPermGen.hpp" | |
56 #include "memory/defNewGeneration.hpp" | 56 #include "memory/defNewGeneration.hpp" |
57 #include "memory/freeBlockDictionary.hpp" | 57 #include "memory/freeBlockDictionary.hpp" |
58 #include "memory/genCollectedHeap.hpp" | 58 #include "memory/genCollectedHeap.hpp" |
59 #include "memory/generation.hpp" | 59 #include "memory/generation.hpp" |
60 #include "memory/generationSpec.hpp" | 60 #include "memory/generationSpec.hpp" |
61 #include "memory/heap.hpp" | 61 #include "memory/heap.hpp" |
62 #include "memory/permGen.hpp" | |
63 #include "memory/space.hpp" | 62 #include "memory/space.hpp" |
64 #include "memory/tenuredGeneration.hpp" | 63 #include "memory/tenuredGeneration.hpp" |
65 #include "memory/universe.hpp" | 64 #include "memory/universe.hpp" |
66 #include "memory/watermark.hpp" | 65 #include "memory/watermark.hpp" |
67 #include "oops/arrayKlass.hpp" | 66 #include "oops/arrayKlass.hpp" |
68 #include "oops/arrayKlassKlass.hpp" | |
69 #include "oops/arrayOop.hpp" | 67 #include "oops/arrayOop.hpp" |
70 #include "oops/compiledICHolderKlass.hpp" | 68 #include "oops/compiledICHolder.hpp" |
71 #include "oops/compiledICHolderOop.hpp" | 69 #include "oops/constMethod.hpp" |
72 #include "oops/constMethodKlass.hpp" | 70 #include "oops/constantPool.hpp" |
73 #include "oops/constMethodOop.hpp" | 71 #include "oops/cpCache.hpp" |
74 #include "oops/constantPoolKlass.hpp" | 72 #include "oops/instanceClassLoaderKlass.hpp" |
75 #include "oops/constantPoolOop.hpp" | |
76 #include "oops/cpCacheKlass.hpp" | |
77 #include "oops/cpCacheOop.hpp" | |
78 #include "oops/instanceKlass.hpp" | 73 #include "oops/instanceKlass.hpp" |
79 #include "oops/instanceMirrorKlass.hpp" | 74 #include "oops/instanceMirrorKlass.hpp" |
80 #include "oops/instanceKlassKlass.hpp" | |
81 #include "oops/instanceOop.hpp" | 75 #include "oops/instanceOop.hpp" |
82 #include "oops/klass.hpp" | 76 #include "oops/klass.hpp" |
83 #include "oops/klassOop.hpp" | |
84 #include "oops/markOop.hpp" | 77 #include "oops/markOop.hpp" |
85 #include "oops/methodDataKlass.hpp" | 78 #include "oops/methodData.hpp" |
86 #include "oops/methodDataOop.hpp" | 79 #include "oops/method.hpp" |
87 #include "oops/methodKlass.hpp" | |
88 #include "oops/methodOop.hpp" | |
89 #include "oops/objArrayKlass.hpp" | 80 #include "oops/objArrayKlass.hpp" |
90 #include "oops/objArrayKlassKlass.hpp" | |
91 #include "oops/objArrayOop.hpp" | 81 #include "oops/objArrayOop.hpp" |
92 #include "oops/oop.inline.hpp" | 82 #include "oops/oop.inline.hpp" |
93 #include "oops/symbol.hpp" | 83 #include "oops/symbol.hpp" |
94 #include "oops/typeArrayKlass.hpp" | 84 #include "oops/typeArrayKlass.hpp" |
95 #include "oops/typeArrayKlassKlass.hpp" | |
96 #include "oops/typeArrayOop.hpp" | 85 #include "oops/typeArrayOop.hpp" |
97 #include "prims/jvmtiAgentThread.hpp" | 86 #include "prims/jvmtiAgentThread.hpp" |
98 #include "runtime/arguments.hpp" | 87 #include "runtime/arguments.hpp" |
99 #include "runtime/deoptimization.hpp" | 88 #include "runtime/deoptimization.hpp" |
100 #include "runtime/vframeArray.hpp" | 89 #include "runtime/vframeArray.hpp" |
105 #include "runtime/serviceThread.hpp" | 94 #include "runtime/serviceThread.hpp" |
106 #include "runtime/sharedRuntime.hpp" | 95 #include "runtime/sharedRuntime.hpp" |
107 #include "runtime/stubRoutines.hpp" | 96 #include "runtime/stubRoutines.hpp" |
108 #include "runtime/virtualspace.hpp" | 97 #include "runtime/virtualspace.hpp" |
109 #include "runtime/vmStructs.hpp" | 98 #include "runtime/vmStructs.hpp" |
99 #include "utilities/array.hpp" | |
110 #include "utilities/globalDefinitions.hpp" | 100 #include "utilities/globalDefinitions.hpp" |
111 #include "utilities/hashtable.hpp" | 101 #include "utilities/hashtable.hpp" |
112 #ifdef TARGET_ARCH_x86 | 102 #ifdef TARGET_ARCH_x86 |
113 # include "vmStructs_x86.hpp" | 103 # include "vmStructs_x86.hpp" |
114 #endif | 104 #endif |
165 #endif | 155 #endif |
166 #ifdef TARGET_OS_ARCH_bsd_zero | 156 #ifdef TARGET_OS_ARCH_bsd_zero |
167 # include "vmStructs_bsd_zero.hpp" | 157 # include "vmStructs_bsd_zero.hpp" |
168 #endif | 158 #endif |
169 #ifndef SERIALGC | 159 #ifndef SERIALGC |
170 #include "gc_implementation/concurrentMarkSweep/cmsPermGen.hpp" | |
171 #include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp" | 160 #include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp" |
172 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp" | 161 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp" |
173 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp" | 162 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp" |
174 #include "gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp" | 163 #include "gc_implementation/concurrentMarkSweep/vmStructs_cms.hpp" |
175 #include "gc_implementation/parNew/parNewGeneration.hpp" | 164 #include "gc_implementation/parNew/parNewGeneration.hpp" |
176 #include "gc_implementation/parNew/vmStructs_parNew.hpp" | 165 #include "gc_implementation/parNew/vmStructs_parNew.hpp" |
177 #include "gc_implementation/parallelScavenge/asPSOldGen.hpp" | 166 #include "gc_implementation/parallelScavenge/asPSOldGen.hpp" |
178 #include "gc_implementation/parallelScavenge/asPSYoungGen.hpp" | 167 #include "gc_implementation/parallelScavenge/asPSYoungGen.hpp" |
179 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp" | 168 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp" |
180 #include "gc_implementation/parallelScavenge/psOldGen.hpp" | 169 #include "gc_implementation/parallelScavenge/psOldGen.hpp" |
181 #include "gc_implementation/parallelScavenge/psPermGen.hpp" | |
182 #include "gc_implementation/parallelScavenge/psVirtualspace.hpp" | 170 #include "gc_implementation/parallelScavenge/psVirtualspace.hpp" |
183 #include "gc_implementation/parallelScavenge/psYoungGen.hpp" | 171 #include "gc_implementation/parallelScavenge/psYoungGen.hpp" |
184 #include "gc_implementation/parallelScavenge/vmStructs_parallelgc.hpp" | 172 #include "gc_implementation/parallelScavenge/vmStructs_parallelgc.hpp" |
185 #include "gc_implementation/g1/vmStructs_g1.hpp" | 173 #include "gc_implementation/g1/vmStructs_g1.hpp" |
186 #endif | 174 #endif |
246 typedef HashtableEntry<intptr_t, mtInternal> IntptrHashtableEntry; | 234 typedef HashtableEntry<intptr_t, mtInternal> IntptrHashtableEntry; |
247 typedef Hashtable<intptr_t, mtInternal> IntptrHashtable; | 235 typedef Hashtable<intptr_t, mtInternal> IntptrHashtable; |
248 typedef Hashtable<Symbol*, mtSymbol> SymbolHashtable; | 236 typedef Hashtable<Symbol*, mtSymbol> SymbolHashtable; |
249 typedef HashtableEntry<Symbol*, mtClass> SymbolHashtableEntry; | 237 typedef HashtableEntry<Symbol*, mtClass> SymbolHashtableEntry; |
250 typedef Hashtable<oop, mtSymbol> StringHashtable; | 238 typedef Hashtable<oop, mtSymbol> StringHashtable; |
251 typedef TwoOopHashtable<klassOop, mtClass> klassOopTwoOopHashtable; | 239 typedef TwoOopHashtable<Klass*, mtClass> KlassTwoOopHashtable; |
252 typedef Hashtable<klassOop, mtClass> klassOopHashtable; | 240 typedef Hashtable<Klass*, mtClass> KlassHashtable; |
253 typedef HashtableEntry<klassOop, mtClass> klassHashtableEntry; | 241 typedef HashtableEntry<Klass*, mtClass> KlassHashtableEntry; |
254 typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable; | 242 typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable; |
255 | 243 |
256 //-------------------------------------------------------------------------------- | 244 //-------------------------------------------------------------------------------- |
257 // VM_STRUCTS | 245 // VM_STRUCTS |
258 // | 246 // |
271 unchecked_c1_static_field, \ | 259 unchecked_c1_static_field, \ |
272 unchecked_c2_static_field, \ | 260 unchecked_c2_static_field, \ |
273 last_entry) \ | 261 last_entry) \ |
274 \ | 262 \ |
275 /******************************************************************/ \ | 263 /******************************************************************/ \ |
276 /* OopDesc and Klass hierarchies (NOTE: methodDataOop incomplete) */ \ | 264 /* OopDesc and Klass hierarchies (NOTE: MethodData* incomplete) */ \ |
277 /******************************************************************/ \ | 265 /******************************************************************/ \ |
278 \ | 266 \ |
279 volatile_nonstatic_field(oopDesc, _mark, markOop) \ | 267 volatile_nonstatic_field(oopDesc, _mark, markOop) \ |
280 volatile_nonstatic_field(oopDesc, _metadata._klass, wideKlassOop) \ | 268 volatile_nonstatic_field(oopDesc, _metadata._klass, Klass*) \ |
281 volatile_nonstatic_field(oopDesc, _metadata._compressed_klass, narrowOop) \ | 269 volatile_nonstatic_field(oopDesc, _metadata._compressed_klass, narrowOop) \ |
282 static_field(oopDesc, _bs, BarrierSet*) \ | 270 static_field(oopDesc, _bs, BarrierSet*) \ |
283 nonstatic_field(arrayKlass, _dimension, int) \ | 271 nonstatic_field(arrayKlass, _dimension, int) \ |
284 volatile_nonstatic_field(arrayKlass, _higher_dimension, klassOop) \ | 272 volatile_nonstatic_field(arrayKlass, _higher_dimension, Klass*) \ |
285 volatile_nonstatic_field(arrayKlass, _lower_dimension, klassOop) \ | 273 volatile_nonstatic_field(arrayKlass, _lower_dimension, Klass*) \ |
286 nonstatic_field(arrayKlass, _vtable_len, int) \ | 274 nonstatic_field(arrayKlass, _vtable_len, int) \ |
287 nonstatic_field(arrayKlass, _alloc_size, juint) \ | 275 nonstatic_field(arrayKlass, _alloc_size, juint) \ |
288 nonstatic_field(arrayKlass, _component_mirror, oop) \ | 276 nonstatic_field(arrayKlass, _component_mirror, oop) \ |
289 nonstatic_field(compiledICHolderKlass, _alloc_size, juint) \ | 277 nonstatic_field(CompiledICHolder, _holder_method, Method*) \ |
290 nonstatic_field(compiledICHolderOopDesc, _holder_method, methodOop) \ | 278 nonstatic_field(CompiledICHolder, _holder_klass, Klass*) \ |
291 nonstatic_field(compiledICHolderOopDesc, _holder_klass, klassOop) \ | 279 nonstatic_field(ConstantPool, _tags, Array<u1>*) \ |
292 nonstatic_field(constantPoolOopDesc, _tags, typeArrayOop) \ | 280 nonstatic_field(ConstantPool, _cache, ConstantPoolCache*) \ |
293 nonstatic_field(constantPoolOopDesc, _cache, constantPoolCacheOop) \ | 281 nonstatic_field(ConstantPool, _pool_holder, Klass*) \ |
294 nonstatic_field(constantPoolOopDesc, _pool_holder, klassOop) \ | 282 nonstatic_field(ConstantPool, _operands, Array<u2>*) \ |
295 nonstatic_field(constantPoolOopDesc, _operands, typeArrayOop) \ | 283 nonstatic_field(ConstantPool, _length, int) \ |
296 nonstatic_field(constantPoolOopDesc, _length, int) \ | 284 nonstatic_field(ConstantPool, _resolved_references, jobject) \ |
297 nonstatic_field(constantPoolCacheOopDesc, _length, int) \ | 285 nonstatic_field(ConstantPool, _reference_map, Array<u2>*) \ |
298 nonstatic_field(constantPoolCacheOopDesc, _constant_pool, constantPoolOop) \ | 286 nonstatic_field(ConstantPoolCache, _length, int) \ |
299 nonstatic_field(instanceKlass, _array_klasses, klassOop) \ | 287 nonstatic_field(ConstantPoolCache, _constant_pool, ConstantPool*) \ |
300 nonstatic_field(instanceKlass, _methods, objArrayOop) \ | 288 nonstatic_field(InstanceKlass, _array_klasses, Klass*) \ |
301 nonstatic_field(instanceKlass, _method_ordering, typeArrayOop) \ | 289 nonstatic_field(InstanceKlass, _methods, Array<Method*>*) \ |
302 nonstatic_field(instanceKlass, _local_interfaces, objArrayOop) \ | 290 nonstatic_field(InstanceKlass, _local_interfaces, Array<Klass*>*) \ |
303 nonstatic_field(instanceKlass, _transitive_interfaces, objArrayOop) \ | 291 nonstatic_field(InstanceKlass, _transitive_interfaces, Array<Klass*>*) \ |
304 nonstatic_field(instanceKlass, _fields, typeArrayOop) \ | 292 nonstatic_field(InstanceKlass, _fields, Array<u2>*) \ |
305 nonstatic_field(instanceKlass, _java_fields_count, u2) \ | 293 nonstatic_field(InstanceKlass, _java_fields_count, u2) \ |
306 nonstatic_field(instanceKlass, _constants, constantPoolOop) \ | 294 nonstatic_field(InstanceKlass, _constants, ConstantPool*) \ |
307 nonstatic_field(instanceKlass, _class_loader, oop) \ | 295 nonstatic_field(InstanceKlass, _class_loader_data, ClassLoaderData*) \ |
308 nonstatic_field(instanceKlass, _protection_domain, oop) \ | 296 nonstatic_field(InstanceKlass, _protection_domain, oop) \ |
309 nonstatic_field(instanceKlass, _signers, objArrayOop) \ | 297 nonstatic_field(InstanceKlass, _signers, objArrayOop) \ |
310 nonstatic_field(instanceKlass, _source_file_name, Symbol*) \ | 298 nonstatic_field(InstanceKlass, _source_file_name, Symbol*) \ |
311 nonstatic_field(instanceKlass, _source_debug_extension, char*) \ | 299 nonstatic_field(InstanceKlass, _source_debug_extension, char*) \ |
312 nonstatic_field(instanceKlass, _inner_classes, typeArrayOop) \ | 300 nonstatic_field(InstanceKlass, _inner_classes, Array<jushort>*) \ |
313 nonstatic_field(instanceKlass, _nonstatic_field_size, int) \ | 301 nonstatic_field(InstanceKlass, _nonstatic_field_size, int) \ |
314 nonstatic_field(instanceKlass, _static_field_size, int) \ | 302 nonstatic_field(InstanceKlass, _static_field_size, int) \ |
315 nonstatic_field(instanceKlass, _static_oop_field_count, u2) \ | 303 nonstatic_field(InstanceKlass, _static_oop_field_count, u2) \ |
316 nonstatic_field(instanceKlass, _nonstatic_oop_map_size, int) \ | 304 nonstatic_field(InstanceKlass, _nonstatic_oop_map_size, int) \ |
317 nonstatic_field(instanceKlass, _is_marked_dependent, bool) \ | 305 nonstatic_field(InstanceKlass, _is_marked_dependent, bool) \ |
318 nonstatic_field(instanceKlass, _minor_version, u2) \ | 306 nonstatic_field(InstanceKlass, _minor_version, u2) \ |
319 nonstatic_field(instanceKlass, _major_version, u2) \ | 307 nonstatic_field(InstanceKlass, _major_version, u2) \ |
320 nonstatic_field(instanceKlass, _init_state, u1) \ | 308 nonstatic_field(InstanceKlass, _init_state, u1) \ |
321 nonstatic_field(instanceKlass, _init_thread, Thread*) \ | 309 nonstatic_field(InstanceKlass, _init_thread, Thread*) \ |
322 nonstatic_field(instanceKlass, _vtable_len, int) \ | 310 nonstatic_field(InstanceKlass, _vtable_len, int) \ |
323 nonstatic_field(instanceKlass, _itable_len, int) \ | 311 nonstatic_field(InstanceKlass, _itable_len, int) \ |
324 nonstatic_field(instanceKlass, _reference_type, u1) \ | 312 nonstatic_field(InstanceKlass, _reference_type, u1) \ |
325 volatile_nonstatic_field(instanceKlass, _oop_map_cache, OopMapCache*) \ | 313 volatile_nonstatic_field(InstanceKlass, _oop_map_cache, OopMapCache*) \ |
326 nonstatic_field(instanceKlass, _jni_ids, JNIid*) \ | 314 nonstatic_field(InstanceKlass, _jni_ids, JNIid*) \ |
327 nonstatic_field(instanceKlass, _osr_nmethods_head, nmethod*) \ | 315 nonstatic_field(InstanceKlass, _osr_nmethods_head, nmethod*) \ |
328 nonstatic_field(instanceKlass, _breakpoints, BreakpointInfo*) \ | 316 nonstatic_field(InstanceKlass, _breakpoints, BreakpointInfo*) \ |
329 nonstatic_field(instanceKlass, _generic_signature, Symbol*) \ | 317 nonstatic_field(InstanceKlass, _generic_signature, Symbol*) \ |
330 nonstatic_field(instanceKlass, _methods_jmethod_ids, jmethodID*) \ | 318 nonstatic_field(InstanceKlass, _methods_jmethod_ids, jmethodID*) \ |
331 nonstatic_field(instanceKlass, _methods_cached_itable_indices, int*) \ | 319 nonstatic_field(InstanceKlass, _methods_cached_itable_indices, int*) \ |
332 volatile_nonstatic_field(instanceKlass, _idnum_allocated_count, u2) \ | 320 volatile_nonstatic_field(InstanceKlass, _idnum_allocated_count, u2) \ |
333 nonstatic_field(instanceKlass, _class_annotations, typeArrayOop) \ | 321 nonstatic_field(InstanceKlass, _annotations, Annotations*) \ |
334 nonstatic_field(instanceKlass, _fields_annotations, objArrayOop) \ | 322 nonstatic_field(InstanceKlass, _dependencies, nmethodBucket*) \ |
335 nonstatic_field(instanceKlass, _methods_annotations, objArrayOop) \ | |
336 nonstatic_field(instanceKlass, _methods_parameter_annotations, objArrayOop) \ | |
337 nonstatic_field(instanceKlass, _methods_default_annotations, objArrayOop) \ | |
338 nonstatic_field(instanceKlass, _dependencies, nmethodBucket*) \ | |
339 nonstatic_field(nmethodBucket, _nmethod, nmethod*) \ | 323 nonstatic_field(nmethodBucket, _nmethod, nmethod*) \ |
340 nonstatic_field(nmethodBucket, _count, int) \ | 324 nonstatic_field(nmethodBucket, _count, int) \ |
341 nonstatic_field(nmethodBucket, _next, nmethodBucket*) \ | 325 nonstatic_field(nmethodBucket, _next, nmethodBucket*) \ |
326 nonstatic_field(InstanceKlass, _method_ordering, Array<int>*) \ | |
342 nonstatic_field(Klass, _super_check_offset, juint) \ | 327 nonstatic_field(Klass, _super_check_offset, juint) \ |
343 nonstatic_field(Klass, _secondary_super_cache, klassOop) \ | 328 nonstatic_field(Klass, _secondary_super_cache, Klass*) \ |
344 nonstatic_field(Klass, _secondary_supers, objArrayOop) \ | 329 nonstatic_field(Klass, _secondary_supers, Array<Klass*>*) \ |
345 nonstatic_field(Klass, _primary_supers[0], klassOop) \ | 330 nonstatic_field(Klass, _primary_supers[0], Klass*) \ |
346 nonstatic_field(Klass, _java_mirror, oop) \ | 331 nonstatic_field(Klass, _java_mirror, oop) \ |
347 nonstatic_field(Klass, _modifier_flags, jint) \ | 332 nonstatic_field(Klass, _modifier_flags, jint) \ |
348 nonstatic_field(Klass, _super, klassOop) \ | 333 nonstatic_field(Klass, _super, Klass*) \ |
349 nonstatic_field(Klass, _layout_helper, jint) \ | 334 nonstatic_field(Klass, _layout_helper, jint) \ |
350 nonstatic_field(Klass, _name, Symbol*) \ | 335 nonstatic_field(Klass, _name, Symbol*) \ |
351 nonstatic_field(Klass, _access_flags, AccessFlags) \ | 336 nonstatic_field(Klass, _access_flags, AccessFlags) \ |
352 nonstatic_field(Klass, _subklass, klassOop) \ | 337 nonstatic_field(Klass, _subklass, Klass*) \ |
353 nonstatic_field(Klass, _next_sibling, klassOop) \ | 338 nonstatic_field(Klass, _next_sibling, Klass*) \ |
354 nonproduct_nonstatic_field(Klass, _verify_count, int) \ | 339 nonproduct_nonstatic_field(Klass, _verify_count, int) \ |
355 nonstatic_field(Klass, _alloc_count, juint) \ | 340 nonstatic_field(Klass, _alloc_count, juint) \ |
356 nonstatic_field(klassKlass, _alloc_size, juint) \ | 341 nonstatic_field(MethodData, _size, int) \ |
357 nonstatic_field(methodKlass, _alloc_size, juint) \ | 342 nonstatic_field(MethodData, _method, Method*) \ |
358 nonstatic_field(methodDataOopDesc, _size, int) \ | 343 nonstatic_field(MethodData, _data_size, int) \ |
359 nonstatic_field(methodDataOopDesc, _method, methodOop) \ | 344 nonstatic_field(MethodData, _data[0], intptr_t) \ |
360 nonstatic_field(methodDataOopDesc, _data_size, int) \ | 345 nonstatic_field(MethodData, _nof_decompiles, uint) \ |
361 nonstatic_field(methodDataOopDesc, _data[0], intptr_t) \ | 346 nonstatic_field(MethodData, _nof_overflow_recompiles, uint) \ |
362 nonstatic_field(methodDataOopDesc, _nof_decompiles, uint) \ | 347 nonstatic_field(MethodData, _nof_overflow_traps, uint) \ |
363 nonstatic_field(methodDataOopDesc, _nof_overflow_recompiles, uint) \ | 348 nonstatic_field(MethodData, _eflags, intx) \ |
364 nonstatic_field(methodDataOopDesc, _nof_overflow_traps, uint) \ | 349 nonstatic_field(MethodData, _arg_local, intx) \ |
365 nonstatic_field(methodDataOopDesc, _eflags, intx) \ | 350 nonstatic_field(MethodData, _arg_stack, intx) \ |
366 nonstatic_field(methodDataOopDesc, _arg_local, intx) \ | 351 nonstatic_field(MethodData, _arg_returned, intx) \ |
367 nonstatic_field(methodDataOopDesc, _arg_stack, intx) \ | 352 nonstatic_field(Method, _constMethod, ConstMethod*) \ |
368 nonstatic_field(methodDataOopDesc, _arg_returned, intx) \ | 353 nonstatic_field(Method, _method_data, MethodData*) \ |
369 nonstatic_field(methodOopDesc, _constMethod, constMethodOop) \ | 354 nonstatic_field(Method, _interpreter_invocation_count, int) \ |
370 nonstatic_field(methodOopDesc, _method_data, methodDataOop) \ | 355 nonstatic_field(Method, _access_flags, AccessFlags) \ |
371 nonstatic_field(methodOopDesc, _interpreter_invocation_count, int) \ | 356 nonstatic_field(Method, _vtable_index, int) \ |
372 nonstatic_field(methodOopDesc, _access_flags, AccessFlags) \ | 357 nonstatic_field(Method, _method_size, u2) \ |
373 nonstatic_field(methodOopDesc, _vtable_index, int) \ | 358 nonstatic_field(Method, _max_stack, u2) \ |
374 nonstatic_field(methodOopDesc, _method_size, u2) \ | 359 nonstatic_field(Method, _max_locals, u2) \ |
375 nonstatic_field(methodOopDesc, _max_stack, u2) \ | 360 nonstatic_field(Method, _size_of_parameters, u2) \ |
376 nonstatic_field(methodOopDesc, _max_locals, u2) \ | 361 nonstatic_field(Method, _interpreter_throwout_count, u2) \ |
377 nonstatic_field(methodOopDesc, _size_of_parameters, u2) \ | 362 nonstatic_field(Method, _number_of_breakpoints, u2) \ |
378 nonstatic_field(methodOopDesc, _interpreter_throwout_count, u2) \ | 363 nonstatic_field(Method, _invocation_counter, InvocationCounter) \ |
379 nonstatic_field(methodOopDesc, _number_of_breakpoints, u2) \ | 364 nonstatic_field(Method, _backedge_counter, InvocationCounter) \ |
380 nonstatic_field(methodOopDesc, _invocation_counter, InvocationCounter) \ | 365 nonproduct_nonstatic_field(Method, _compiled_invocation_count, int) \ |
381 nonstatic_field(methodOopDesc, _backedge_counter, InvocationCounter) \ | 366 volatile_nonstatic_field(Method, _code, nmethod*) \ |
382 nonproduct_nonstatic_field(methodOopDesc, _compiled_invocation_count, int) \ | 367 nonstatic_field(Method, _i2i_entry, address) \ |
383 volatile_nonstatic_field(methodOopDesc, _code, nmethod*) \ | 368 nonstatic_field(Method, _adapter, AdapterHandlerEntry*) \ |
384 nonstatic_field(methodOopDesc, _i2i_entry, address) \ | 369 volatile_nonstatic_field(Method, _from_compiled_entry, address) \ |
385 nonstatic_field(methodOopDesc, _adapter, AdapterHandlerEntry*) \ | 370 volatile_nonstatic_field(Method, _from_interpreted_entry, address) \ |
386 volatile_nonstatic_field(methodOopDesc, _from_compiled_entry, address) \ | 371 volatile_nonstatic_field(ConstMethod, _fingerprint, uint64_t) \ |
387 volatile_nonstatic_field(methodOopDesc, _from_interpreted_entry, address) \ | 372 nonstatic_field(ConstMethod, _constants, ConstantPool*) \ |
388 volatile_nonstatic_field(constMethodOopDesc, _fingerprint, uint64_t) \ | 373 nonstatic_field(ConstMethod, _stackmap_data, Array<u1>*) \ |
389 nonstatic_field(constMethodOopDesc, _constants, constantPoolOop) \ | 374 nonstatic_field(ConstMethod, _constMethod_size, int) \ |
390 nonstatic_field(constMethodOopDesc, _stackmap_data, typeArrayOop) \ | 375 nonstatic_field(ConstMethod, _interpreter_kind, jbyte) \ |
391 nonstatic_field(constMethodOopDesc, _constMethod_size, int) \ | 376 nonstatic_field(ConstMethod, _flags, jbyte) \ |
392 nonstatic_field(constMethodOopDesc, _interpreter_kind, jbyte) \ | 377 nonstatic_field(ConstMethod, _code_size, u2) \ |
393 nonstatic_field(constMethodOopDesc, _flags, jbyte) \ | 378 nonstatic_field(ConstMethod, _name_index, u2) \ |
394 nonstatic_field(constMethodOopDesc, _code_size, u2) \ | 379 nonstatic_field(ConstMethod, _signature_index, u2) \ |
395 nonstatic_field(constMethodOopDesc, _name_index, u2) \ | 380 nonstatic_field(ConstMethod, _method_idnum, u2) \ |
396 nonstatic_field(constMethodOopDesc, _signature_index, u2) \ | 381 nonstatic_field(ConstMethod, _generic_signature_index, u2) \ |
397 nonstatic_field(constMethodOopDesc, _method_idnum, u2) \ | 382 nonstatic_field(objArrayKlass, _element_klass, Klass*) \ |
398 nonstatic_field(constMethodOopDesc, _generic_signature_index, u2) \ | 383 nonstatic_field(objArrayKlass, _bottom_klass, Klass*) \ |
399 nonstatic_field(objArrayKlass, _element_klass, klassOop) \ | |
400 nonstatic_field(objArrayKlass, _bottom_klass, klassOop) \ | |
401 volatile_nonstatic_field(Symbol, _refcount, int) \ | 384 volatile_nonstatic_field(Symbol, _refcount, int) \ |
402 nonstatic_field(Symbol, _identity_hash, int) \ | 385 nonstatic_field(Symbol, _identity_hash, int) \ |
403 nonstatic_field(Symbol, _length, unsigned short) \ | 386 nonstatic_field(Symbol, _length, unsigned short) \ |
404 unchecked_nonstatic_field(Symbol, _body, sizeof(jbyte)) /* NOTE: no type */ \ | 387 unchecked_nonstatic_field(Symbol, _body, sizeof(jbyte)) /* NOTE: no type */ \ |
405 nonstatic_field(typeArrayKlass, _max_length, int) \ | 388 nonstatic_field(typeArrayKlass, _max_length, int) \ |
407 /***********************/ \ | 390 /***********************/ \ |
408 /* Constant Pool Cache */ \ | 391 /* Constant Pool Cache */ \ |
409 /***********************/ \ | 392 /***********************/ \ |
410 \ | 393 \ |
411 volatile_nonstatic_field(ConstantPoolCacheEntry, _indices, intx) \ | 394 volatile_nonstatic_field(ConstantPoolCacheEntry, _indices, intx) \ |
412 volatile_nonstatic_field(ConstantPoolCacheEntry, _f1, oop) \ | 395 nonstatic_field(ConstantPoolCacheEntry, _f1, volatile Metadata*) \ |
413 volatile_nonstatic_field(ConstantPoolCacheEntry, _f2, intx) \ | 396 volatile_nonstatic_field(ConstantPoolCacheEntry, _f2, intx) \ |
414 volatile_nonstatic_field(ConstantPoolCacheEntry, _flags, intx) \ | 397 volatile_nonstatic_field(ConstantPoolCacheEntry, _flags, intx) \ |
415 \ | 398 \ |
416 /********************************/ \ | 399 /********************************/ \ |
417 /* MethodOop-related structures */ \ | 400 /* MethodOop-related structures */ \ |
435 nonstatic_field(BreakpointInfo, _next, BreakpointInfo*) \ | 418 nonstatic_field(BreakpointInfo, _next, BreakpointInfo*) \ |
436 /***********/ \ | 419 /***********/ \ |
437 /* JNI IDs */ \ | 420 /* JNI IDs */ \ |
438 /***********/ \ | 421 /***********/ \ |
439 \ | 422 \ |
440 nonstatic_field(JNIid, _holder, klassOop) \ | 423 nonstatic_field(JNIid, _holder, Klass*) \ |
441 nonstatic_field(JNIid, _next, JNIid*) \ | 424 nonstatic_field(JNIid, _next, JNIid*) \ |
442 nonstatic_field(JNIid, _offset, int) \ | 425 nonstatic_field(JNIid, _offset, int) \ |
443 /************/ \ | 426 /************/ \ |
444 /* Universe */ \ | 427 /* Universe */ \ |
445 /************/ \ | 428 /************/ \ |
446 \ | 429 \ |
447 static_field(Universe, _boolArrayKlassObj, klassOop) \ | 430 static_field(Universe, _boolArrayKlassObj, Klass*) \ |
448 static_field(Universe, _byteArrayKlassObj, klassOop) \ | 431 static_field(Universe, _byteArrayKlassObj, Klass*) \ |
449 static_field(Universe, _charArrayKlassObj, klassOop) \ | 432 static_field(Universe, _charArrayKlassObj, Klass*) \ |
450 static_field(Universe, _intArrayKlassObj, klassOop) \ | 433 static_field(Universe, _intArrayKlassObj, Klass*) \ |
451 static_field(Universe, _shortArrayKlassObj, klassOop) \ | 434 static_field(Universe, _shortArrayKlassObj, Klass*) \ |
452 static_field(Universe, _longArrayKlassObj, klassOop) \ | 435 static_field(Universe, _longArrayKlassObj, Klass*) \ |
453 static_field(Universe, _singleArrayKlassObj, klassOop) \ | 436 static_field(Universe, _singleArrayKlassObj, Klass*) \ |
454 static_field(Universe, _doubleArrayKlassObj, klassOop) \ | 437 static_field(Universe, _doubleArrayKlassObj, Klass*) \ |
455 static_field(Universe, _methodKlassObj, klassOop) \ | |
456 static_field(Universe, _constMethodKlassObj, klassOop) \ | |
457 static_field(Universe, _methodDataKlassObj, klassOop) \ | |
458 static_field(Universe, _klassKlassObj, klassOop) \ | |
459 static_field(Universe, _arrayKlassKlassObj, klassOop) \ | |
460 static_field(Universe, _objArrayKlassKlassObj, klassOop) \ | |
461 static_field(Universe, _typeArrayKlassKlassObj, klassOop) \ | |
462 static_field(Universe, _instanceKlassKlassObj, klassOop) \ | |
463 static_field(Universe, _constantPoolKlassObj, klassOop) \ | |
464 static_field(Universe, _constantPoolCacheKlassObj, klassOop) \ | |
465 static_field(Universe, _compiledICHolderKlassObj, klassOop) \ | |
466 static_field(Universe, _systemObjArrayKlassObj, klassOop) \ | |
467 static_field(Universe, _mirrors[0], oop) \ | 438 static_field(Universe, _mirrors[0], oop) \ |
468 static_field(Universe, _main_thread_group, oop) \ | 439 static_field(Universe, _main_thread_group, oop) \ |
469 static_field(Universe, _system_thread_group, oop) \ | 440 static_field(Universe, _system_thread_group, oop) \ |
470 static_field(Universe, _the_empty_byte_array, typeArrayOop) \ | |
471 static_field(Universe, _the_empty_short_array, typeArrayOop) \ | |
472 static_field(Universe, _the_empty_int_array, typeArrayOop) \ | |
473 static_field(Universe, _the_empty_system_obj_array, objArrayOop) \ | |
474 static_field(Universe, _the_empty_class_klass_array, objArrayOop) \ | 441 static_field(Universe, _the_empty_class_klass_array, objArrayOop) \ |
475 static_field(Universe, _out_of_memory_error_java_heap, oop) \ | 442 static_field(Universe, _out_of_memory_error_java_heap, oop) \ |
476 static_field(Universe, _out_of_memory_error_perm_gen, oop) \ | 443 static_field(Universe, _out_of_memory_error_perm_gen, oop) \ |
477 static_field(Universe, _out_of_memory_error_array_size, oop) \ | 444 static_field(Universe, _out_of_memory_error_array_size, oop) \ |
478 static_field(Universe, _out_of_memory_error_gc_overhead_limit, oop) \ | 445 static_field(Universe, _out_of_memory_error_gc_overhead_limit, oop) \ |
526 nonstatic_field(CardTableModRefBS, byte_map_base, jbyte*) \ | 493 nonstatic_field(CardTableModRefBS, byte_map_base, jbyte*) \ |
527 \ | 494 \ |
528 nonstatic_field(CardTableRS, _ct_bs, CardTableModRefBSForCTRS*) \ | 495 nonstatic_field(CardTableRS, _ct_bs, CardTableModRefBSForCTRS*) \ |
529 \ | 496 \ |
530 nonstatic_field(CollectedHeap, _reserved, MemRegion) \ | 497 nonstatic_field(CollectedHeap, _reserved, MemRegion) \ |
531 nonstatic_field(SharedHeap, _perm_gen, PermGen*) \ | |
532 nonstatic_field(CollectedHeap, _barrier_set, BarrierSet*) \ | 498 nonstatic_field(CollectedHeap, _barrier_set, BarrierSet*) \ |
533 nonstatic_field(CollectedHeap, _defer_initial_card_mark, bool) \ | 499 nonstatic_field(CollectedHeap, _defer_initial_card_mark, bool) \ |
534 nonstatic_field(CollectedHeap, _is_gc_active, bool) \ | 500 nonstatic_field(CollectedHeap, _is_gc_active, bool) \ |
535 nonstatic_field(CompactibleSpace, _compaction_top, HeapWord*) \ | 501 nonstatic_field(CompactibleSpace, _compaction_top, HeapWord*) \ |
536 nonstatic_field(CompactibleSpace, _first_dead, HeapWord*) \ | 502 nonstatic_field(CompactibleSpace, _first_dead, HeapWord*) \ |
537 nonstatic_field(CompactibleSpace, _end_of_live, HeapWord*) \ | 503 nonstatic_field(CompactibleSpace, _end_of_live, HeapWord*) \ |
538 \ | 504 \ |
539 nonstatic_field(CompactingPermGen, _gen, OneContigSpaceCardGeneration*) \ | |
540 \ | 505 \ |
541 nonstatic_field(ContiguousSpace, _top, HeapWord*) \ | 506 nonstatic_field(ContiguousSpace, _top, HeapWord*) \ |
542 nonstatic_field(ContiguousSpace, _concurrent_iteration_safe_limit, HeapWord*) \ | 507 nonstatic_field(ContiguousSpace, _concurrent_iteration_safe_limit, HeapWord*) \ |
543 nonstatic_field(ContiguousSpace, _saved_mark_word, HeapWord*) \ | 508 nonstatic_field(ContiguousSpace, _saved_mark_word, HeapWord*) \ |
544 \ | 509 \ |
577 \ | 542 \ |
578 nonstatic_field(OneContigSpaceCardGeneration, _min_heap_delta_bytes, size_t) \ | 543 nonstatic_field(OneContigSpaceCardGeneration, _min_heap_delta_bytes, size_t) \ |
579 nonstatic_field(OneContigSpaceCardGeneration, _the_space, ContiguousSpace*) \ | 544 nonstatic_field(OneContigSpaceCardGeneration, _the_space, ContiguousSpace*) \ |
580 nonstatic_field(OneContigSpaceCardGeneration, _last_gc, WaterMark) \ | 545 nonstatic_field(OneContigSpaceCardGeneration, _last_gc, WaterMark) \ |
581 \ | 546 \ |
582 nonstatic_field(CompactingPermGenGen, _ro_vs, VirtualSpace) \ | 547 \ |
583 nonstatic_field(CompactingPermGenGen, _rw_vs, VirtualSpace) \ | |
584 nonstatic_field(CompactingPermGenGen, _md_vs, VirtualSpace) \ | |
585 nonstatic_field(CompactingPermGenGen, _mc_vs, VirtualSpace) \ | |
586 nonstatic_field(CompactingPermGenGen, _ro_space, OffsetTableContigSpace*) \ | |
587 nonstatic_field(CompactingPermGenGen, _rw_space, OffsetTableContigSpace*) \ | |
588 static_field(CompactingPermGenGen, unshared_bottom, HeapWord*) \ | |
589 static_field(CompactingPermGenGen, unshared_end, HeapWord*) \ | |
590 static_field(CompactingPermGenGen, shared_bottom, HeapWord*) \ | |
591 static_field(CompactingPermGenGen, readonly_bottom, HeapWord*) \ | |
592 static_field(CompactingPermGenGen, readonly_end, HeapWord*) \ | |
593 static_field(CompactingPermGenGen, readwrite_bottom, HeapWord*) \ | |
594 static_field(CompactingPermGenGen, readwrite_end, HeapWord*) \ | |
595 static_field(CompactingPermGenGen, miscdata_bottom, HeapWord*) \ | |
596 static_field(CompactingPermGenGen, miscdata_end, HeapWord*) \ | |
597 static_field(CompactingPermGenGen, misccode_bottom, HeapWord*) \ | |
598 static_field(CompactingPermGenGen, misccode_end, HeapWord*) \ | |
599 static_field(CompactingPermGenGen, shared_end, HeapWord*) \ | |
600 \ | |
601 nonstatic_field(PermGen, _capacity_expansion_limit, size_t) \ | |
602 \ | |
603 nonstatic_field(PermanentGenerationSpec, _name, PermGen::Name) \ | |
604 nonstatic_field(PermanentGenerationSpec, _init_size, size_t) \ | |
605 nonstatic_field(PermanentGenerationSpec, _max_size, size_t) \ | |
606 \ | 548 \ |
607 nonstatic_field(Space, _bottom, HeapWord*) \ | 549 nonstatic_field(Space, _bottom, HeapWord*) \ |
608 nonstatic_field(Space, _end, HeapWord*) \ | 550 nonstatic_field(Space, _end, HeapWord*) \ |
609 \ | 551 \ |
610 nonstatic_field(TenuredGeneration, _shrink_factor, size_t) \ | 552 nonstatic_field(TenuredGeneration, _shrink_factor, size_t) \ |
675 static_field(SystemDictionary, _dictionary, Dictionary*) \ | 617 static_field(SystemDictionary, _dictionary, Dictionary*) \ |
676 static_field(SystemDictionary, _placeholders, PlaceholderTable*) \ | 618 static_field(SystemDictionary, _placeholders, PlaceholderTable*) \ |
677 static_field(SystemDictionary, _shared_dictionary, Dictionary*) \ | 619 static_field(SystemDictionary, _shared_dictionary, Dictionary*) \ |
678 static_field(SystemDictionary, _system_loader_lock_obj, oop) \ | 620 static_field(SystemDictionary, _system_loader_lock_obj, oop) \ |
679 static_field(SystemDictionary, _loader_constraints, LoaderConstraintTable*) \ | 621 static_field(SystemDictionary, _loader_constraints, LoaderConstraintTable*) \ |
680 static_field(SystemDictionary, WK_KLASS(Object_klass), klassOop) \ | 622 static_field(SystemDictionary, WK_KLASS(Object_klass), Klass*) \ |
681 static_field(SystemDictionary, WK_KLASS(String_klass), klassOop) \ | 623 static_field(SystemDictionary, WK_KLASS(String_klass), Klass*) \ |
682 static_field(SystemDictionary, WK_KLASS(Class_klass), klassOop) \ | 624 static_field(SystemDictionary, WK_KLASS(Class_klass), Klass*) \ |
683 static_field(SystemDictionary, WK_KLASS(Cloneable_klass), klassOop) \ | 625 static_field(SystemDictionary, WK_KLASS(Cloneable_klass), Klass*) \ |
684 static_field(SystemDictionary, WK_KLASS(ClassLoader_klass), klassOop) \ | 626 static_field(SystemDictionary, WK_KLASS(ClassLoader_klass), Klass*) \ |
685 static_field(SystemDictionary, WK_KLASS(Serializable_klass), klassOop) \ | 627 static_field(SystemDictionary, WK_KLASS(Serializable_klass), Klass*) \ |
686 static_field(SystemDictionary, WK_KLASS(System_klass), klassOop) \ | 628 static_field(SystemDictionary, WK_KLASS(System_klass), Klass*) \ |
687 static_field(SystemDictionary, WK_KLASS(Throwable_klass), klassOop) \ | 629 static_field(SystemDictionary, WK_KLASS(Throwable_klass), Klass*) \ |
688 static_field(SystemDictionary, WK_KLASS(ThreadDeath_klass), klassOop) \ | 630 static_field(SystemDictionary, WK_KLASS(ThreadDeath_klass), Klass*) \ |
689 static_field(SystemDictionary, WK_KLASS(Error_klass), klassOop) \ | 631 static_field(SystemDictionary, WK_KLASS(Error_klass), Klass*) \ |
690 static_field(SystemDictionary, WK_KLASS(Exception_klass), klassOop) \ | 632 static_field(SystemDictionary, WK_KLASS(Exception_klass), Klass*) \ |
691 static_field(SystemDictionary, WK_KLASS(RuntimeException_klass), klassOop) \ | 633 static_field(SystemDictionary, WK_KLASS(RuntimeException_klass), Klass*) \ |
692 static_field(SystemDictionary, WK_KLASS(ClassNotFoundException_klass), klassOop) \ | 634 static_field(SystemDictionary, WK_KLASS(ClassNotFoundException_klass), Klass*) \ |
693 static_field(SystemDictionary, WK_KLASS(NoClassDefFoundError_klass), klassOop) \ | 635 static_field(SystemDictionary, WK_KLASS(NoClassDefFoundError_klass), Klass*) \ |
694 static_field(SystemDictionary, WK_KLASS(LinkageError_klass), klassOop) \ | 636 static_field(SystemDictionary, WK_KLASS(LinkageError_klass), Klass*) \ |
695 static_field(SystemDictionary, WK_KLASS(ClassCastException_klass), klassOop) \ | 637 static_field(SystemDictionary, WK_KLASS(ClassCastException_klass), Klass*) \ |
696 static_field(SystemDictionary, WK_KLASS(ArrayStoreException_klass), klassOop) \ | 638 static_field(SystemDictionary, WK_KLASS(ArrayStoreException_klass), Klass*) \ |
697 static_field(SystemDictionary, WK_KLASS(VirtualMachineError_klass), klassOop) \ | 639 static_field(SystemDictionary, WK_KLASS(VirtualMachineError_klass), Klass*) \ |
698 static_field(SystemDictionary, WK_KLASS(OutOfMemoryError_klass), klassOop) \ | 640 static_field(SystemDictionary, WK_KLASS(OutOfMemoryError_klass), Klass*) \ |
699 static_field(SystemDictionary, WK_KLASS(StackOverflowError_klass), klassOop) \ | 641 static_field(SystemDictionary, WK_KLASS(StackOverflowError_klass), Klass*) \ |
700 static_field(SystemDictionary, WK_KLASS(ProtectionDomain_klass), klassOop) \ | 642 static_field(SystemDictionary, WK_KLASS(ProtectionDomain_klass), Klass*) \ |
701 static_field(SystemDictionary, WK_KLASS(AccessControlContext_klass), klassOop) \ | 643 static_field(SystemDictionary, WK_KLASS(AccessControlContext_klass), Klass*) \ |
702 static_field(SystemDictionary, WK_KLASS(Reference_klass), klassOop) \ | 644 static_field(SystemDictionary, WK_KLASS(Reference_klass), Klass*) \ |
703 static_field(SystemDictionary, WK_KLASS(SoftReference_klass), klassOop) \ | 645 static_field(SystemDictionary, WK_KLASS(SoftReference_klass), Klass*) \ |
704 static_field(SystemDictionary, WK_KLASS(WeakReference_klass), klassOop) \ | 646 static_field(SystemDictionary, WK_KLASS(WeakReference_klass), Klass*) \ |
705 static_field(SystemDictionary, WK_KLASS(FinalReference_klass), klassOop) \ | 647 static_field(SystemDictionary, WK_KLASS(FinalReference_klass), Klass*) \ |
706 static_field(SystemDictionary, WK_KLASS(PhantomReference_klass), klassOop) \ | 648 static_field(SystemDictionary, WK_KLASS(PhantomReference_klass), Klass*) \ |
707 static_field(SystemDictionary, WK_KLASS(Finalizer_klass), klassOop) \ | 649 static_field(SystemDictionary, WK_KLASS(Finalizer_klass), Klass*) \ |
708 static_field(SystemDictionary, WK_KLASS(Thread_klass), klassOop) \ | 650 static_field(SystemDictionary, WK_KLASS(Thread_klass), Klass*) \ |
709 static_field(SystemDictionary, WK_KLASS(ThreadGroup_klass), klassOop) \ | 651 static_field(SystemDictionary, WK_KLASS(ThreadGroup_klass), Klass*) \ |
710 static_field(SystemDictionary, WK_KLASS(Properties_klass), klassOop) \ | 652 static_field(SystemDictionary, WK_KLASS(Properties_klass), Klass*) \ |
711 static_field(SystemDictionary, WK_KLASS(StringBuffer_klass), klassOop) \ | 653 static_field(SystemDictionary, WK_KLASS(StringBuffer_klass), Klass*) \ |
712 static_field(SystemDictionary, WK_KLASS(MethodHandle_klass), klassOop) \ | 654 static_field(SystemDictionary, WK_KLASS(MethodHandle_klass), Klass*) \ |
713 static_field(SystemDictionary, _box_klasses[0], klassOop) \ | 655 static_field(SystemDictionary, _box_klasses[0], Klass*) \ |
714 static_field(SystemDictionary, _java_system_loader, oop) \ | 656 static_field(SystemDictionary, _java_system_loader, oop) \ |
715 \ | 657 \ |
716 /*************/ \ | 658 /*************/ \ |
717 /* vmSymbols */ \ | 659 /* vmSymbols */ \ |
718 /*************/ \ | 660 /*************/ \ |
746 \ | 688 \ |
747 /*******************/ \ | 689 /*******************/ \ |
748 /* DictionaryEntry */ \ | 690 /* DictionaryEntry */ \ |
749 /*******************/ \ | 691 /*******************/ \ |
750 \ | 692 \ |
751 nonstatic_field(DictionaryEntry, _loader, oop) \ | 693 nonstatic_field(DictionaryEntry, _loader_data, ClassLoaderData*) \ |
752 nonstatic_field(DictionaryEntry, _pd_set, ProtectionDomainEntry*) \ | 694 nonstatic_field(DictionaryEntry, _pd_set, ProtectionDomainEntry*) \ |
753 \ | 695 \ |
754 /********************/ \ | 696 /********************/ \ |
755 \ | 697 \ |
756 nonstatic_field(PlaceholderEntry, _loader, oop) \ | 698 nonstatic_field(PlaceholderEntry, _loader_data, ClassLoaderData*) \ |
757 \ | 699 \ |
758 /**************************/ \ | 700 /**************************/ \ |
759 /* ProctectionDomainEntry */ \ | 701 /* ProctectionDomainEntry */ \ |
760 /**************************/ \ | 702 /**************************/ \ |
761 \ | 703 \ |
767 /*************************/ \ | 709 /*************************/ \ |
768 \ | 710 \ |
769 nonstatic_field(LoaderConstraintEntry, _name, Symbol*) \ | 711 nonstatic_field(LoaderConstraintEntry, _name, Symbol*) \ |
770 nonstatic_field(LoaderConstraintEntry, _num_loaders, int) \ | 712 nonstatic_field(LoaderConstraintEntry, _num_loaders, int) \ |
771 nonstatic_field(LoaderConstraintEntry, _max_loaders, int) \ | 713 nonstatic_field(LoaderConstraintEntry, _max_loaders, int) \ |
772 nonstatic_field(LoaderConstraintEntry, _loaders, oop*) \ | 714 nonstatic_field(LoaderConstraintEntry, _loaders, ClassLoaderData**) \ |
715 \ | |
716 nonstatic_field(ClassLoaderData, _class_loader, oop) \ | |
717 nonstatic_field(ClassLoaderData, _next, ClassLoaderData*) \ | |
718 \ | |
719 static_field(ClassLoaderDataGraph, _head, ClassLoaderData*) \ | |
720 nonstatic_field(ClassLoaderDataGraph, _unloading, ClassLoaderData*) \ | |
773 \ | 721 \ |
774 /*******************/ \ | 722 /*******************/ \ |
775 /* GrowableArrays */ \ | 723 /* GrowableArrays */ \ |
776 /*******************/ \ | 724 /*******************/ \ |
777 \ | 725 \ |
851 \ | 799 \ |
852 /**************************************************/ \ | 800 /**************************************************/ \ |
853 /* NMethods (NOTE: incomplete, but only a little) */ \ | 801 /* NMethods (NOTE: incomplete, but only a little) */ \ |
854 /**************************************************/ \ | 802 /**************************************************/ \ |
855 \ | 803 \ |
856 nonstatic_field(nmethod, _method, methodOop) \ | 804 nonstatic_field(nmethod, _method, Method*) \ |
857 nonstatic_field(nmethod, _entry_bci, int) \ | 805 nonstatic_field(nmethod, _entry_bci, int) \ |
858 nonstatic_field(nmethod, _osr_link, nmethod*) \ | 806 nonstatic_field(nmethod, _osr_link, nmethod*) \ |
859 nonstatic_field(nmethod, _scavenge_root_link, nmethod*) \ | 807 nonstatic_field(nmethod, _scavenge_root_link, nmethod*) \ |
860 nonstatic_field(nmethod, _scavenge_root_state, jbyte) \ | 808 nonstatic_field(nmethod, _scavenge_root_state, jbyte) \ |
861 nonstatic_field(nmethod, _state, unsigned char) \ | 809 nonstatic_field(nmethod, _state, unsigned char) \ |
864 nonstatic_field(nmethod, _deoptimize_mh_offset, int) \ | 812 nonstatic_field(nmethod, _deoptimize_mh_offset, int) \ |
865 nonstatic_field(nmethod, _orig_pc_offset, int) \ | 813 nonstatic_field(nmethod, _orig_pc_offset, int) \ |
866 nonstatic_field(nmethod, _stub_offset, int) \ | 814 nonstatic_field(nmethod, _stub_offset, int) \ |
867 nonstatic_field(nmethod, _consts_offset, int) \ | 815 nonstatic_field(nmethod, _consts_offset, int) \ |
868 nonstatic_field(nmethod, _oops_offset, int) \ | 816 nonstatic_field(nmethod, _oops_offset, int) \ |
817 nonstatic_field(nmethod, _metadata_offset, int) \ | |
869 nonstatic_field(nmethod, _scopes_data_offset, int) \ | 818 nonstatic_field(nmethod, _scopes_data_offset, int) \ |
870 nonstatic_field(nmethod, _scopes_pcs_offset, int) \ | 819 nonstatic_field(nmethod, _scopes_pcs_offset, int) \ |
871 nonstatic_field(nmethod, _dependencies_offset, int) \ | 820 nonstatic_field(nmethod, _dependencies_offset, int) \ |
872 nonstatic_field(nmethod, _handler_table_offset, int) \ | 821 nonstatic_field(nmethod, _handler_table_offset, int) \ |
873 nonstatic_field(nmethod, _nul_chk_table_offset, int) \ | 822 nonstatic_field(nmethod, _nul_chk_table_offset, int) \ |
916 nonstatic_field(NamedThread, _processed_thread, JavaThread*) \ | 865 nonstatic_field(NamedThread, _processed_thread, JavaThread*) \ |
917 nonstatic_field(JavaThread, _next, JavaThread*) \ | 866 nonstatic_field(JavaThread, _next, JavaThread*) \ |
918 nonstatic_field(JavaThread, _threadObj, oop) \ | 867 nonstatic_field(JavaThread, _threadObj, oop) \ |
919 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \ | 868 nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \ |
920 nonstatic_field(JavaThread, _vm_result, oop) \ | 869 nonstatic_field(JavaThread, _vm_result, oop) \ |
921 nonstatic_field(JavaThread, _vm_result_2, oop) \ | 870 nonstatic_field(JavaThread, _vm_result_2, Metadata*) \ |
922 nonstatic_field(JavaThread, _pending_async_exception, oop) \ | 871 nonstatic_field(JavaThread, _pending_async_exception, oop) \ |
923 volatile_nonstatic_field(JavaThread, _exception_oop, oop) \ | 872 volatile_nonstatic_field(JavaThread, _exception_oop, oop) \ |
924 volatile_nonstatic_field(JavaThread, _exception_pc, address) \ | 873 volatile_nonstatic_field(JavaThread, _exception_pc, address) \ |
925 nonstatic_field(JavaThread, _is_compiling, bool) \ | 874 nonstatic_field(JavaThread, _is_compiling, bool) \ |
926 nonstatic_field(JavaThread, _special_runtime_exit_condition, JavaThread::AsyncRequests) \ | 875 nonstatic_field(JavaThread, _special_runtime_exit_condition, JavaThread::AsyncRequests) \ |
1006 nonstatic_field(ciEnv, _factory, ciObjectFactory*) \ | 955 nonstatic_field(ciEnv, _factory, ciObjectFactory*) \ |
1007 nonstatic_field(ciEnv, _dependencies, Dependencies*) \ | 956 nonstatic_field(ciEnv, _dependencies, Dependencies*) \ |
1008 nonstatic_field(ciEnv, _task, CompileTask*) \ | 957 nonstatic_field(ciEnv, _task, CompileTask*) \ |
1009 nonstatic_field(ciEnv, _arena, Arena*) \ | 958 nonstatic_field(ciEnv, _arena, Arena*) \ |
1010 \ | 959 \ |
960 nonstatic_field(ciBaseObject, _ident, uint) \ | |
961 \ | |
1011 nonstatic_field(ciObject, _handle, jobject) \ | 962 nonstatic_field(ciObject, _handle, jobject) \ |
1012 nonstatic_field(ciObject, _klass, ciKlass*) \ | 963 nonstatic_field(ciObject, _klass, ciKlass*) \ |
1013 nonstatic_field(ciObject, _ident, uint) \ | 964 \ |
1014 \ | 965 nonstatic_field(ciMetadata, _metadata, Metadata*) \ |
1015 nonstatic_field(ciSymbol, _ident, uint) \ | 966 \ |
1016 nonstatic_field(ciSymbol, _symbol, Symbol*) \ | 967 nonstatic_field(ciSymbol, _symbol, Symbol*) \ |
1017 \ | 968 \ |
1018 nonstatic_field(ciType, _basic_type, BasicType) \ | 969 nonstatic_field(ciType, _basic_type, BasicType) \ |
1019 \ | 970 \ |
1020 nonstatic_field(ciKlass, _name, ciSymbol*) \ | 971 nonstatic_field(ciKlass, _name, ciSymbol*) \ |
1022 nonstatic_field(ciArrayKlass, _dimension, jint) \ | 973 nonstatic_field(ciArrayKlass, _dimension, jint) \ |
1023 \ | 974 \ |
1024 nonstatic_field(ciObjArrayKlass, _element_klass, ciKlass*) \ | 975 nonstatic_field(ciObjArrayKlass, _element_klass, ciKlass*) \ |
1025 nonstatic_field(ciObjArrayKlass, _base_element_klass, ciKlass*) \ | 976 nonstatic_field(ciObjArrayKlass, _base_element_klass, ciKlass*) \ |
1026 \ | 977 \ |
1027 nonstatic_field(ciInstanceKlass, _init_state, instanceKlass::ClassState) \ | 978 nonstatic_field(ciInstanceKlass, _init_state, InstanceKlass::ClassState) \ |
1028 nonstatic_field(ciInstanceKlass, _is_shared, bool) \ | 979 nonstatic_field(ciInstanceKlass, _is_shared, bool) \ |
1029 \ | 980 \ |
1030 nonstatic_field(ciMethod, _interpreter_invocation_count, int) \ | 981 nonstatic_field(ciMethod, _interpreter_invocation_count, int) \ |
1031 nonstatic_field(ciMethod, _interpreter_throwout_count, int) \ | 982 nonstatic_field(ciMethod, _interpreter_throwout_count, int) \ |
1032 \ | 983 \ |
1038 nonstatic_field(ciMethodData, _eflags, intx) \ | 989 nonstatic_field(ciMethodData, _eflags, intx) \ |
1039 nonstatic_field(ciMethodData, _arg_local, intx) \ | 990 nonstatic_field(ciMethodData, _arg_local, intx) \ |
1040 nonstatic_field(ciMethodData, _arg_stack, intx) \ | 991 nonstatic_field(ciMethodData, _arg_stack, intx) \ |
1041 nonstatic_field(ciMethodData, _arg_returned, intx) \ | 992 nonstatic_field(ciMethodData, _arg_returned, intx) \ |
1042 nonstatic_field(ciMethodData, _current_mileage, int) \ | 993 nonstatic_field(ciMethodData, _current_mileage, int) \ |
1043 nonstatic_field(ciMethodData, _orig, methodDataOopDesc) \ | 994 nonstatic_field(ciMethodData, _orig, MethodData) \ |
1044 \ | 995 \ |
1045 nonstatic_field(ciField, _holder, ciInstanceKlass*) \ | 996 nonstatic_field(ciField, _holder, ciInstanceKlass*) \ |
1046 nonstatic_field(ciField, _name, ciSymbol*) \ | 997 nonstatic_field(ciField, _name, ciSymbol*) \ |
1047 nonstatic_field(ciField, _signature, ciSymbol*) \ | 998 nonstatic_field(ciField, _signature, ciSymbol*) \ |
1048 nonstatic_field(ciField, _offset, int) \ | 999 nonstatic_field(ciField, _offset, int) \ |
1049 nonstatic_field(ciField, _is_constant, bool) \ | 1000 nonstatic_field(ciField, _is_constant, bool) \ |
1050 nonstatic_field(ciField, _constant_value, ciConstant) \ | 1001 nonstatic_field(ciField, _constant_value, ciConstant) \ |
1051 \ | 1002 \ |
1052 nonstatic_field(ciObjectFactory, _ci_objects, GrowableArray<ciObject*>*) \ | 1003 nonstatic_field(ciObjectFactory, _ci_metadata, GrowableArray<ciMetadata*>*) \ |
1053 nonstatic_field(ciObjectFactory, _symbols, GrowableArray<ciSymbol*>*) \ | 1004 nonstatic_field(ciObjectFactory, _symbols, GrowableArray<ciSymbol*>*) \ |
1054 nonstatic_field(ciObjectFactory, _unloaded_methods, GrowableArray<ciMethod*>*) \ | 1005 nonstatic_field(ciObjectFactory, _unloaded_methods, GrowableArray<ciMethod*>*) \ |
1055 \ | 1006 \ |
1056 nonstatic_field(ciConstant, _type, BasicType) \ | 1007 nonstatic_field(ciConstant, _type, BasicType) \ |
1057 nonstatic_field(ciConstant, _value._int, jint) \ | 1008 nonstatic_field(ciConstant, _value._int, jint) \ |
1232 static_field(Arguments, _num_jvm_flags, int) \ | 1183 static_field(Arguments, _num_jvm_flags, int) \ |
1233 static_field(Arguments, _jvm_args_array, char**) \ | 1184 static_field(Arguments, _jvm_args_array, char**) \ |
1234 static_field(Arguments, _num_jvm_args, int) \ | 1185 static_field(Arguments, _num_jvm_args, int) \ |
1235 static_field(Arguments, _java_command, char*) \ | 1186 static_field(Arguments, _java_command, char*) \ |
1236 \ | 1187 \ |
1188 /************/ \ | |
1189 /* Array<T> */ \ | |
1190 /************/ \ | |
1191 \ | |
1192 nonstatic_field(Array<int>, _length, int) \ | |
1193 unchecked_nonstatic_field(Array<int>, _data, sizeof(int)) \ | |
1194 unchecked_nonstatic_field(Array<u1>, _data, sizeof(u1)) \ | |
1195 unchecked_nonstatic_field(Array<u2>, _data, sizeof(u2)) \ | |
1196 unchecked_nonstatic_field(Array<Method*>, _data, sizeof(Method*)) \ | |
1197 unchecked_nonstatic_field(Array<Klass*>, _data, sizeof(Klass*)) \ | |
1198 \ | |
1237 /*********************************/ \ | 1199 /*********************************/ \ |
1238 /* java_lang_Class fields */ \ | 1200 /* java_lang_Class fields */ \ |
1239 /*********************************/ \ | 1201 /*********************************/ \ |
1240 \ | 1202 \ |
1241 static_field(java_lang_Class, _klass_offset, int) \ | 1203 static_field(java_lang_Class, _klass_offset, int) \ |
1246 \ | 1208 \ |
1247 /************************/ \ | 1209 /************************/ \ |
1248 /* Miscellaneous fields */ \ | 1210 /* Miscellaneous fields */ \ |
1249 /************************/ \ | 1211 /************************/ \ |
1250 \ | 1212 \ |
1251 nonstatic_field(CompileTask, _method, jobject) \ | 1213 nonstatic_field(CompileTask, _method, Method*) \ |
1252 nonstatic_field(CompileTask, _osr_bci, int) \ | 1214 nonstatic_field(CompileTask, _osr_bci, int) \ |
1253 nonstatic_field(CompileTask, _comp_level, int) \ | 1215 nonstatic_field(CompileTask, _comp_level, int) \ |
1254 nonstatic_field(CompileTask, _compile_id, uint) \ | 1216 nonstatic_field(CompileTask, _compile_id, uint) \ |
1255 nonstatic_field(CompileTask, _next, CompileTask*) \ | 1217 nonstatic_field(CompileTask, _next, CompileTask*) \ |
1256 nonstatic_field(CompileTask, _prev, CompileTask*) \ | 1218 nonstatic_field(CompileTask, _prev, CompileTask*) \ |
1260 nonstatic_field(vframeArray, _caller, frame) \ | 1222 nonstatic_field(vframeArray, _caller, frame) \ |
1261 nonstatic_field(vframeArray, _frames, int) \ | 1223 nonstatic_field(vframeArray, _frames, int) \ |
1262 \ | 1224 \ |
1263 nonstatic_field(vframeArrayElement, _frame, frame) \ | 1225 nonstatic_field(vframeArrayElement, _frame, frame) \ |
1264 nonstatic_field(vframeArrayElement, _bci, int) \ | 1226 nonstatic_field(vframeArrayElement, _bci, int) \ |
1265 nonstatic_field(vframeArrayElement, _method, methodOop) \ | 1227 nonstatic_field(vframeArrayElement, _method, Method*) \ |
1266 \ | 1228 \ |
1267 nonstatic_field(AccessFlags, _flags, jint) \ | 1229 nonstatic_field(AccessFlags, _flags, jint) \ |
1268 nonstatic_field(elapsedTimer, _counter, jlong) \ | 1230 nonstatic_field(elapsedTimer, _counter, jlong) \ |
1269 nonstatic_field(elapsedTimer, _active, bool) \ | 1231 nonstatic_field(elapsedTimer, _active, bool) \ |
1270 nonstatic_field(InvocationCounter, _counter, unsigned int) | 1232 nonstatic_field(InvocationCounter, _counter, unsigned int) |
1358 declare_unsigned_integer_type(unsigned short) \ | 1320 declare_unsigned_integer_type(unsigned short) \ |
1359 declare_unsigned_integer_type(jushort) \ | 1321 declare_unsigned_integer_type(jushort) \ |
1360 declare_unsigned_integer_type(unsigned long) \ | 1322 declare_unsigned_integer_type(unsigned long) \ |
1361 /* The compiler thinks this is a different type than */ \ | 1323 /* The compiler thinks this is a different type than */ \ |
1362 /* unsigned short on Win32 */ \ | 1324 /* unsigned short on Win32 */ \ |
1325 declare_unsigned_integer_type(u1) \ | |
1363 declare_unsigned_integer_type(u2) \ | 1326 declare_unsigned_integer_type(u2) \ |
1364 declare_unsigned_integer_type(u1) \ | |
1365 declare_unsigned_integer_type(unsigned) \ | 1327 declare_unsigned_integer_type(unsigned) \ |
1366 \ | 1328 \ |
1367 /*****************************/ \ | 1329 /*****************************/ \ |
1368 /* C primitive pointer types */ \ | 1330 /* C primitive pointer types */ \ |
1369 /*****************************/ \ | 1331 /*****************************/ \ |
1370 \ | 1332 \ |
1333 declare_toplevel_type(void*) \ | |
1371 declare_toplevel_type(int*) \ | 1334 declare_toplevel_type(int*) \ |
1372 declare_toplevel_type(char*) \ | 1335 declare_toplevel_type(char*) \ |
1373 declare_toplevel_type(char**) \ | 1336 declare_toplevel_type(char**) \ |
1374 declare_toplevel_type(u_char*) \ | 1337 declare_toplevel_type(u_char*) \ |
1375 declare_toplevel_type(unsigned char*) \ | 1338 declare_toplevel_type(unsigned char*) \ |
1387 declare_unsigned_integer_type(uintx) \ | 1350 declare_unsigned_integer_type(uintx) \ |
1388 declare_unsigned_integer_type(uintptr_t) \ | 1351 declare_unsigned_integer_type(uintptr_t) \ |
1389 declare_unsigned_integer_type(uint32_t) \ | 1352 declare_unsigned_integer_type(uint32_t) \ |
1390 declare_unsigned_integer_type(uint64_t) \ | 1353 declare_unsigned_integer_type(uint64_t) \ |
1391 \ | 1354 \ |
1392 /*******************************************************************************/ \ | 1355 /******************************************/ \ |
1393 /* OopDesc and Klass hierarchies (NOTE: missing methodDataOop-related classes) */ \ | 1356 /* OopDesc hierarchy (NOTE: some missing) */ \ |
1394 /*******************************************************************************/ \ | 1357 /******************************************/ \ |
1395 \ | 1358 \ |
1396 declare_toplevel_type(oopDesc) \ | 1359 declare_toplevel_type(oopDesc) \ |
1397 declare_toplevel_type(Klass_vtbl) \ | 1360 declare_type(arrayOopDesc, oopDesc) \ |
1398 declare_type(Klass, Klass_vtbl) \ | 1361 declare_type(objArrayOopDesc, arrayOopDesc) \ |
1362 declare_type(instanceOopDesc, oopDesc) \ | |
1363 declare_type(markOopDesc, oopDesc) \ | |
1364 \ | |
1365 /**************************************************/ \ | |
1366 /* MetadataOopDesc hierarchy (NOTE: some missing) */ \ | |
1367 /**************************************************/ \ | |
1368 \ | |
1369 declare_toplevel_type(CompiledICHolder) \ | |
1370 declare_toplevel_type(MetaspaceObj) \ | |
1371 declare_type(Metadata, MetaspaceObj) \ | |
1372 declare_type(Klass, Metadata) \ | |
1399 declare_type(arrayKlass, Klass) \ | 1373 declare_type(arrayKlass, Klass) \ |
1400 declare_type(arrayKlassKlass, klassKlass) \ | |
1401 declare_type(arrayOopDesc, oopDesc) \ | |
1402 declare_type(compiledICHolderKlass, Klass) \ | |
1403 declare_type(compiledICHolderOopDesc, oopDesc) \ | |
1404 declare_type(constantPoolKlass, Klass) \ | |
1405 declare_type(constantPoolOopDesc, oopDesc) \ | |
1406 declare_type(constantPoolCacheKlass, Klass) \ | |
1407 declare_type(constantPoolCacheOopDesc, oopDesc) \ | |
1408 declare_type(instanceKlass, Klass) \ | |
1409 declare_type(instanceKlassKlass, klassKlass) \ | |
1410 declare_type(instanceOopDesc, oopDesc) \ | |
1411 declare_type(instanceMirrorKlass, instanceKlass) \ | |
1412 declare_type(instanceRefKlass, instanceKlass) \ | |
1413 declare_type(klassKlass, Klass) \ | |
1414 declare_type(klassOopDesc, oopDesc) \ | |
1415 declare_type(markOopDesc, oopDesc) \ | |
1416 declare_type(methodDataKlass, Klass) \ | |
1417 declare_type(methodDataOopDesc, oopDesc) \ | |
1418 declare_type(methodKlass, Klass) \ | |
1419 declare_type(constMethodKlass, Klass) \ | |
1420 declare_type(methodOopDesc, oopDesc) \ | |
1421 declare_type(objArrayKlass, arrayKlass) \ | 1374 declare_type(objArrayKlass, arrayKlass) \ |
1422 declare_type(objArrayKlassKlass, arrayKlassKlass) \ | |
1423 declare_type(objArrayOopDesc, arrayOopDesc) \ | |
1424 declare_type(constMethodOopDesc, oopDesc) \ | |
1425 declare_type(typeArrayKlass, arrayKlass) \ | 1375 declare_type(typeArrayKlass, arrayKlass) \ |
1426 declare_type(typeArrayKlassKlass, arrayKlassKlass) \ | 1376 declare_type(InstanceKlass, Klass) \ |
1427 declare_type(typeArrayOopDesc, arrayOopDesc) \ | 1377 declare_type(instanceClassLoaderKlass, InstanceKlass) \ |
1378 declare_type(instanceMirrorKlass, InstanceKlass) \ | |
1379 declare_type(instanceRefKlass, InstanceKlass) \ | |
1380 declare_type(ConstantPool, Metadata) \ | |
1381 declare_type(ConstantPoolCache, MetaspaceObj) \ | |
1382 declare_type(MethodData, Metadata) \ | |
1383 declare_type(Method, Metadata) \ | |
1384 declare_type(ConstMethod, MetaspaceObj) \ | |
1385 \ | |
1428 declare_toplevel_type(Symbol) \ | 1386 declare_toplevel_type(Symbol) \ |
1429 declare_toplevel_type(Symbol*) \ | 1387 declare_toplevel_type(Symbol*) \ |
1388 declare_toplevel_type(volatile Metadata*) \ | |
1430 \ | 1389 \ |
1431 declare_toplevel_type(nmethodBucket) \ | 1390 declare_toplevel_type(nmethodBucket) \ |
1432 \ | 1391 \ |
1433 /********/ \ | 1392 /********/ \ |
1434 /* Oops */ \ | 1393 /* Oops */ \ |
1435 /********/ \ | 1394 /********/ \ |
1436 \ | 1395 \ |
1437 declare_oop_type(constantPoolOop) \ | |
1438 declare_oop_type(constantPoolCacheOop) \ | |
1439 declare_oop_type(klassOop) \ | |
1440 declare_oop_type(markOop) \ | 1396 declare_oop_type(markOop) \ |
1441 declare_oop_type(methodOop) \ | |
1442 declare_oop_type(methodDataOop) \ | |
1443 declare_oop_type(objArrayOop) \ | 1397 declare_oop_type(objArrayOop) \ |
1444 declare_oop_type(oop) \ | 1398 declare_oop_type(oop) \ |
1445 declare_oop_type(narrowOop) \ | 1399 declare_oop_type(narrowOop) \ |
1446 declare_oop_type(wideKlassOop) \ | |
1447 declare_oop_type(constMethodOop) \ | |
1448 declare_oop_type(typeArrayOop) \ | 1400 declare_oop_type(typeArrayOop) \ |
1449 \ | 1401 \ |
1450 /*************************************/ \ | 1402 /*************************************/ \ |
1451 /* MethodOop-related data structures */ \ | 1403 /* MethodOop-related data structures */ \ |
1452 /*************************************/ \ | 1404 /*************************************/ \ |
1453 \ | 1405 \ |
1454 declare_toplevel_type(CheckedExceptionElement) \ | 1406 declare_toplevel_type(CheckedExceptionElement) \ |
1455 declare_toplevel_type(LocalVariableTableElement) \ | 1407 declare_toplevel_type(LocalVariableTableElement) \ |
1456 declare_toplevel_type(ExceptionTableElement) \ | 1408 declare_toplevel_type(ExceptionTableElement) \ |
1409 \ | |
1410 declare_toplevel_type(ClassLoaderData) \ | |
1411 declare_toplevel_type(ClassLoaderDataGraph) \ | |
1457 \ | 1412 \ |
1458 /******************************************/ \ | 1413 /******************************************/ \ |
1459 /* Generation and space hierarchies */ \ | 1414 /* Generation and space hierarchies */ \ |
1460 /* (needed for run-time type information) */ \ | 1415 /* (needed for run-time type information) */ \ |
1461 /******************************************/ \ | 1416 /******************************************/ \ |
1466 declare_toplevel_type(Generation) \ | 1421 declare_toplevel_type(Generation) \ |
1467 declare_type(DefNewGeneration, Generation) \ | 1422 declare_type(DefNewGeneration, Generation) \ |
1468 declare_type(CardGeneration, Generation) \ | 1423 declare_type(CardGeneration, Generation) \ |
1469 declare_type(OneContigSpaceCardGeneration, CardGeneration) \ | 1424 declare_type(OneContigSpaceCardGeneration, CardGeneration) \ |
1470 declare_type(TenuredGeneration, OneContigSpaceCardGeneration) \ | 1425 declare_type(TenuredGeneration, OneContigSpaceCardGeneration) \ |
1471 declare_type(CompactingPermGenGen, OneContigSpaceCardGeneration) \ | |
1472 declare_toplevel_type(Space) \ | 1426 declare_toplevel_type(Space) \ |
1473 declare_toplevel_type(BitMap) \ | 1427 declare_toplevel_type(BitMap) \ |
1474 declare_type(CompactibleSpace, Space) \ | 1428 declare_type(CompactibleSpace, Space) \ |
1475 declare_type(ContiguousSpace, CompactibleSpace) \ | 1429 declare_type(ContiguousSpace, CompactibleSpace) \ |
1476 declare_type(EdenSpace, ContiguousSpace) \ | 1430 declare_type(EdenSpace, ContiguousSpace) \ |
1477 declare_type(OffsetTableContigSpace, ContiguousSpace) \ | 1431 declare_type(OffsetTableContigSpace, ContiguousSpace) \ |
1478 declare_type(TenuredSpace, OffsetTableContigSpace) \ | 1432 declare_type(TenuredSpace, OffsetTableContigSpace) \ |
1479 declare_type(ContigPermSpace, OffsetTableContigSpace) \ | |
1480 declare_toplevel_type(PermGen) \ | |
1481 declare_type(CompactingPermGen, PermGen) \ | |
1482 declare_toplevel_type(BarrierSet) \ | 1433 declare_toplevel_type(BarrierSet) \ |
1483 declare_type(ModRefBarrierSet, BarrierSet) \ | 1434 declare_type(ModRefBarrierSet, BarrierSet) \ |
1484 declare_type(CardTableModRefBS, ModRefBarrierSet) \ | 1435 declare_type(CardTableModRefBS, ModRefBarrierSet) \ |
1485 declare_type(CardTableModRefBSForCTRS, CardTableModRefBS) \ | 1436 declare_type(CardTableModRefBSForCTRS, CardTableModRefBS) \ |
1486 declare_toplevel_type(GenRemSet) \ | 1437 declare_toplevel_type(GenRemSet) \ |
1496 declare_toplevel_type(ageTable) \ | 1447 declare_toplevel_type(ageTable) \ |
1497 declare_toplevel_type(Generation::StatRecord) \ | 1448 declare_toplevel_type(Generation::StatRecord) \ |
1498 declare_toplevel_type(GenerationSpec) \ | 1449 declare_toplevel_type(GenerationSpec) \ |
1499 declare_toplevel_type(HeapWord) \ | 1450 declare_toplevel_type(HeapWord) \ |
1500 declare_toplevel_type(MemRegion) \ | 1451 declare_toplevel_type(MemRegion) \ |
1501 declare_toplevel_type(PermanentGenerationSpec) \ | |
1502 declare_toplevel_type(ThreadLocalAllocBuffer) \ | 1452 declare_toplevel_type(ThreadLocalAllocBuffer) \ |
1503 declare_toplevel_type(VirtualSpace) \ | 1453 declare_toplevel_type(VirtualSpace) \ |
1504 declare_toplevel_type(WaterMark) \ | 1454 declare_toplevel_type(WaterMark) \ |
1505 \ | 1455 \ |
1506 /* Pointers to Garbage Collection types */ \ | 1456 /* Pointers to Garbage Collection types */ \ |
1522 declare_toplevel_type(GenerationSpec**) \ | 1472 declare_toplevel_type(GenerationSpec**) \ |
1523 declare_toplevel_type(HeapWord*) \ | 1473 declare_toplevel_type(HeapWord*) \ |
1524 declare_toplevel_type(MemRegion*) \ | 1474 declare_toplevel_type(MemRegion*) \ |
1525 declare_toplevel_type(OffsetTableContigSpace*) \ | 1475 declare_toplevel_type(OffsetTableContigSpace*) \ |
1526 declare_toplevel_type(OneContigSpaceCardGeneration*) \ | 1476 declare_toplevel_type(OneContigSpaceCardGeneration*) \ |
1527 declare_toplevel_type(PermGen*) \ | |
1528 declare_toplevel_type(Space*) \ | 1477 declare_toplevel_type(Space*) \ |
1529 declare_toplevel_type(ThreadLocalAllocBuffer*) \ | 1478 declare_toplevel_type(ThreadLocalAllocBuffer*) \ |
1530 \ | 1479 \ |
1531 /************************/ \ | 1480 /************************/ \ |
1532 /* PerfMemory - jvmstat */ \ | 1481 /* PerfMemory - jvmstat */ \ |
1543 \ | 1492 \ |
1544 declare_toplevel_type(BasicHashtable<mtInternal>) \ | 1493 declare_toplevel_type(BasicHashtable<mtInternal>) \ |
1545 declare_type(IntptrHashtable, BasicHashtable<mtInternal>) \ | 1494 declare_type(IntptrHashtable, BasicHashtable<mtInternal>) \ |
1546 declare_type(SymbolTable, SymbolHashtable) \ | 1495 declare_type(SymbolTable, SymbolHashtable) \ |
1547 declare_type(StringTable, StringHashtable) \ | 1496 declare_type(StringTable, StringHashtable) \ |
1548 declare_type(LoaderConstraintTable, klassOopHashtable) \ | 1497 declare_type(LoaderConstraintTable, KlassHashtable) \ |
1549 declare_type(klassOopTwoOopHashtable, klassOopHashtable) \ | 1498 declare_type(KlassTwoOopHashtable, KlassHashtable) \ |
1550 declare_type(Dictionary, klassOopTwoOopHashtable) \ | 1499 declare_type(Dictionary, KlassTwoOopHashtable) \ |
1551 declare_type(PlaceholderTable, SymbolTwoOopHashtable) \ | 1500 declare_type(PlaceholderTable, SymbolTwoOopHashtable) \ |
1552 declare_toplevel_type(BasicHashtableEntry<mtInternal>) \ | 1501 declare_toplevel_type(BasicHashtableEntry<mtInternal>) \ |
1553 declare_type(IntptrHashtableEntry, BasicHashtableEntry<mtInternal>) \ | 1502 declare_type(IntptrHashtableEntry, BasicHashtableEntry<mtInternal>) \ |
1554 declare_type(DictionaryEntry, klassHashtableEntry) \ | 1503 declare_type(DictionaryEntry, KlassHashtableEntry) \ |
1555 declare_type(PlaceholderEntry, SymbolHashtableEntry) \ | 1504 declare_type(PlaceholderEntry, SymbolHashtableEntry) \ |
1556 declare_type(LoaderConstraintEntry, klassHashtableEntry) \ | 1505 declare_type(LoaderConstraintEntry, KlassHashtableEntry) \ |
1557 declare_toplevel_type(HashtableBucket<mtInternal>) \ | 1506 declare_toplevel_type(HashtableBucket<mtInternal>) \ |
1558 declare_toplevel_type(SystemDictionary) \ | 1507 declare_toplevel_type(SystemDictionary) \ |
1559 declare_toplevel_type(vmSymbols) \ | 1508 declare_toplevel_type(vmSymbols) \ |
1560 declare_toplevel_type(ProtectionDomainEntry) \ | 1509 declare_toplevel_type(ProtectionDomainEntry) \ |
1561 \ | 1510 \ |
2005 /*********************/ \ | 1954 /*********************/ \ |
2006 declare_toplevel_type(ciEnv) \ | 1955 declare_toplevel_type(ciEnv) \ |
2007 declare_toplevel_type(ciObjectFactory) \ | 1956 declare_toplevel_type(ciObjectFactory) \ |
2008 declare_toplevel_type(ciConstant) \ | 1957 declare_toplevel_type(ciConstant) \ |
2009 declare_toplevel_type(ciField) \ | 1958 declare_toplevel_type(ciField) \ |
2010 declare_toplevel_type(void*) \ | 1959 declare_toplevel_type(ciSymbol) \ |
2011 declare_toplevel_type(ciObject) \ | 1960 declare_toplevel_type(ciBaseObject) \ |
2012 declare_type(ciMethod, ciObject) \ | 1961 declare_type(ciObject, ciBaseObject) \ |
2013 declare_type(ciMethodData, ciObject) \ | |
2014 declare_type(ciType, ciObject) \ | |
2015 declare_type(ciInstance, ciObject) \ | 1962 declare_type(ciInstance, ciObject) \ |
2016 declare_toplevel_type(ciSymbol) \ | 1963 declare_type(ciMetadata, ciBaseObject) \ |
1964 declare_type(ciMethod, ciMetadata) \ | |
1965 declare_type(ciMethodData, ciMetadata) \ | |
1966 declare_type(ciType, ciMetadata) \ | |
2017 declare_type(ciKlass, ciType) \ | 1967 declare_type(ciKlass, ciType) \ |
2018 declare_type(ciInstanceKlass, ciKlass) \ | 1968 declare_type(ciInstanceKlass, ciKlass) \ |
2019 declare_type(ciArrayKlass, ciKlass) \ | 1969 declare_type(ciArrayKlass, ciKlass) \ |
2020 declare_type(ciTypeArrayKlass, ciArrayKlass) \ | 1970 declare_type(ciTypeArrayKlass, ciArrayKlass) \ |
2021 declare_type(ciObjArrayKlass, ciArrayKlass) \ | 1971 declare_type(ciObjArrayKlass, ciArrayKlass) \ |
2022 declare_type(ciMethodKlass, ciKlass) \ | |
2023 declare_type(ciKlassKlass, ciKlass) \ | |
2024 declare_type(ciInstanceKlassKlass, ciKlassKlass) \ | |
2025 declare_type(ciArrayKlassKlass, ciKlassKlass) \ | |
2026 declare_type(ciTypeArrayKlassKlass, ciArrayKlassKlass) \ | |
2027 declare_type(ciObjArrayKlassKlass, ciArrayKlassKlass) \ | |
2028 \ | 1972 \ |
2029 /********************/ \ | 1973 /********************/ \ |
2030 /* -XX flags */ \ | 1974 /* -XX flags */ \ |
2031 /********************/ \ | 1975 /********************/ \ |
2032 \ | 1976 \ |
2058 \ | 2002 \ |
2059 /* all enum types */ \ | 2003 /* all enum types */ \ |
2060 \ | 2004 \ |
2061 declare_integer_type(Bytecodes::Code) \ | 2005 declare_integer_type(Bytecodes::Code) \ |
2062 declare_integer_type(Generation::Name) \ | 2006 declare_integer_type(Generation::Name) \ |
2063 declare_integer_type(instanceKlass::ClassState) \ | 2007 declare_integer_type(InstanceKlass::ClassState) \ |
2064 declare_integer_type(JavaThreadState) \ | 2008 declare_integer_type(JavaThreadState) \ |
2065 declare_integer_type(Location::Type) \ | 2009 declare_integer_type(Location::Type) \ |
2066 declare_integer_type(Location::Where) \ | 2010 declare_integer_type(Location::Where) \ |
2067 declare_integer_type(PermGen::Name) \ | |
2068 declare_integer_type(FlagValueOrigin) \ | 2011 declare_integer_type(FlagValueOrigin) \ |
2069 COMPILER2_PRESENT(declare_integer_type(OptoReg::Name)) \ | 2012 COMPILER2_PRESENT(declare_integer_type(OptoReg::Name)) \ |
2013 \ | |
2014 declare_toplevel_type(CHeapObj<mtInternal>) \ | |
2015 declare_type(Array<int>, MetaspaceObj) \ | |
2016 declare_type(Array<u1>, MetaspaceObj) \ | |
2017 declare_type(Array<u2>, MetaspaceObj) \ | |
2018 declare_type(Array<Klass*>, MetaspaceObj) \ | |
2019 declare_type(Array<Method*>, MetaspaceObj) \ | |
2070 \ | 2020 \ |
2071 declare_integer_type(AccessFlags) /* FIXME: wrong type (not integer) */\ | 2021 declare_integer_type(AccessFlags) /* FIXME: wrong type (not integer) */\ |
2072 declare_toplevel_type(address) /* FIXME: should this be an integer type? */\ | 2022 declare_toplevel_type(address) /* FIXME: should this be an integer type? */\ |
2073 declare_integer_type(BasicType) /* FIXME: wrong type (not integer) */\ | 2023 declare_integer_type(BasicType) /* FIXME: wrong type (not integer) */\ |
2074 declare_toplevel_type(BreakpointInfo) \ | 2024 declare_toplevel_type(BreakpointInfo) \ |
2106 declare_integer_type(ReferenceType) \ | 2056 declare_integer_type(ReferenceType) \ |
2107 declare_toplevel_type(StubQueue*) \ | 2057 declare_toplevel_type(StubQueue*) \ |
2108 declare_toplevel_type(Thread*) \ | 2058 declare_toplevel_type(Thread*) \ |
2109 declare_toplevel_type(Universe) \ | 2059 declare_toplevel_type(Universe) \ |
2110 declare_toplevel_type(vframeArray) \ | 2060 declare_toplevel_type(vframeArray) \ |
2111 declare_toplevel_type(vframeArrayElement) | 2061 declare_toplevel_type(vframeArrayElement) \ |
2062 declare_toplevel_type(Annotations*) | |
2112 | 2063 |
2113 | 2064 |
2114 /* NOTE that we do not use the last_entry() macro here; it is used */ | 2065 /* NOTE that we do not use the last_entry() macro here; it is used */ |
2115 /* in vmStructs_<os>_<cpu>.hpp's VM_TYPES_OS_CPU macro (and must be */ | 2066 /* in vmStructs_<os>_<cpu>.hpp's VM_TYPES_OS_CPU macro (and must be */ |
2116 /* present there) */ | 2067 /* present there) */ |
2147 /* Object sizes */ \ | 2098 /* Object sizes */ \ |
2148 /****************/ \ | 2099 /****************/ \ |
2149 \ | 2100 \ |
2150 declare_constant(oopSize) \ | 2101 declare_constant(oopSize) \ |
2151 declare_constant(LogBytesPerWord) \ | 2102 declare_constant(LogBytesPerWord) \ |
2103 declare_constant(BytesPerWord) \ | |
2152 declare_constant(BytesPerLong) \ | 2104 declare_constant(BytesPerLong) \ |
2153 \ | 2105 \ |
2154 /********************************************/ \ | 2106 /********************************************/ \ |
2155 /* Generation and Space Hierarchy Constants */ \ | 2107 /* Generation and Space Hierarchy Constants */ \ |
2156 /********************************************/ \ | 2108 /********************************************/ \ |
2195 declare_constant(Generation::GenGrain) \ | 2147 declare_constant(Generation::GenGrain) \ |
2196 \ | 2148 \ |
2197 declare_constant(HeapWordSize) \ | 2149 declare_constant(HeapWordSize) \ |
2198 declare_constant(LogHeapWordSize) \ | 2150 declare_constant(LogHeapWordSize) \ |
2199 \ | 2151 \ |
2200 /* constants from PermGen::Name enum */ \ | |
2201 \ | |
2202 declare_constant(PermGen::MarkSweepCompact) \ | |
2203 declare_constant(PermGen::MarkSweep) \ | |
2204 \ | 2152 \ |
2205 /************************/ \ | 2153 /************************/ \ |
2206 /* PerfMemory - jvmstat */ \ | 2154 /* PerfMemory - jvmstat */ \ |
2207 /************************/ \ | 2155 /************************/ \ |
2208 \ | 2156 \ |
2286 declare_constant(Klass::_lh_array_tag_shift) \ | 2234 declare_constant(Klass::_lh_array_tag_shift) \ |
2287 declare_constant(Klass::_lh_array_tag_type_value) \ | 2235 declare_constant(Klass::_lh_array_tag_type_value) \ |
2288 declare_constant(Klass::_lh_array_tag_obj_value) \ | 2236 declare_constant(Klass::_lh_array_tag_obj_value) \ |
2289 \ | 2237 \ |
2290 /********************************/ \ | 2238 /********************************/ \ |
2291 /* constMethodOopDesc anon-enum */ \ | 2239 /* ConstMethod anon-enum */ \ |
2292 /********************************/ \ | 2240 /********************************/ \ |
2293 \ | 2241 \ |
2294 declare_constant(constMethodOopDesc::_has_linenumber_table) \ | 2242 declare_constant(ConstMethod::_has_linenumber_table) \ |
2295 declare_constant(constMethodOopDesc::_has_checked_exceptions) \ | 2243 declare_constant(ConstMethod::_has_checked_exceptions) \ |
2296 declare_constant(constMethodOopDesc::_has_localvariable_table) \ | 2244 declare_constant(ConstMethod::_has_localvariable_table) \ |
2297 declare_constant(constMethodOopDesc::_has_exception_table) \ | 2245 declare_constant(ConstMethod::_has_exception_table) \ |
2298 \ | 2246 \ |
2299 /*************************************/ \ | 2247 /*************************************/ \ |
2300 /* instanceKlass enum */ \ | 2248 /* InstanceKlass enum */ \ |
2301 /*************************************/ \ | 2249 /*************************************/ \ |
2302 \ | 2250 \ |
2303 \ | 2251 \ |
2304 /*************************************/ \ | 2252 /*************************************/ \ |
2305 /* FieldInfo FieldOffset enum */ \ | 2253 /* FieldInfo FieldOffset enum */ \ |
2312 declare_constant(FieldInfo::low_offset) \ | 2260 declare_constant(FieldInfo::low_offset) \ |
2313 declare_constant(FieldInfo::high_offset) \ | 2261 declare_constant(FieldInfo::high_offset) \ |
2314 declare_constant(FieldInfo::field_slots) \ | 2262 declare_constant(FieldInfo::field_slots) \ |
2315 \ | 2263 \ |
2316 /************************************************/ \ | 2264 /************************************************/ \ |
2317 /* instanceKlass InnerClassAttributeOffset enum */ \ | 2265 /* InstanceKlass InnerClassAttributeOffset enum */ \ |
2318 /************************************************/ \ | 2266 /************************************************/ \ |
2319 \ | 2267 \ |
2320 declare_constant(instanceKlass::inner_class_inner_class_info_offset) \ | 2268 declare_constant(InstanceKlass::inner_class_inner_class_info_offset) \ |
2321 declare_constant(instanceKlass::inner_class_outer_class_info_offset) \ | 2269 declare_constant(InstanceKlass::inner_class_outer_class_info_offset) \ |
2322 declare_constant(instanceKlass::inner_class_inner_name_offset) \ | 2270 declare_constant(InstanceKlass::inner_class_inner_name_offset) \ |
2323 declare_constant(instanceKlass::inner_class_access_flags_offset) \ | 2271 declare_constant(InstanceKlass::inner_class_access_flags_offset) \ |
2324 declare_constant(instanceKlass::inner_class_next_offset) \ | 2272 declare_constant(InstanceKlass::inner_class_next_offset) \ |
2325 \ | 2273 \ |
2326 /*********************************/ \ | 2274 /*********************************/ \ |
2327 /* instanceKlass ClassState enum */ \ | 2275 /* InstanceKlass ClassState enum */ \ |
2328 /*********************************/ \ | 2276 /*********************************/ \ |
2329 \ | 2277 \ |
2330 declare_constant(instanceKlass::unparsable_by_gc) \ | 2278 declare_constant(InstanceKlass::allocated) \ |
2331 declare_constant(instanceKlass::allocated) \ | 2279 declare_constant(InstanceKlass::loaded) \ |
2332 declare_constant(instanceKlass::loaded) \ | 2280 declare_constant(InstanceKlass::linked) \ |
2333 declare_constant(instanceKlass::linked) \ | 2281 declare_constant(InstanceKlass::being_initialized) \ |
2334 declare_constant(instanceKlass::being_initialized) \ | 2282 declare_constant(InstanceKlass::fully_initialized) \ |
2335 declare_constant(instanceKlass::fully_initialized) \ | 2283 declare_constant(InstanceKlass::initialization_error) \ |
2336 declare_constant(instanceKlass::initialization_error) \ | |
2337 \ | 2284 \ |
2338 /*********************************/ \ | 2285 /*********************************/ \ |
2339 /* Symbol* - symbol max length */ \ | 2286 /* Symbol* - symbol max length */ \ |
2340 /*********************************/ \ | 2287 /*********************************/ \ |
2341 \ | 2288 \ |
2342 declare_constant(Symbol::max_symbol_length) \ | 2289 declare_constant(Symbol::max_symbol_length) \ |
2343 \ | 2290 \ |
2344 /*************************************************/ \ | 2291 /*************************************************/ \ |
2345 /* constantPoolOop layout enum for InvokeDynamic */ \ | 2292 /* ConstantPool* layout enum for InvokeDynamic */ \ |
2346 /*************************************************/ \ | 2293 /*************************************************/ \ |
2347 \ | 2294 \ |
2348 declare_constant(constantPoolOopDesc::_indy_bsm_offset) \ | 2295 declare_constant(ConstantPool::_indy_bsm_offset) \ |
2349 declare_constant(constantPoolOopDesc::_indy_argc_offset) \ | 2296 declare_constant(ConstantPool::_indy_argc_offset) \ |
2350 declare_constant(constantPoolOopDesc::_indy_argv_offset) \ | 2297 declare_constant(ConstantPool::_indy_argv_offset) \ |
2351 \ | 2298 \ |
2352 /********************************/ \ | 2299 /********************************/ \ |
2353 /* ConstantPoolCacheEntry enums */ \ | 2300 /* ConstantPoolCacheEntry enums */ \ |
2354 /********************************/ \ | 2301 /********************************/ \ |
2355 \ | 2302 \ |
3165 delete s; | 3112 delete s; |
3166 return 1; | 3113 return 1; |
3167 } | 3114 } |
3168 delete s; | 3115 delete s; |
3169 } | 3116 } |
3117 const char* start = NULL; | |
3170 if (strstr(typeName, "GrowableArray<") == typeName) { | 3118 if (strstr(typeName, "GrowableArray<") == typeName) { |
3171 const char * start = typeName + strlen("GrowableArray<"); | 3119 start = typeName + strlen("GrowableArray<"); |
3120 } else if (strstr(typeName, "Array<") == typeName) { | |
3121 start = typeName + strlen("Array<"); | |
3122 } | |
3123 if (start != NULL) { | |
3172 const char * end = strrchr(typeName, '>'); | 3124 const char * end = strrchr(typeName, '>'); |
3173 int len = end - start + 1; | 3125 int len = end - start + 1; |
3174 char * s = new char[len]; | 3126 char * s = new char[len]; |
3175 strncpy(s, start, len - 1); | 3127 strncpy(s, start, len - 1); |
3176 s[len-1] = '\0'; | 3128 s[len-1] = '\0'; |