There are a few places that still use oopDesc::load_decode_heap_oop and friends. Most of the usages where removed when the Access API was introduced, but some are still left. This RFE intends to remove those last usages.
The load/store functions have been replaced by calls to RawAccess.
The encode/decode functions main purpose is to deal with oops to/from narrowOop conversions. These functions are moved to a new CompressedOops subsystem.
The move of the CompressedOops encode/decode functions removes 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
The load/store functions have been replaced by calls to RawAccess.
The encode/decode functions main purpose is to deal with oops to/from narrowOop conversions. These functions are moved to a new CompressedOops subsystem.
The move of the CompressedOops encode/decode functions removes 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