--- a/hotspot/src/share/vm/runtime/vmStructs.cpp Fri Aug 31 16:39:35 2012 -0700
+++ b/hotspot/src/share/vm/runtime/vmStructs.cpp Sat Sep 01 13:25:18 2012 -0400
@@ -51,48 +51,37 @@
#include "interpreter/bytecodeInterpreter.hpp"
#include "interpreter/bytecodes.hpp"
#include "interpreter/interpreter.hpp"
+#include "memory/allocation.hpp"
#include "memory/cardTableRS.hpp"
-#include "memory/compactPermGen.hpp"
#include "memory/defNewGeneration.hpp"
#include "memory/freeBlockDictionary.hpp"
#include "memory/genCollectedHeap.hpp"
#include "memory/generation.hpp"
#include "memory/generationSpec.hpp"
#include "memory/heap.hpp"
-#include "memory/permGen.hpp"
#include "memory/space.hpp"
#include "memory/tenuredGeneration.hpp"
#include "memory/universe.hpp"
#include "memory/watermark.hpp"
#include "oops/arrayKlass.hpp"
-#include "oops/arrayKlassKlass.hpp"
#include "oops/arrayOop.hpp"
-#include "oops/compiledICHolderKlass.hpp"
-#include "oops/compiledICHolderOop.hpp"
-#include "oops/constMethodKlass.hpp"
-#include "oops/constMethodOop.hpp"
-#include "oops/constantPoolKlass.hpp"
-#include "oops/constantPoolOop.hpp"
-#include "oops/cpCacheKlass.hpp"
-#include "oops/cpCacheOop.hpp"
+#include "oops/compiledICHolder.hpp"
+#include "oops/constMethod.hpp"
+#include "oops/constantPool.hpp"
+#include "oops/cpCache.hpp"
+#include "oops/instanceClassLoaderKlass.hpp"
#include "oops/instanceKlass.hpp"
#include "oops/instanceMirrorKlass.hpp"
-#include "oops/instanceKlassKlass.hpp"
#include "oops/instanceOop.hpp"
#include "oops/klass.hpp"
-#include "oops/klassOop.hpp"
#include "oops/markOop.hpp"
-#include "oops/methodDataKlass.hpp"
-#include "oops/methodDataOop.hpp"
-#include "oops/methodKlass.hpp"
-#include "oops/methodOop.hpp"
+#include "oops/methodData.hpp"
+#include "oops/method.hpp"
#include "oops/objArrayKlass.hpp"
-#include "oops/objArrayKlassKlass.hpp"
#include "oops/objArrayOop.hpp"
#include "oops/oop.inline.hpp"
#include "oops/symbol.hpp"
#include "oops/typeArrayKlass.hpp"
-#include "oops/typeArrayKlassKlass.hpp"
#include "oops/typeArrayOop.hpp"
#include "prims/jvmtiAgentThread.hpp"
#include "runtime/arguments.hpp"
@@ -107,6 +96,7 @@
#include "runtime/stubRoutines.hpp"
#include "runtime/virtualspace.hpp"
#include "runtime/vmStructs.hpp"
+#include "utilities/array.hpp"
#include "utilities/globalDefinitions.hpp"
#include "utilities/hashtable.hpp"
#ifdef TARGET_ARCH_x86
@@ -167,7 +157,6 @@
# include "vmStructs_bsd_zero.hpp"
#endif
#ifndef SERIALGC
-#include "gc_implementation/concurrentMarkSweep/cmsPermGen.hpp"
#include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp"
#include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp"
#include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp"
@@ -178,7 +167,6 @@
#include "gc_implementation/parallelScavenge/asPSYoungGen.hpp"
#include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
#include "gc_implementation/parallelScavenge/psOldGen.hpp"
-#include "gc_implementation/parallelScavenge/psPermGen.hpp"
#include "gc_implementation/parallelScavenge/psVirtualspace.hpp"
#include "gc_implementation/parallelScavenge/psYoungGen.hpp"
#include "gc_implementation/parallelScavenge/vmStructs_parallelgc.hpp"
@@ -248,9 +236,9 @@
typedef Hashtable<Symbol*, mtSymbol> SymbolHashtable;
typedef HashtableEntry<Symbol*, mtClass> SymbolHashtableEntry;
typedef Hashtable<oop, mtSymbol> StringHashtable;
-typedef TwoOopHashtable<klassOop, mtClass> klassOopTwoOopHashtable;
-typedef Hashtable<klassOop, mtClass> klassOopHashtable;
-typedef HashtableEntry<klassOop, mtClass> klassHashtableEntry;
+typedef TwoOopHashtable<Klass*, mtClass> KlassTwoOopHashtable;
+typedef Hashtable<Klass*, mtClass> KlassHashtable;
+typedef HashtableEntry<Klass*, mtClass> KlassHashtableEntry;
typedef TwoOopHashtable<Symbol*, mtClass> SymbolTwoOopHashtable;
//--------------------------------------------------------------------------------
@@ -273,131 +261,126 @@
last_entry) \
\
/******************************************************************/ \
- /* OopDesc and Klass hierarchies (NOTE: methodDataOop incomplete) */ \
+ /* OopDesc and Klass hierarchies (NOTE: MethodData* incomplete) */ \
/******************************************************************/ \
\
volatile_nonstatic_field(oopDesc, _mark, markOop) \
- volatile_nonstatic_field(oopDesc, _metadata._klass, wideKlassOop) \
+ volatile_nonstatic_field(oopDesc, _metadata._klass, Klass*) \
volatile_nonstatic_field(oopDesc, _metadata._compressed_klass, narrowOop) \
static_field(oopDesc, _bs, BarrierSet*) \
nonstatic_field(arrayKlass, _dimension, int) \
- volatile_nonstatic_field(arrayKlass, _higher_dimension, klassOop) \
- volatile_nonstatic_field(arrayKlass, _lower_dimension, klassOop) \
+ volatile_nonstatic_field(arrayKlass, _higher_dimension, Klass*) \
+ volatile_nonstatic_field(arrayKlass, _lower_dimension, Klass*) \
nonstatic_field(arrayKlass, _vtable_len, int) \
nonstatic_field(arrayKlass, _alloc_size, juint) \
nonstatic_field(arrayKlass, _component_mirror, oop) \
- nonstatic_field(compiledICHolderKlass, _alloc_size, juint) \
- nonstatic_field(compiledICHolderOopDesc, _holder_method, methodOop) \
- nonstatic_field(compiledICHolderOopDesc, _holder_klass, klassOop) \
- nonstatic_field(constantPoolOopDesc, _tags, typeArrayOop) \
- nonstatic_field(constantPoolOopDesc, _cache, constantPoolCacheOop) \
- nonstatic_field(constantPoolOopDesc, _pool_holder, klassOop) \
- nonstatic_field(constantPoolOopDesc, _operands, typeArrayOop) \
- nonstatic_field(constantPoolOopDesc, _length, int) \
- nonstatic_field(constantPoolCacheOopDesc, _length, int) \
- nonstatic_field(constantPoolCacheOopDesc, _constant_pool, constantPoolOop) \
- nonstatic_field(instanceKlass, _array_klasses, klassOop) \
- nonstatic_field(instanceKlass, _methods, objArrayOop) \
- nonstatic_field(instanceKlass, _method_ordering, typeArrayOop) \
- nonstatic_field(instanceKlass, _local_interfaces, objArrayOop) \
- nonstatic_field(instanceKlass, _transitive_interfaces, objArrayOop) \
- nonstatic_field(instanceKlass, _fields, typeArrayOop) \
- nonstatic_field(instanceKlass, _java_fields_count, u2) \
- nonstatic_field(instanceKlass, _constants, constantPoolOop) \
- nonstatic_field(instanceKlass, _class_loader, oop) \
- nonstatic_field(instanceKlass, _protection_domain, oop) \
- nonstatic_field(instanceKlass, _signers, objArrayOop) \
- nonstatic_field(instanceKlass, _source_file_name, Symbol*) \
- nonstatic_field(instanceKlass, _source_debug_extension, char*) \
- nonstatic_field(instanceKlass, _inner_classes, typeArrayOop) \
- nonstatic_field(instanceKlass, _nonstatic_field_size, int) \
- nonstatic_field(instanceKlass, _static_field_size, int) \
- nonstatic_field(instanceKlass, _static_oop_field_count, u2) \
- nonstatic_field(instanceKlass, _nonstatic_oop_map_size, int) \
- nonstatic_field(instanceKlass, _is_marked_dependent, bool) \
- nonstatic_field(instanceKlass, _minor_version, u2) \
- nonstatic_field(instanceKlass, _major_version, u2) \
- nonstatic_field(instanceKlass, _init_state, u1) \
- nonstatic_field(instanceKlass, _init_thread, Thread*) \
- nonstatic_field(instanceKlass, _vtable_len, int) \
- nonstatic_field(instanceKlass, _itable_len, int) \
- nonstatic_field(instanceKlass, _reference_type, u1) \
- volatile_nonstatic_field(instanceKlass, _oop_map_cache, OopMapCache*) \
- nonstatic_field(instanceKlass, _jni_ids, JNIid*) \
- nonstatic_field(instanceKlass, _osr_nmethods_head, nmethod*) \
- nonstatic_field(instanceKlass, _breakpoints, BreakpointInfo*) \
- nonstatic_field(instanceKlass, _generic_signature, Symbol*) \
- nonstatic_field(instanceKlass, _methods_jmethod_ids, jmethodID*) \
- nonstatic_field(instanceKlass, _methods_cached_itable_indices, int*) \
- volatile_nonstatic_field(instanceKlass, _idnum_allocated_count, u2) \
- nonstatic_field(instanceKlass, _class_annotations, typeArrayOop) \
- nonstatic_field(instanceKlass, _fields_annotations, objArrayOop) \
- nonstatic_field(instanceKlass, _methods_annotations, objArrayOop) \
- nonstatic_field(instanceKlass, _methods_parameter_annotations, objArrayOop) \
- nonstatic_field(instanceKlass, _methods_default_annotations, objArrayOop) \
- nonstatic_field(instanceKlass, _dependencies, nmethodBucket*) \
+ nonstatic_field(CompiledICHolder, _holder_method, Method*) \
+ nonstatic_field(CompiledICHolder, _holder_klass, Klass*) \
+ nonstatic_field(ConstantPool, _tags, Array<u1>*) \
+ nonstatic_field(ConstantPool, _cache, ConstantPoolCache*) \
+ nonstatic_field(ConstantPool, _pool_holder, Klass*) \
+ nonstatic_field(ConstantPool, _operands, Array<u2>*) \
+ nonstatic_field(ConstantPool, _length, int) \
+ nonstatic_field(ConstantPool, _resolved_references, jobject) \
+ nonstatic_field(ConstantPool, _reference_map, Array<u2>*) \
+ nonstatic_field(ConstantPoolCache, _length, int) \
+ nonstatic_field(ConstantPoolCache, _constant_pool, ConstantPool*) \
+ nonstatic_field(InstanceKlass, _array_klasses, Klass*) \
+ nonstatic_field(InstanceKlass, _methods, Array<Method*>*) \
+ nonstatic_field(InstanceKlass, _local_interfaces, Array<Klass*>*) \
+ nonstatic_field(InstanceKlass, _transitive_interfaces, Array<Klass*>*) \
+ nonstatic_field(InstanceKlass, _fields, Array<u2>*) \
+ nonstatic_field(InstanceKlass, _java_fields_count, u2) \
+ nonstatic_field(InstanceKlass, _constants, ConstantPool*) \
+ nonstatic_field(InstanceKlass, _class_loader_data, ClassLoaderData*) \
+ nonstatic_field(InstanceKlass, _protection_domain, oop) \
+ nonstatic_field(InstanceKlass, _signers, objArrayOop) \
+ nonstatic_field(InstanceKlass, _source_file_name, Symbol*) \
+ nonstatic_field(InstanceKlass, _source_debug_extension, char*) \
+ nonstatic_field(InstanceKlass, _inner_classes, Array<jushort>*) \
+ nonstatic_field(InstanceKlass, _nonstatic_field_size, int) \
+ nonstatic_field(InstanceKlass, _static_field_size, int) \
+ nonstatic_field(InstanceKlass, _static_oop_field_count, u2) \
+ nonstatic_field(InstanceKlass, _nonstatic_oop_map_size, int) \
+ nonstatic_field(InstanceKlass, _is_marked_dependent, bool) \
+ nonstatic_field(InstanceKlass, _minor_version, u2) \
+ nonstatic_field(InstanceKlass, _major_version, u2) \
+ nonstatic_field(InstanceKlass, _init_state, u1) \
+ nonstatic_field(InstanceKlass, _init_thread, Thread*) \
+ nonstatic_field(InstanceKlass, _vtable_len, int) \
+ nonstatic_field(InstanceKlass, _itable_len, int) \
+ nonstatic_field(InstanceKlass, _reference_type, u1) \
+ volatile_nonstatic_field(InstanceKlass, _oop_map_cache, OopMapCache*) \
+ nonstatic_field(InstanceKlass, _jni_ids, JNIid*) \
+ nonstatic_field(InstanceKlass, _osr_nmethods_head, nmethod*) \
+ nonstatic_field(InstanceKlass, _breakpoints, BreakpointInfo*) \
+ nonstatic_field(InstanceKlass, _generic_signature, Symbol*) \
+ nonstatic_field(InstanceKlass, _methods_jmethod_ids, jmethodID*) \
+ nonstatic_field(InstanceKlass, _methods_cached_itable_indices, int*) \
+ volatile_nonstatic_field(InstanceKlass, _idnum_allocated_count, u2) \
+ nonstatic_field(InstanceKlass, _annotations, Annotations*) \
+ nonstatic_field(InstanceKlass, _dependencies, nmethodBucket*) \
nonstatic_field(nmethodBucket, _nmethod, nmethod*) \
nonstatic_field(nmethodBucket, _count, int) \
nonstatic_field(nmethodBucket, _next, nmethodBucket*) \
+ nonstatic_field(InstanceKlass, _method_ordering, Array<int>*) \
nonstatic_field(Klass, _super_check_offset, juint) \
- nonstatic_field(Klass, _secondary_super_cache, klassOop) \
- nonstatic_field(Klass, _secondary_supers, objArrayOop) \
- nonstatic_field(Klass, _primary_supers[0], klassOop) \
+ nonstatic_field(Klass, _secondary_super_cache, Klass*) \
+ nonstatic_field(Klass, _secondary_supers, Array<Klass*>*) \
+ nonstatic_field(Klass, _primary_supers[0], Klass*) \
nonstatic_field(Klass, _java_mirror, oop) \
nonstatic_field(Klass, _modifier_flags, jint) \
- nonstatic_field(Klass, _super, klassOop) \
+ nonstatic_field(Klass, _super, Klass*) \
nonstatic_field(Klass, _layout_helper, jint) \
nonstatic_field(Klass, _name, Symbol*) \
nonstatic_field(Klass, _access_flags, AccessFlags) \
- nonstatic_field(Klass, _subklass, klassOop) \
- nonstatic_field(Klass, _next_sibling, klassOop) \
+ nonstatic_field(Klass, _subklass, Klass*) \
+ nonstatic_field(Klass, _next_sibling, Klass*) \
nonproduct_nonstatic_field(Klass, _verify_count, int) \
nonstatic_field(Klass, _alloc_count, juint) \
- nonstatic_field(klassKlass, _alloc_size, juint) \
- nonstatic_field(methodKlass, _alloc_size, juint) \
- nonstatic_field(methodDataOopDesc, _size, int) \
- nonstatic_field(methodDataOopDesc, _method, methodOop) \
- nonstatic_field(methodDataOopDesc, _data_size, int) \
- nonstatic_field(methodDataOopDesc, _data[0], intptr_t) \
- nonstatic_field(methodDataOopDesc, _nof_decompiles, uint) \
- nonstatic_field(methodDataOopDesc, _nof_overflow_recompiles, uint) \
- nonstatic_field(methodDataOopDesc, _nof_overflow_traps, uint) \
- nonstatic_field(methodDataOopDesc, _eflags, intx) \
- nonstatic_field(methodDataOopDesc, _arg_local, intx) \
- nonstatic_field(methodDataOopDesc, _arg_stack, intx) \
- nonstatic_field(methodDataOopDesc, _arg_returned, intx) \
- nonstatic_field(methodOopDesc, _constMethod, constMethodOop) \
- nonstatic_field(methodOopDesc, _method_data, methodDataOop) \
- nonstatic_field(methodOopDesc, _interpreter_invocation_count, int) \
- nonstatic_field(methodOopDesc, _access_flags, AccessFlags) \
- nonstatic_field(methodOopDesc, _vtable_index, int) \
- nonstatic_field(methodOopDesc, _method_size, u2) \
- nonstatic_field(methodOopDesc, _max_stack, u2) \
- nonstatic_field(methodOopDesc, _max_locals, u2) \
- nonstatic_field(methodOopDesc, _size_of_parameters, u2) \
- nonstatic_field(methodOopDesc, _interpreter_throwout_count, u2) \
- nonstatic_field(methodOopDesc, _number_of_breakpoints, u2) \
- nonstatic_field(methodOopDesc, _invocation_counter, InvocationCounter) \
- nonstatic_field(methodOopDesc, _backedge_counter, InvocationCounter) \
- nonproduct_nonstatic_field(methodOopDesc, _compiled_invocation_count, int) \
- volatile_nonstatic_field(methodOopDesc, _code, nmethod*) \
- nonstatic_field(methodOopDesc, _i2i_entry, address) \
- nonstatic_field(methodOopDesc, _adapter, AdapterHandlerEntry*) \
- volatile_nonstatic_field(methodOopDesc, _from_compiled_entry, address) \
- volatile_nonstatic_field(methodOopDesc, _from_interpreted_entry, address) \
- volatile_nonstatic_field(constMethodOopDesc, _fingerprint, uint64_t) \
- nonstatic_field(constMethodOopDesc, _constants, constantPoolOop) \
- nonstatic_field(constMethodOopDesc, _stackmap_data, typeArrayOop) \
- nonstatic_field(constMethodOopDesc, _constMethod_size, int) \
- nonstatic_field(constMethodOopDesc, _interpreter_kind, jbyte) \
- nonstatic_field(constMethodOopDesc, _flags, jbyte) \
- nonstatic_field(constMethodOopDesc, _code_size, u2) \
- nonstatic_field(constMethodOopDesc, _name_index, u2) \
- nonstatic_field(constMethodOopDesc, _signature_index, u2) \
- nonstatic_field(constMethodOopDesc, _method_idnum, u2) \
- nonstatic_field(constMethodOopDesc, _generic_signature_index, u2) \
- nonstatic_field(objArrayKlass, _element_klass, klassOop) \
- nonstatic_field(objArrayKlass, _bottom_klass, klassOop) \
+ nonstatic_field(MethodData, _size, int) \
+ nonstatic_field(MethodData, _method, Method*) \
+ nonstatic_field(MethodData, _data_size, int) \
+ nonstatic_field(MethodData, _data[0], intptr_t) \
+ nonstatic_field(MethodData, _nof_decompiles, uint) \
+ nonstatic_field(MethodData, _nof_overflow_recompiles, uint) \
+ nonstatic_field(MethodData, _nof_overflow_traps, uint) \
+ nonstatic_field(MethodData, _eflags, intx) \
+ nonstatic_field(MethodData, _arg_local, intx) \
+ nonstatic_field(MethodData, _arg_stack, intx) \
+ nonstatic_field(MethodData, _arg_returned, intx) \
+ nonstatic_field(Method, _constMethod, ConstMethod*) \
+ nonstatic_field(Method, _method_data, MethodData*) \
+ nonstatic_field(Method, _interpreter_invocation_count, int) \
+ nonstatic_field(Method, _access_flags, AccessFlags) \
+ nonstatic_field(Method, _vtable_index, int) \
+ nonstatic_field(Method, _method_size, u2) \
+ nonstatic_field(Method, _max_stack, u2) \
+ nonstatic_field(Method, _max_locals, u2) \
+ nonstatic_field(Method, _size_of_parameters, u2) \
+ nonstatic_field(Method, _interpreter_throwout_count, u2) \
+ nonstatic_field(Method, _number_of_breakpoints, u2) \
+ nonstatic_field(Method, _invocation_counter, InvocationCounter) \
+ nonstatic_field(Method, _backedge_counter, InvocationCounter) \
+ nonproduct_nonstatic_field(Method, _compiled_invocation_count, int) \
+ volatile_nonstatic_field(Method, _code, nmethod*) \
+ nonstatic_field(Method, _i2i_entry, address) \
+ nonstatic_field(Method, _adapter, AdapterHandlerEntry*) \
+ volatile_nonstatic_field(Method, _from_compiled_entry, address) \
+ volatile_nonstatic_field(Method, _from_interpreted_entry, address) \
+ volatile_nonstatic_field(ConstMethod, _fingerprint, uint64_t) \
+ nonstatic_field(ConstMethod, _constants, ConstantPool*) \
+ nonstatic_field(ConstMethod, _stackmap_data, Array<u1>*) \
+ nonstatic_field(ConstMethod, _constMethod_size, int) \
+ nonstatic_field(ConstMethod, _interpreter_kind, jbyte) \
+ nonstatic_field(ConstMethod, _flags, jbyte) \
+ nonstatic_field(ConstMethod, _code_size, u2) \
+ nonstatic_field(ConstMethod, _name_index, u2) \
+ nonstatic_field(ConstMethod, _signature_index, u2) \
+ nonstatic_field(ConstMethod, _method_idnum, u2) \
+ nonstatic_field(ConstMethod, _generic_signature_index, u2) \
+ nonstatic_field(objArrayKlass, _element_klass, Klass*) \
+ nonstatic_field(objArrayKlass, _bottom_klass, Klass*) \
volatile_nonstatic_field(Symbol, _refcount, int) \
nonstatic_field(Symbol, _identity_hash, int) \
nonstatic_field(Symbol, _length, unsigned short) \
@@ -409,7 +392,7 @@
/***********************/ \
\
volatile_nonstatic_field(ConstantPoolCacheEntry, _indices, intx) \
- volatile_nonstatic_field(ConstantPoolCacheEntry, _f1, oop) \
+ nonstatic_field(ConstantPoolCacheEntry, _f1, volatile Metadata*) \
volatile_nonstatic_field(ConstantPoolCacheEntry, _f2, intx) \
volatile_nonstatic_field(ConstantPoolCacheEntry, _flags, intx) \
\
@@ -437,40 +420,24 @@
/* JNI IDs */ \
/***********/ \
\
- nonstatic_field(JNIid, _holder, klassOop) \
+ nonstatic_field(JNIid, _holder, Klass*) \
nonstatic_field(JNIid, _next, JNIid*) \
nonstatic_field(JNIid, _offset, int) \
/************/ \
/* Universe */ \
/************/ \
\
- static_field(Universe, _boolArrayKlassObj, klassOop) \
- static_field(Universe, _byteArrayKlassObj, klassOop) \
- static_field(Universe, _charArrayKlassObj, klassOop) \
- static_field(Universe, _intArrayKlassObj, klassOop) \
- static_field(Universe, _shortArrayKlassObj, klassOop) \
- static_field(Universe, _longArrayKlassObj, klassOop) \
- static_field(Universe, _singleArrayKlassObj, klassOop) \
- static_field(Universe, _doubleArrayKlassObj, klassOop) \
- static_field(Universe, _methodKlassObj, klassOop) \
- static_field(Universe, _constMethodKlassObj, klassOop) \
- static_field(Universe, _methodDataKlassObj, klassOop) \
- static_field(Universe, _klassKlassObj, klassOop) \
- static_field(Universe, _arrayKlassKlassObj, klassOop) \
- static_field(Universe, _objArrayKlassKlassObj, klassOop) \
- static_field(Universe, _typeArrayKlassKlassObj, klassOop) \
- static_field(Universe, _instanceKlassKlassObj, klassOop) \
- static_field(Universe, _constantPoolKlassObj, klassOop) \
- static_field(Universe, _constantPoolCacheKlassObj, klassOop) \
- static_field(Universe, _compiledICHolderKlassObj, klassOop) \
- static_field(Universe, _systemObjArrayKlassObj, klassOop) \
+ static_field(Universe, _boolArrayKlassObj, Klass*) \
+ static_field(Universe, _byteArrayKlassObj, Klass*) \
+ static_field(Universe, _charArrayKlassObj, Klass*) \
+ static_field(Universe, _intArrayKlassObj, Klass*) \
+ static_field(Universe, _shortArrayKlassObj, Klass*) \
+ static_field(Universe, _longArrayKlassObj, Klass*) \
+ static_field(Universe, _singleArrayKlassObj, Klass*) \
+ static_field(Universe, _doubleArrayKlassObj, Klass*) \
static_field(Universe, _mirrors[0], oop) \
static_field(Universe, _main_thread_group, oop) \
static_field(Universe, _system_thread_group, oop) \
- static_field(Universe, _the_empty_byte_array, typeArrayOop) \
- static_field(Universe, _the_empty_short_array, typeArrayOop) \
- static_field(Universe, _the_empty_int_array, typeArrayOop) \
- static_field(Universe, _the_empty_system_obj_array, objArrayOop) \
static_field(Universe, _the_empty_class_klass_array, objArrayOop) \
static_field(Universe, _out_of_memory_error_java_heap, oop) \
static_field(Universe, _out_of_memory_error_perm_gen, oop) \
@@ -528,7 +495,6 @@
nonstatic_field(CardTableRS, _ct_bs, CardTableModRefBSForCTRS*) \
\
nonstatic_field(CollectedHeap, _reserved, MemRegion) \
- nonstatic_field(SharedHeap, _perm_gen, PermGen*) \
nonstatic_field(CollectedHeap, _barrier_set, BarrierSet*) \
nonstatic_field(CollectedHeap, _defer_initial_card_mark, bool) \
nonstatic_field(CollectedHeap, _is_gc_active, bool) \
@@ -536,7 +502,6 @@
nonstatic_field(CompactibleSpace, _first_dead, HeapWord*) \
nonstatic_field(CompactibleSpace, _end_of_live, HeapWord*) \
\
- nonstatic_field(CompactingPermGen, _gen, OneContigSpaceCardGeneration*) \
\
nonstatic_field(ContiguousSpace, _top, HeapWord*) \
nonstatic_field(ContiguousSpace, _concurrent_iteration_safe_limit, HeapWord*) \
@@ -579,30 +544,7 @@
nonstatic_field(OneContigSpaceCardGeneration, _the_space, ContiguousSpace*) \
nonstatic_field(OneContigSpaceCardGeneration, _last_gc, WaterMark) \
\
- nonstatic_field(CompactingPermGenGen, _ro_vs, VirtualSpace) \
- nonstatic_field(CompactingPermGenGen, _rw_vs, VirtualSpace) \
- nonstatic_field(CompactingPermGenGen, _md_vs, VirtualSpace) \
- nonstatic_field(CompactingPermGenGen, _mc_vs, VirtualSpace) \
- nonstatic_field(CompactingPermGenGen, _ro_space, OffsetTableContigSpace*) \
- nonstatic_field(CompactingPermGenGen, _rw_space, OffsetTableContigSpace*) \
- static_field(CompactingPermGenGen, unshared_bottom, HeapWord*) \
- static_field(CompactingPermGenGen, unshared_end, HeapWord*) \
- static_field(CompactingPermGenGen, shared_bottom, HeapWord*) \
- static_field(CompactingPermGenGen, readonly_bottom, HeapWord*) \
- static_field(CompactingPermGenGen, readonly_end, HeapWord*) \
- static_field(CompactingPermGenGen, readwrite_bottom, HeapWord*) \
- static_field(CompactingPermGenGen, readwrite_end, HeapWord*) \
- static_field(CompactingPermGenGen, miscdata_bottom, HeapWord*) \
- static_field(CompactingPermGenGen, miscdata_end, HeapWord*) \
- static_field(CompactingPermGenGen, misccode_bottom, HeapWord*) \
- static_field(CompactingPermGenGen, misccode_end, HeapWord*) \
- static_field(CompactingPermGenGen, shared_end, HeapWord*) \
\
- nonstatic_field(PermGen, _capacity_expansion_limit, size_t) \
- \
- nonstatic_field(PermanentGenerationSpec, _name, PermGen::Name) \
- nonstatic_field(PermanentGenerationSpec, _init_size, size_t) \
- nonstatic_field(PermanentGenerationSpec, _max_size, size_t) \
\
nonstatic_field(Space, _bottom, HeapWord*) \
nonstatic_field(Space, _end, HeapWord*) \
@@ -677,40 +619,40 @@
static_field(SystemDictionary, _shared_dictionary, Dictionary*) \
static_field(SystemDictionary, _system_loader_lock_obj, oop) \
static_field(SystemDictionary, _loader_constraints, LoaderConstraintTable*) \
- static_field(SystemDictionary, WK_KLASS(Object_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(String_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(Class_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(Cloneable_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(ClassLoader_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(Serializable_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(System_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(Throwable_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(ThreadDeath_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(Error_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(Exception_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(RuntimeException_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(ClassNotFoundException_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(NoClassDefFoundError_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(LinkageError_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(ClassCastException_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(ArrayStoreException_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(VirtualMachineError_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(OutOfMemoryError_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(StackOverflowError_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(ProtectionDomain_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(AccessControlContext_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(Reference_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(SoftReference_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(WeakReference_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(FinalReference_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(PhantomReference_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(Finalizer_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(Thread_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(ThreadGroup_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(Properties_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(StringBuffer_klass), klassOop) \
- static_field(SystemDictionary, WK_KLASS(MethodHandle_klass), klassOop) \
- static_field(SystemDictionary, _box_klasses[0], klassOop) \
+ static_field(SystemDictionary, WK_KLASS(Object_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(String_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(Class_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(Cloneable_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(ClassLoader_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(Serializable_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(System_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(Throwable_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(ThreadDeath_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(Error_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(Exception_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(RuntimeException_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(ClassNotFoundException_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(NoClassDefFoundError_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(LinkageError_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(ClassCastException_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(ArrayStoreException_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(VirtualMachineError_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(OutOfMemoryError_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(StackOverflowError_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(ProtectionDomain_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(AccessControlContext_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(Reference_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(SoftReference_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(WeakReference_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(FinalReference_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(PhantomReference_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(Finalizer_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(Thread_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(ThreadGroup_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(Properties_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(StringBuffer_klass), Klass*) \
+ static_field(SystemDictionary, WK_KLASS(MethodHandle_klass), Klass*) \
+ static_field(SystemDictionary, _box_klasses[0], Klass*) \
static_field(SystemDictionary, _java_system_loader, oop) \
\
/*************/ \
@@ -748,12 +690,12 @@
/* DictionaryEntry */ \
/*******************/ \
\
- nonstatic_field(DictionaryEntry, _loader, oop) \
+ nonstatic_field(DictionaryEntry, _loader_data, ClassLoaderData*) \
nonstatic_field(DictionaryEntry, _pd_set, ProtectionDomainEntry*) \
\
/********************/ \
\
- nonstatic_field(PlaceholderEntry, _loader, oop) \
+ nonstatic_field(PlaceholderEntry, _loader_data, ClassLoaderData*) \
\
/**************************/ \
/* ProctectionDomainEntry */ \
@@ -769,7 +711,13 @@
nonstatic_field(LoaderConstraintEntry, _name, Symbol*) \
nonstatic_field(LoaderConstraintEntry, _num_loaders, int) \
nonstatic_field(LoaderConstraintEntry, _max_loaders, int) \
- nonstatic_field(LoaderConstraintEntry, _loaders, oop*) \
+ nonstatic_field(LoaderConstraintEntry, _loaders, ClassLoaderData**) \
+ \
+ nonstatic_field(ClassLoaderData, _class_loader, oop) \
+ nonstatic_field(ClassLoaderData, _next, ClassLoaderData*) \
+ \
+ static_field(ClassLoaderDataGraph, _head, ClassLoaderData*) \
+ nonstatic_field(ClassLoaderDataGraph, _unloading, ClassLoaderData*) \
\
/*******************/ \
/* GrowableArrays */ \
@@ -853,7 +801,7 @@
/* NMethods (NOTE: incomplete, but only a little) */ \
/**************************************************/ \
\
- nonstatic_field(nmethod, _method, methodOop) \
+ nonstatic_field(nmethod, _method, Method*) \
nonstatic_field(nmethod, _entry_bci, int) \
nonstatic_field(nmethod, _osr_link, nmethod*) \
nonstatic_field(nmethod, _scavenge_root_link, nmethod*) \
@@ -866,6 +814,7 @@
nonstatic_field(nmethod, _stub_offset, int) \
nonstatic_field(nmethod, _consts_offset, int) \
nonstatic_field(nmethod, _oops_offset, int) \
+ nonstatic_field(nmethod, _metadata_offset, int) \
nonstatic_field(nmethod, _scopes_data_offset, int) \
nonstatic_field(nmethod, _scopes_pcs_offset, int) \
nonstatic_field(nmethod, _dependencies_offset, int) \
@@ -918,7 +867,7 @@
nonstatic_field(JavaThread, _threadObj, oop) \
nonstatic_field(JavaThread, _anchor, JavaFrameAnchor) \
nonstatic_field(JavaThread, _vm_result, oop) \
- nonstatic_field(JavaThread, _vm_result_2, oop) \
+ nonstatic_field(JavaThread, _vm_result_2, Metadata*) \
nonstatic_field(JavaThread, _pending_async_exception, oop) \
volatile_nonstatic_field(JavaThread, _exception_oop, oop) \
volatile_nonstatic_field(JavaThread, _exception_pc, address) \
@@ -1008,11 +957,13 @@
nonstatic_field(ciEnv, _task, CompileTask*) \
nonstatic_field(ciEnv, _arena, Arena*) \
\
+ nonstatic_field(ciBaseObject, _ident, uint) \
+ \
nonstatic_field(ciObject, _handle, jobject) \
nonstatic_field(ciObject, _klass, ciKlass*) \
- nonstatic_field(ciObject, _ident, uint) \
\
- nonstatic_field(ciSymbol, _ident, uint) \
+ nonstatic_field(ciMetadata, _metadata, Metadata*) \
+ \
nonstatic_field(ciSymbol, _symbol, Symbol*) \
\
nonstatic_field(ciType, _basic_type, BasicType) \
@@ -1024,7 +975,7 @@
nonstatic_field(ciObjArrayKlass, _element_klass, ciKlass*) \
nonstatic_field(ciObjArrayKlass, _base_element_klass, ciKlass*) \
\
- nonstatic_field(ciInstanceKlass, _init_state, instanceKlass::ClassState) \
+ nonstatic_field(ciInstanceKlass, _init_state, InstanceKlass::ClassState) \
nonstatic_field(ciInstanceKlass, _is_shared, bool) \
\
nonstatic_field(ciMethod, _interpreter_invocation_count, int) \
@@ -1040,7 +991,7 @@
nonstatic_field(ciMethodData, _arg_stack, intx) \
nonstatic_field(ciMethodData, _arg_returned, intx) \
nonstatic_field(ciMethodData, _current_mileage, int) \
- nonstatic_field(ciMethodData, _orig, methodDataOopDesc) \
+ nonstatic_field(ciMethodData, _orig, MethodData) \
\
nonstatic_field(ciField, _holder, ciInstanceKlass*) \
nonstatic_field(ciField, _name, ciSymbol*) \
@@ -1049,7 +1000,7 @@
nonstatic_field(ciField, _is_constant, bool) \
nonstatic_field(ciField, _constant_value, ciConstant) \
\
- nonstatic_field(ciObjectFactory, _ci_objects, GrowableArray<ciObject*>*) \
+ nonstatic_field(ciObjectFactory, _ci_metadata, GrowableArray<ciMetadata*>*) \
nonstatic_field(ciObjectFactory, _symbols, GrowableArray<ciSymbol*>*) \
nonstatic_field(ciObjectFactory, _unloaded_methods, GrowableArray<ciMethod*>*) \
\
@@ -1234,6 +1185,17 @@
static_field(Arguments, _num_jvm_args, int) \
static_field(Arguments, _java_command, char*) \
\
+ /************/ \
+ /* Array<T> */ \
+ /************/ \
+ \
+ nonstatic_field(Array<int>, _length, int) \
+ unchecked_nonstatic_field(Array<int>, _data, sizeof(int)) \
+ unchecked_nonstatic_field(Array<u1>, _data, sizeof(u1)) \
+ unchecked_nonstatic_field(Array<u2>, _data, sizeof(u2)) \
+ unchecked_nonstatic_field(Array<Method*>, _data, sizeof(Method*)) \
+ unchecked_nonstatic_field(Array<Klass*>, _data, sizeof(Klass*)) \
+ \
/*********************************/ \
/* java_lang_Class fields */ \
/*********************************/ \
@@ -1248,7 +1210,7 @@
/* Miscellaneous fields */ \
/************************/ \
\
- nonstatic_field(CompileTask, _method, jobject) \
+ nonstatic_field(CompileTask, _method, Method*) \
nonstatic_field(CompileTask, _osr_bci, int) \
nonstatic_field(CompileTask, _comp_level, int) \
nonstatic_field(CompileTask, _compile_id, uint) \
@@ -1262,7 +1224,7 @@
\
nonstatic_field(vframeArrayElement, _frame, frame) \
nonstatic_field(vframeArrayElement, _bci, int) \
- nonstatic_field(vframeArrayElement, _method, methodOop) \
+ nonstatic_field(vframeArrayElement, _method, Method*) \
\
nonstatic_field(AccessFlags, _flags, jint) \
nonstatic_field(elapsedTimer, _counter, jlong) \
@@ -1360,14 +1322,15 @@
declare_unsigned_integer_type(unsigned long) \
/* The compiler thinks this is a different type than */ \
/* unsigned short on Win32 */ \
+ declare_unsigned_integer_type(u1) \
declare_unsigned_integer_type(u2) \
- declare_unsigned_integer_type(u1) \
declare_unsigned_integer_type(unsigned) \
\
/*****************************/ \
/* C primitive pointer types */ \
/*****************************/ \
\
+ declare_toplevel_type(void*) \
declare_toplevel_type(int*) \
declare_toplevel_type(char*) \
declare_toplevel_type(char**) \
@@ -1389,44 +1352,40 @@
declare_unsigned_integer_type(uint32_t) \
declare_unsigned_integer_type(uint64_t) \
\
- /*******************************************************************************/ \
- /* OopDesc and Klass hierarchies (NOTE: missing methodDataOop-related classes) */ \
- /*******************************************************************************/ \
+ /******************************************/ \
+ /* OopDesc hierarchy (NOTE: some missing) */ \
+ /******************************************/ \
\
declare_toplevel_type(oopDesc) \
- declare_toplevel_type(Klass_vtbl) \
- declare_type(Klass, Klass_vtbl) \
+ declare_type(arrayOopDesc, oopDesc) \
+ declare_type(objArrayOopDesc, arrayOopDesc) \
+ declare_type(instanceOopDesc, oopDesc) \
+ declare_type(markOopDesc, oopDesc) \
+ \
+ /**************************************************/ \
+ /* MetadataOopDesc hierarchy (NOTE: some missing) */ \
+ /**************************************************/ \
+ \
+ declare_toplevel_type(CompiledICHolder) \
+ declare_toplevel_type(MetaspaceObj) \
+ declare_type(Metadata, MetaspaceObj) \
+ declare_type(Klass, Metadata) \
declare_type(arrayKlass, Klass) \
- declare_type(arrayKlassKlass, klassKlass) \
- declare_type(arrayOopDesc, oopDesc) \
- declare_type(compiledICHolderKlass, Klass) \
- declare_type(compiledICHolderOopDesc, oopDesc) \
- declare_type(constantPoolKlass, Klass) \
- declare_type(constantPoolOopDesc, oopDesc) \
- declare_type(constantPoolCacheKlass, Klass) \
- declare_type(constantPoolCacheOopDesc, oopDesc) \
- declare_type(instanceKlass, Klass) \
- declare_type(instanceKlassKlass, klassKlass) \
- declare_type(instanceOopDesc, oopDesc) \
- declare_type(instanceMirrorKlass, instanceKlass) \
- declare_type(instanceRefKlass, instanceKlass) \
- declare_type(klassKlass, Klass) \
- declare_type(klassOopDesc, oopDesc) \
- declare_type(markOopDesc, oopDesc) \
- declare_type(methodDataKlass, Klass) \
- declare_type(methodDataOopDesc, oopDesc) \
- declare_type(methodKlass, Klass) \
- declare_type(constMethodKlass, Klass) \
- declare_type(methodOopDesc, oopDesc) \
declare_type(objArrayKlass, arrayKlass) \
- declare_type(objArrayKlassKlass, arrayKlassKlass) \
- declare_type(objArrayOopDesc, arrayOopDesc) \
- declare_type(constMethodOopDesc, oopDesc) \
declare_type(typeArrayKlass, arrayKlass) \
- declare_type(typeArrayKlassKlass, arrayKlassKlass) \
- declare_type(typeArrayOopDesc, arrayOopDesc) \
+ declare_type(InstanceKlass, Klass) \
+ declare_type(instanceClassLoaderKlass, InstanceKlass) \
+ declare_type(instanceMirrorKlass, InstanceKlass) \
+ declare_type(instanceRefKlass, InstanceKlass) \
+ declare_type(ConstantPool, Metadata) \
+ declare_type(ConstantPoolCache, MetaspaceObj) \
+ declare_type(MethodData, Metadata) \
+ declare_type(Method, Metadata) \
+ declare_type(ConstMethod, MetaspaceObj) \
+ \
declare_toplevel_type(Symbol) \
declare_toplevel_type(Symbol*) \
+ declare_toplevel_type(volatile Metadata*) \
\
declare_toplevel_type(nmethodBucket) \
\
@@ -1434,17 +1393,10 @@
/* Oops */ \
/********/ \
\
- declare_oop_type(constantPoolOop) \
- declare_oop_type(constantPoolCacheOop) \
- declare_oop_type(klassOop) \
declare_oop_type(markOop) \
- declare_oop_type(methodOop) \
- declare_oop_type(methodDataOop) \
declare_oop_type(objArrayOop) \
declare_oop_type(oop) \
declare_oop_type(narrowOop) \
- declare_oop_type(wideKlassOop) \
- declare_oop_type(constMethodOop) \
declare_oop_type(typeArrayOop) \
\
/*************************************/ \
@@ -1455,6 +1407,9 @@
declare_toplevel_type(LocalVariableTableElement) \
declare_toplevel_type(ExceptionTableElement) \
\
+ declare_toplevel_type(ClassLoaderData) \
+ declare_toplevel_type(ClassLoaderDataGraph) \
+ \
/******************************************/ \
/* Generation and space hierarchies */ \
/* (needed for run-time type information) */ \
@@ -1468,7 +1423,6 @@
declare_type(CardGeneration, Generation) \
declare_type(OneContigSpaceCardGeneration, CardGeneration) \
declare_type(TenuredGeneration, OneContigSpaceCardGeneration) \
- declare_type(CompactingPermGenGen, OneContigSpaceCardGeneration) \
declare_toplevel_type(Space) \
declare_toplevel_type(BitMap) \
declare_type(CompactibleSpace, Space) \
@@ -1476,9 +1430,6 @@
declare_type(EdenSpace, ContiguousSpace) \
declare_type(OffsetTableContigSpace, ContiguousSpace) \
declare_type(TenuredSpace, OffsetTableContigSpace) \
- declare_type(ContigPermSpace, OffsetTableContigSpace) \
- declare_toplevel_type(PermGen) \
- declare_type(CompactingPermGen, PermGen) \
declare_toplevel_type(BarrierSet) \
declare_type(ModRefBarrierSet, BarrierSet) \
declare_type(CardTableModRefBS, ModRefBarrierSet) \
@@ -1498,7 +1449,6 @@
declare_toplevel_type(GenerationSpec) \
declare_toplevel_type(HeapWord) \
declare_toplevel_type(MemRegion) \
- declare_toplevel_type(PermanentGenerationSpec) \
declare_toplevel_type(ThreadLocalAllocBuffer) \
declare_toplevel_type(VirtualSpace) \
declare_toplevel_type(WaterMark) \
@@ -1524,7 +1474,6 @@
declare_toplevel_type(MemRegion*) \
declare_toplevel_type(OffsetTableContigSpace*) \
declare_toplevel_type(OneContigSpaceCardGeneration*) \
- declare_toplevel_type(PermGen*) \
declare_toplevel_type(Space*) \
declare_toplevel_type(ThreadLocalAllocBuffer*) \
\
@@ -1545,15 +1494,15 @@
declare_type(IntptrHashtable, BasicHashtable<mtInternal>) \
declare_type(SymbolTable, SymbolHashtable) \
declare_type(StringTable, StringHashtable) \
- declare_type(LoaderConstraintTable, klassOopHashtable) \
- declare_type(klassOopTwoOopHashtable, klassOopHashtable) \
- declare_type(Dictionary, klassOopTwoOopHashtable) \
+ declare_type(LoaderConstraintTable, KlassHashtable) \
+ declare_type(KlassTwoOopHashtable, KlassHashtable) \
+ declare_type(Dictionary, KlassTwoOopHashtable) \
declare_type(PlaceholderTable, SymbolTwoOopHashtable) \
declare_toplevel_type(BasicHashtableEntry<mtInternal>) \
declare_type(IntptrHashtableEntry, BasicHashtableEntry<mtInternal>) \
- declare_type(DictionaryEntry, klassHashtableEntry) \
+ declare_type(DictionaryEntry, KlassHashtableEntry) \
declare_type(PlaceholderEntry, SymbolHashtableEntry) \
- declare_type(LoaderConstraintEntry, klassHashtableEntry) \
+ declare_type(LoaderConstraintEntry, KlassHashtableEntry) \
declare_toplevel_type(HashtableBucket<mtInternal>) \
declare_toplevel_type(SystemDictionary) \
declare_toplevel_type(vmSymbols) \
@@ -2007,24 +1956,19 @@
declare_toplevel_type(ciObjectFactory) \
declare_toplevel_type(ciConstant) \
declare_toplevel_type(ciField) \
- declare_toplevel_type(void*) \
- declare_toplevel_type(ciObject) \
- declare_type(ciMethod, ciObject) \
- declare_type(ciMethodData, ciObject) \
- declare_type(ciType, ciObject) \
+ declare_toplevel_type(ciSymbol) \
+ declare_toplevel_type(ciBaseObject) \
+ declare_type(ciObject, ciBaseObject) \
declare_type(ciInstance, ciObject) \
- declare_toplevel_type(ciSymbol) \
+ declare_type(ciMetadata, ciBaseObject) \
+ declare_type(ciMethod, ciMetadata) \
+ declare_type(ciMethodData, ciMetadata) \
+ declare_type(ciType, ciMetadata) \
declare_type(ciKlass, ciType) \
declare_type(ciInstanceKlass, ciKlass) \
declare_type(ciArrayKlass, ciKlass) \
declare_type(ciTypeArrayKlass, ciArrayKlass) \
declare_type(ciObjArrayKlass, ciArrayKlass) \
- declare_type(ciMethodKlass, ciKlass) \
- declare_type(ciKlassKlass, ciKlass) \
- declare_type(ciInstanceKlassKlass, ciKlassKlass) \
- declare_type(ciArrayKlassKlass, ciKlassKlass) \
- declare_type(ciTypeArrayKlassKlass, ciArrayKlassKlass) \
- declare_type(ciObjArrayKlassKlass, ciArrayKlassKlass) \
\
/********************/ \
/* -XX flags */ \
@@ -2060,14 +2004,20 @@
\
declare_integer_type(Bytecodes::Code) \
declare_integer_type(Generation::Name) \
- declare_integer_type(instanceKlass::ClassState) \
+ declare_integer_type(InstanceKlass::ClassState) \
declare_integer_type(JavaThreadState) \
declare_integer_type(Location::Type) \
declare_integer_type(Location::Where) \
- declare_integer_type(PermGen::Name) \
declare_integer_type(FlagValueOrigin) \
COMPILER2_PRESENT(declare_integer_type(OptoReg::Name)) \
\
+ declare_toplevel_type(CHeapObj<mtInternal>) \
+ declare_type(Array<int>, MetaspaceObj) \
+ declare_type(Array<u1>, MetaspaceObj) \
+ declare_type(Array<u2>, MetaspaceObj) \
+ declare_type(Array<Klass*>, MetaspaceObj) \
+ declare_type(Array<Method*>, MetaspaceObj) \
+ \
declare_integer_type(AccessFlags) /* FIXME: wrong type (not integer) */\
declare_toplevel_type(address) /* FIXME: should this be an integer type? */\
declare_integer_type(BasicType) /* FIXME: wrong type (not integer) */\
@@ -2108,7 +2058,8 @@
declare_toplevel_type(Thread*) \
declare_toplevel_type(Universe) \
declare_toplevel_type(vframeArray) \
- declare_toplevel_type(vframeArrayElement)
+ declare_toplevel_type(vframeArrayElement) \
+ declare_toplevel_type(Annotations*)
/* NOTE that we do not use the last_entry() macro here; it is used */
@@ -2149,6 +2100,7 @@
\
declare_constant(oopSize) \
declare_constant(LogBytesPerWord) \
+ declare_constant(BytesPerWord) \
declare_constant(BytesPerLong) \
\
/********************************************/ \
@@ -2197,10 +2149,6 @@
declare_constant(HeapWordSize) \
declare_constant(LogHeapWordSize) \
\
- /* constants from PermGen::Name enum */ \
- \
- declare_constant(PermGen::MarkSweepCompact) \
- declare_constant(PermGen::MarkSweep) \
\
/************************/ \
/* PerfMemory - jvmstat */ \
@@ -2288,16 +2236,16 @@
declare_constant(Klass::_lh_array_tag_obj_value) \
\
/********************************/ \
- /* constMethodOopDesc anon-enum */ \
+ /* ConstMethod anon-enum */ \
/********************************/ \
\
- declare_constant(constMethodOopDesc::_has_linenumber_table) \
- declare_constant(constMethodOopDesc::_has_checked_exceptions) \
- declare_constant(constMethodOopDesc::_has_localvariable_table) \
- declare_constant(constMethodOopDesc::_has_exception_table) \
+ declare_constant(ConstMethod::_has_linenumber_table) \
+ declare_constant(ConstMethod::_has_checked_exceptions) \
+ declare_constant(ConstMethod::_has_localvariable_table) \
+ declare_constant(ConstMethod::_has_exception_table) \
\
/*************************************/ \
- /* instanceKlass enum */ \
+ /* InstanceKlass enum */ \
/*************************************/ \
\
\
@@ -2314,26 +2262,25 @@
declare_constant(FieldInfo::field_slots) \
\
/************************************************/ \
- /* instanceKlass InnerClassAttributeOffset enum */ \
+ /* InstanceKlass InnerClassAttributeOffset enum */ \
/************************************************/ \
\
- declare_constant(instanceKlass::inner_class_inner_class_info_offset) \
- declare_constant(instanceKlass::inner_class_outer_class_info_offset) \
- declare_constant(instanceKlass::inner_class_inner_name_offset) \
- declare_constant(instanceKlass::inner_class_access_flags_offset) \
- declare_constant(instanceKlass::inner_class_next_offset) \
+ declare_constant(InstanceKlass::inner_class_inner_class_info_offset) \
+ declare_constant(InstanceKlass::inner_class_outer_class_info_offset) \
+ declare_constant(InstanceKlass::inner_class_inner_name_offset) \
+ declare_constant(InstanceKlass::inner_class_access_flags_offset) \
+ declare_constant(InstanceKlass::inner_class_next_offset) \
\
/*********************************/ \
- /* instanceKlass ClassState enum */ \
+ /* InstanceKlass ClassState enum */ \
/*********************************/ \
\
- declare_constant(instanceKlass::unparsable_by_gc) \
- declare_constant(instanceKlass::allocated) \
- declare_constant(instanceKlass::loaded) \
- declare_constant(instanceKlass::linked) \
- declare_constant(instanceKlass::being_initialized) \
- declare_constant(instanceKlass::fully_initialized) \
- declare_constant(instanceKlass::initialization_error) \
+ declare_constant(InstanceKlass::allocated) \
+ declare_constant(InstanceKlass::loaded) \
+ declare_constant(InstanceKlass::linked) \
+ declare_constant(InstanceKlass::being_initialized) \
+ declare_constant(InstanceKlass::fully_initialized) \
+ declare_constant(InstanceKlass::initialization_error) \
\
/*********************************/ \
/* Symbol* - symbol max length */ \
@@ -2342,12 +2289,12 @@
declare_constant(Symbol::max_symbol_length) \
\
/*************************************************/ \
- /* constantPoolOop layout enum for InvokeDynamic */ \
+ /* ConstantPool* layout enum for InvokeDynamic */ \
/*************************************************/ \
\
- declare_constant(constantPoolOopDesc::_indy_bsm_offset) \
- declare_constant(constantPoolOopDesc::_indy_argc_offset) \
- declare_constant(constantPoolOopDesc::_indy_argv_offset) \
+ declare_constant(ConstantPool::_indy_bsm_offset) \
+ declare_constant(ConstantPool::_indy_argc_offset) \
+ declare_constant(ConstantPool::_indy_argv_offset) \
\
/********************************/ \
/* ConstantPoolCacheEntry enums */ \
@@ -3167,8 +3114,13 @@
}
delete s;
}
+ const char* start = NULL;
if (strstr(typeName, "GrowableArray<") == typeName) {
- const char * start = typeName + strlen("GrowableArray<");
+ start = typeName + strlen("GrowableArray<");
+ } else if (strstr(typeName, "Array<") == typeName) {
+ start = typeName + strlen("Array<");
+ }
+ if (start != NULL) {
const char * end = strrchr(typeName, '>');
int len = end - start + 1;
char * s = new char[len];