RFR (S): 8193063: Enabling narrowOop values for RawAccess accesses

Erik Österlund erik.osterlund at oracle.com
Tue Dec 5 14:49:50 UTC 2017


Hi,

In order to replace oopDesc::load_heap_oop() but with stricter memory 
ordering properties, like MO_VOLATILE, some Access tweaks are required 
to allow RawAccess<>::oop_load() to return narrowOop values.

I made the necessary changes to allow narrowOop values for all RawAccess 
operations that have an address (not the _at variants).

While I am at it, I thought I'd clean up a few things that bug me:

* The decorator verification for memory ordering specifically did not 
work as I originally intended, leading to harder to decipher compiler 
errors deeper down when using the wrong memory ordering decorators
* An unnecessary include of oop.inline.hpp was removed from the G1 
barrier set.

This change helps solving the following bug:
https://bugs.openjdk.java.net/browse/JDK-8129440

This bug is filed under:
https://bugs.openjdk.java.net/browse/JDK-8193063

Webrev:
http://cr.openjdk.java.net/~eosterlund/8193063/webrev.00/

Thanks,
/Erik



More information about the hotspot-gc-dev mailing list