RFR (XXS) 8037295: Add size_t versions of Atomic::add, dec, and inc
David Simms
david.simms at oracle.com
Wed Mar 26 09:55:04 UTC 2014
On 26/03/2014 10:23 a.m., David Holmes wrote:
>
> This looks okay to me. Is there any reason not to provide xchg and
> cmpxchg size_t variants too?
>
> Thanks,
> David H.
>
There seems to be only one currently valid use (task queue), but it
still requires casting...then there's a requirement for some ugly macro
to check if "size_t == unsigned int"...in which case we already have
those variants, i.e.:
+#if (UINT_MAX == SIZE_MAX) // size_t is an "unsigned int"
+#define ATOMIC_SIZE_T_IS_UINT
+#endif
+
+#ifndef ATOMIC_SIZE_T_IS_UINT // else we already have it
+ inline static size_t cmpxchg (size_t exchange_value, volatile size_t* dest, size_t compare_value);
+#endif
I didn't find this appealing (tried to see if templates made it
better...but this was even worse), and therefore chickened out.
Thanks for the review.
/Mr. Simms
More information about the hotspot-runtime-dev
mailing list