RFR: 8224974: Implement JEP 352
Aleksey Shipilev
shade at redhat.com
Wed Jul 31 11:40:06 UTC 2019
On 7/31/19 1:29 PM, Andrew Dinn wrote:
> I have an update regarding the change to the computation of the
> CPU_FLUSH flag. After posting the new webrev I built a debug version
> with the change that tests the clflush bit on x86_64. It crashed when
> the assert is reached in VM_Version::supports_cpuflush:
>
> # A fatal error has been detected by the Java Runtime Environment:
> #
> # Internal Error (src/hotspot/cpu/x86/vm_version_x86.hpp:978),
> pid=29597, tid=29602
> # assert((_features & ((uint64_t)(0x20000000000ULL))) != 0) failed:
> clflush should be available
>
> So, it seems the clflush bit is not set on my x86_64 box even though I
> am able to execute clflush quite happily.
>
> "Toto, it looks like we are no longer in Antarctica."
>
> So, I will revert this change (in the next webrev).
But wait, that might mean the clflush is indeed not available, by either hardware or software
switch? I believe some security mitigations disable clflush. Linux kernel, for example, has
"noclflush" option to do this. Ignoring the cpu bit and emitting clflush anyway might circumvent
that mitigation then?
-Aleksey
More information about the hotspot-compiler-dev
mailing list