6420645: Create a vm that uses compressed oops for up to 32gb heapsizes

Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv

Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
This commit is contained in:
Coleen Phillimore 2008-04-13 17:43:42 -04:00
parent 680ecf1611
commit 4a831d45f0
273 changed files with 6585 additions and 2993 deletions

View file

@ -71,7 +71,8 @@ static inline uint64_t cast_uint64_t(size_t x)
/******************************************************************/ \
\
volatile_nonstatic_field(oopDesc, _mark, markOop) \
nonstatic_field(oopDesc, _klass, klassOop) \
volatile_nonstatic_field(oopDesc, _metadata._klass, wideKlassOop) \
volatile_nonstatic_field(oopDesc, _metadata._compressed_klass, narrowOop) \
static_field(oopDesc, _bs, BarrierSet*) \
nonstatic_field(arrayKlass, _dimension, int) \
nonstatic_field(arrayKlass, _higher_dimension, klassOop) \
@ -79,13 +80,14 @@ static inline uint64_t cast_uint64_t(size_t x)
nonstatic_field(arrayKlass, _vtable_len, int) \
nonstatic_field(arrayKlass, _alloc_size, juint) \
nonstatic_field(arrayKlass, _component_mirror, oop) \
nonstatic_field(arrayOopDesc, _length, int) \
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, _length, int) \
nonstatic_field(constantPoolCacheOopDesc, _length, int) \
nonstatic_field(constantPoolCacheOopDesc, _constant_pool, constantPoolOop) \
nonstatic_field(instanceKlass, _array_klasses, klassOop) \
nonstatic_field(instanceKlass, _methods, objArrayOop) \
@ -261,6 +263,7 @@ static inline uint64_t cast_uint64_t(size_t x)
static_field(Universe, _bootstrapping, bool) \
static_field(Universe, _fully_initialized, bool) \
static_field(Universe, _verify_count, int) \
static_field(Universe, _heap_base, address) \
\
/**********************************************************************************/ \
/* Generation and Space hierarchies */ \
@ -305,8 +308,6 @@ static inline uint64_t cast_uint64_t(size_t x)
nonstatic_field(SharedHeap, _perm_gen, PermGen*) \
nonstatic_field(CollectedHeap, _barrier_set, BarrierSet*) \
nonstatic_field(CollectedHeap, _is_gc_active, bool) \
nonstatic_field(CollectedHeap, _max_heap_capacity, size_t) \
\
nonstatic_field(CompactibleSpace, _compaction_top, HeapWord*) \
nonstatic_field(CompactibleSpace, _first_dead, HeapWord*) \
nonstatic_field(CompactibleSpace, _end_of_live, HeapWord*) \
@ -912,12 +913,12 @@ static inline uint64_t cast_uint64_t(size_t x)
declare_type(arrayKlass, Klass) \
declare_type(arrayKlassKlass, klassKlass) \
declare_type(arrayOopDesc, oopDesc) \
declare_type(compiledICHolderKlass, Klass) \
declare_type(compiledICHolderOopDesc, oopDesc) \
declare_type(constantPoolKlass, arrayKlass) \
declare_type(constantPoolOopDesc, arrayOopDesc) \
declare_type(constantPoolCacheKlass, arrayKlass) \
declare_type(constantPoolCacheOopDesc, arrayOopDesc) \
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) \
@ -949,9 +950,11 @@ static inline uint64_t cast_uint64_t(size_t x)
declare_oop_type(klassOop) \
declare_oop_type(markOop) \
declare_oop_type(methodOop) \
declare_oop_type(methodDataOop) \
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(symbolOop) \
declare_oop_type(typeArrayOop) \
@ -1307,6 +1310,7 @@ static inline uint64_t cast_uint64_t(size_t x)
/* Object sizes */ \
/****************/ \
\
declare_constant(oopSize) \
declare_constant(LogBytesPerWord) \
declare_constant(BytesPerLong) \
\
@ -1314,7 +1318,9 @@ static inline uint64_t cast_uint64_t(size_t x)
/* Object alignment */ \
/********************/ \
\
declare_constant(MinObjAlignment) \
declare_constant(MinObjAlignmentInBytes) \
declare_constant(LogMinObjAlignmentInBytes) \
\
/********************************************/ \
/* Generation and Space Hierarchy Constants */ \
@ -1361,7 +1367,6 @@ static inline uint64_t cast_uint64_t(size_t x)
\
declare_constant(HeapWordSize) \
declare_constant(LogHeapWordSize) \
declare_constant(HeapWordsPerOop) \
\
/* constants from PermGen::Name enum */ \
\
@ -1610,7 +1615,7 @@ static inline uint64_t cast_uint64_t(size_t x)
declare_constant(OopMapValue::unused_value) \
declare_constant(OopMapValue::oop_value) \
declare_constant(OopMapValue::value_value) \
declare_constant(OopMapValue::dead_value) \
declare_constant(OopMapValue::narrowoop_value) \
declare_constant(OopMapValue::callee_saved_value) \
declare_constant(OopMapValue::derived_oop_value) \
\