RFR (M) 8186903: Remove j-types from Atomic

David Holmes david.holmes at oracle.com
Thu Dec 7 02:41:16 UTC 2017


Hi Coleen,

On 7/12/2017 7:59 AM, coleen.phillimore at oracle.com wrote:
> Summary: Change parameter types from jlong, jint, jbyte to int64_t, 
> int32_t and int8_t respectively

That's fine. But you also made a bunch of changes to rename the "ptr" 
variants to "long", and in the process changed intptr_t to int64_t. The 
change ptr->long isn't really accurate. And intptr_t and int64_t are 
different sizes on 32-bit! So this change seems problematic and out of 
scope by your own description. That said I thought we had/were getting 
rid of the "ptr" variants ??

> Leave renaming functions for later change.
> 
> Ran JPRT which builds more Oracle platforms, mach5 tier1-5 on 
> windows/linux x64 and tier1 on solaris-sparcv9.  Also built Zero product 
> mode (fails building fastdebug for some other reason).
> 
> Other platforms: could you please test this patch?
> 
> open webrev at http://cr.openjdk.java.net/~coleenp/8186903.01/webrev
> bug link https://bugs.openjdk.java.net/browse/JDK-8186903
> 
> This change is for JDK 11.

src/hotspot/cpu/x86/stubGenerator_x86_32.cpp

Return type should be int32_t not int

src/hotspot/os_cpu/windows_x86/os_windows_x86.hpp

-  static intptr_t  (*atomic_xchg_long_func)     (jlong,     volatile 
jlong*);
-  static intptr_t  atomic_xchg_long_bootstrap   (jlong,     volatile 
jlong*);

Wow - that looks like a bug! Only returns 32-bits on 32-bit!

Everything else seems fine.

Thanks,
David

> Thanks,
> Coleen


More information about the hotspot-runtime-dev mailing list