mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 22:34:27 +02:00
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:
parent
680ecf1611
commit
4a831d45f0
273 changed files with 6585 additions and 2993 deletions
|
@ -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) \
|
||||
\
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue