On Wed, 22 Nov 2023 21:41:50 GMT, Aleksey Shipilev <[email protected]> wrote:
>> @shipilev - Do you have a particular legacy x86 in mind? > > My point is that it is such an easy thing to do: leave the "cx8" flag sensing > code in, and keep setting up `_supports_cx8` based on it for `!_LP64` paths. > This both provides more safety by failing cleanly on non-CX8 platform, and > gives other platforms some guidance: if you can check something is supported, > check it. I think we are generally trying to fail cleanly on unsupported > configs, if that is easy to achieve. > > But now that you nerd-sniped me into this... I think non-CX8 platforms would > probably predate Pentium. The oldest real machine my lab has is Z530, which > already has CX8. But it was easy to also go to my QEMU-driven build-test > server, ask for `i486` as platform there, and et voila, no `cx8` in CPU flags: > > > buildworker-debian12-32:~$ lscpu > Architecture: i486 > CPU op-mode(s): 32-bit > Address sizes: 36 bits physical, 32 bits virtual > Byte Order: Little Endian > CPU(s): 4 > On-line CPU(s) list: 0-3 > Vendor ID: GenuineIntel > Model name: 486 DX/4 > CPU family: 4 > Model: 8 > Thread(s) per core: 4 > Core(s) per socket: 1 > Socket(s): 1 > Stepping: 0 > BogoMIPS: 5699.99 > Flags: fpu vme pse apic ht cpuid tsc_known_freq x2apic > hypervisor cpuid_fault > > > And mainline JDK even starts there! (with interpreter, there are some asserts > firing in compiler code, having to do with odd instruction selection on some > paths): > > > $ jdk/bin/java -Xint -version > openjdk version "22-testing" 2024-03-19 > OpenJDK Runtime Environment (fastdebug build > 22-testing-builds.shipilev.net-openjdk-jdk-b627-20231121) > OpenJDK Server VM (fastdebug build > 22-testing-builds.shipilev.net-openjdk-jdk-b627-20231121, interpreted mode, > sharing) Nice spelunking... I was wondering if it was something that old. I wasn't trying to nerd-snipe... I was in the dev lab at Intel when Xenix on the i386 first came up and sent its "Hello World!" email... I left Intel for Sun in 1987 while i486 was still in development, but I still had periodic lunches with folks that worked on those teams. Life was simpler back then... ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/16625#discussion_r1402748121
