RFR: 8199946: Move load/store and encode/decode out of oopDesc

Stefan Karlsson stefan.karlsson at oracle.com
Wed Mar 21 17:27:52 UTC 2018

Hi all,

Please review this patch to get rid of the oopDesc::load/store functions 
and to move the oopDesc::encode/decode functions to a new CompressedOops 


When the Access API was introduced many of the usages of 
oopDesc::load_decode_heap_oop, and friends, were replaced by calls to 
the Access API. However, there are still some usages of these functions, 
most notably in the GC code.

This patch is two-fold:

1) It replaces the oopDesc load and store calls with RawAccess equivalents.

2) It moves the oopDesc encode and decode functions to a new, separate, 
subsystem called CompressedOops. A future patch could even move all the 
Universe::_narrow_oop variables over to CompressedOops.

The second part has the nice property that it breaks up a circular 
dependency between oop.inline.hpp and access.inline.hpp. After the 
change we have:

oop.inline.hpp includes:

access.inline.hpp includes:


More information about the hotspot-dev mailing list