On Wed, 11 Oct 2023 17:20:18 GMT, Andrew Haley <a...@openjdk.org> 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