RFR: 8199946: Move load/store and encode/decode out of oopDesc (original) (raw)

Stefan Karlsson stefan.karlsson at oracle.com
Thu Mar 22 16:01:49 UTC 2018


Hi,

This patch needs Erik's change to the LoadProxies: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2018-March/021504.html

to build on fastdebug.

Here's a rebased patch: http://cr.openjdk.java.net/~stefank/8199946/webrev.02/

Thanks, StefanK

On 2018-03-21 18:27, Stefan Karlsson wrote:

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 subsystem. http://cr.openjdk.java.net/~stefank/8199946/webrev.01 https://bugs.openjdk.java.net/browse/JDK-8199946 When the Access API was introduced many of the usages of oopDesc::loaddecodeheapoop, 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::narrowoop 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 compressedOops.inline.hpp access.inline.hpp includes: compressedOops.inline.hpp Thanks, StefanK



More information about the hotspot-dev mailing list