United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6687581 Make CMS work with compressed oops
JDK-6687581 : Make CMS work with compressed oops

Details
Type:
Bug
Submit Date:
2008-04-11
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-08
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs13 (b02)

Related Reports
Backport:
Backport:
Relates:
Relates:
Relates:

Sub Tasks

Description
CMS doesn't work with compressed oops so it's turned off because it has these chunk headers that use the lsb of the _klass field which is not zero in the compressed oops case.

In 64 bit mode, use a bit in the markOop instead of the lsb in the _klass field to indicate free.  There's apparently 25 spare bits in the markOop in 64 bit.

btw, I volunteered to do this too.

                                    

Comments
EVALUATION

Fixed 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.  Moved the size field first so
that it is used consistently for 64 bits w/out compressed oops, and 32 bits
to reduce ifdefs.

Changed FreeChunk and associated code in SA.

Fix verified: y

Testing:  nsk stress, sajdi and my sanity testlists with CMS+compressedoops.
          runthese
          refworkload/GCOld

Reviewed-by:
                                     
2008-06-05



Hardware and Software, Engineered to Work Together