[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-gc-dev
Subject:    RFR (S): 8193063: Enabling narrowOop values for RawAccess accesses
From:       Erik_Ă–sterlund <erik.osterlund () oracle ! com>
Date:       2017-12-05 14:49:50
Message-ID: 5A26B20E.8080701 () oracle ! com
[Download RAW message or body]

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
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic