RFR: 8186166: Generalize Atomic::cmpxchg with templates

Kim Barrett kim.barrett at oracle.com
Mon Aug 14 05:33:24 UTC 2017

> On Aug 14, 2017, at 1:25 AM, John Paul Adrian Glaubitz <glaubitz at physik.fu-berlin.de> wrote:
> Hi Kim!
> Quick question: Is this going to remove affect the aromics code in Zero that we have for PPC32, ARM and M68K?
> I have a couple of patches that I want to send in this week which contains several fixes for Zero as there are still many users for it, especially in distributions like Debian.

There are zero changes; see below.  I was planning to direct email various folks interested in the care of various platforms not directly supported by Oracle, and you are on my list for that.

> I was also wondering whether one could use the C++11 synchronization primitives in the future?

Maybe, someday, for some platforms.  There are problems with getting C++11 into use, because of deficiencies in some compilers.  There are also some questions about the interaction between compiler primitives and what we need for interaction with Java.

>> On Aug 14, 2017, at 2:41 AM, Kim Barrett <kim.barrett at oracle.com> wrote:
>> Please review this change to Atomic::cmpxchg, making it a function
>> template with a per-platform underlying implementation.
>> […]
>> Non-Oracle platform changes:
>> atomic_aix_ppc.hpp
>> atomic_bsd_x86.hpp - 32bit
>> atomic_bsd_zero.hpp
>> atomic_linux_aarch.hpp
>> atomic_linux_ppc.hpp
>> atomic_linux_s390.hpp
>> atomic_linux_sparc.hpp
>> atomic_linux_zero.hpp
>> […]

More information about the hotspot-dev mailing list