RFR: 8245594: Remove volatile-qualified member functions and parameters from oop class
Kim Barrett
kim.barrett at oracle.com
Thu May 21 22:31:32 UTC 2020
Please review this change to eliminate volatile qualification in the
member functions and parameters of the oop class and its subclasses.
Removed volatile qualified member functions and parameters from class
oop and its subclasses (instanceOop, arrayOop, objArrayOop, typeArrayOop).
Changed the few remaining volatile oop accesses to instead use relaxed
atomics.
Changed constructors for MemoryManager and MemoryPool to use
initializer list, so we don't need to use Atomic::store to initialize
an oop-derived member.
Eliminated ShenandoahVerifierTask's volatile-qualified assignment
operator, which isn't used.
Some tidying up oop class. Cleaned up constructors, eliminating public
set_obj(). Use const-ref rather than by-value parameters for comparisons,
to avoid unnecessary copies that go through register/deregister.
CR:
https://bugs.openjdk.java.net/browse/JDK-8245594
Webrev:
https://cr.openjdk.java.net/~kbarrett/8245594/open.00/
Testing:
mach5 tier1-5
Local (linux-x64) hotspot:tier1 with Shenandoah enabled.
More information about the hotspot-dev
mailing list