RFR: 8199946: Move load/store and encode/decode out of oopDesc (original) (raw)
Stefan Karlsson stefan.karlsson at oracle.com
Wed Mar 21 17:27:52 UTC 2018
- Previous message: RFR (L, tedious) 8199809: Don't include frame.inline.hpp and other.inline.hpp from .hpp files
- Next message: RFR: 8199946: Move load/store and encode/decode out of oopDesc
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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::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:
It replaces the oopDesc load and store calls with RawAccess equivalents.
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 compressedOops.inline.hpp
access.inline.hpp includes: compressedOops.inline.hpp
Thanks, StefanK
- Previous message: RFR (L, tedious) 8199809: Don't include frame.inline.hpp and other.inline.hpp from .hpp files
- Next message: RFR: 8199946: Move load/store and encode/decode out of oopDesc
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]