6687581: Make CMS work with compressed oops

Make FreeChunk read markword instead of LSB in _klass pointer to indicate that it's a FreeChunk for compressed oops.

Reviewed-by: ysr, jmasa
This commit is contained in:
Coleen Phillimore 2008-06-09 11:51:19 -04:00
parent 4cce21039e
commit a2d6036a4d
13 changed files with 315 additions and 160 deletions

View file

@ -23,6 +23,7 @@
*/
#define VM_STRUCTS_CMS(nonstatic_field, \
volatile_nonstatic_field, \
static_field) \
nonstatic_field(CompactibleFreeListSpace, _collector, CMSCollector*) \
nonstatic_field(CompactibleFreeListSpace, _bt, BlockOffsetArrayNonContigSpace) \
@ -36,9 +37,9 @@
nonstatic_field(CMSCollector, _markBitMap, CMSBitMap) \
nonstatic_field(ConcurrentMarkSweepGeneration, _cmsSpace, CompactibleFreeListSpace*) \
static_field(ConcurrentMarkSweepThread, _collector, CMSCollector*) \
volatile_nonstatic_field(FreeChunk, _size, size_t) \
nonstatic_field(FreeChunk, _next, FreeChunk*) \
nonstatic_field(FreeChunk, _prev, FreeChunk*) \
nonstatic_field(FreeChunk, _size, size_t)
nonstatic_field(FreeChunk, _prev, FreeChunk*)
#define VM_TYPES_CMS(declare_type, \
declare_toplevel_type) \