On Wed, 11 Oct 2023 17:20:18 GMT, Andrew Haley <[email protected]> wrote:
>> src/hotspot/os/bsd/os_bsd.cpp line 976:
>>
>>> 974: // same architecture as Hotspot is running on
>>> 975:
>>> 976: void *os::Bsd::dlopen_helper(const char *filename, int mode) {
>>
>> I thought BSD is switching to clang.
>
> What difference does it make if it does?
I was trying to understand the BSD+gcc combination. We use clang on MacOS, so
the only platform I thought would be affected would be one of the BSDs.
But I thought those also moved to clang in their builds. Hence my question.
>> src/hotspot/os/bsd/os_bsd.cpp line 1001:
>>
>>> 999: static const volatile double thresh
>>> 1000: = jdouble_cast(0x0000000000000003); // 0x0.0000000000003p-1022;
>>> 1001: if (unity + thresh == unity || -unity - thresh == -unity) {
>>
>> Could this expression happen to be precomputed by the compiler at build
>> time? Maybe make the parts volatile?
>
> `thresh` is volatile. What more is needed?
Argh, sorry, missed that volatile.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/10661#discussion_r1355591017
PR Review Comment: https://git.openjdk.org/jdk/pull/10661#discussion_r1355593391