RFR: 8339783: Implement JEP 479: Remove the Windows 32-bit x86 Port [v15]

Vladimir Kozlov kvn at openjdk.org
Fri Nov 1 17:55:41 UTC 2024


On Fri, 1 Nov 2024 15:52:50 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

> > Bug in macroAssembler_x86.cpp - should be _WINDOWS
> 
> So what does that mean? That the code is currently broken and is incorrectly included on Windows? If so, it should be fixed in a separate PR. Or is it just a stylistic issue, that both `_WINDOWS` and `WINDOWS` are defined when building hotspot on Windows, but the rule is to stick to `_WINDOWS`? If so, I can sneak in a fix for it here, even if it is not really part of the x86 removal.

I think `WINDOWS` is not defined in our build macros. I filed https://bugs.openjdk.org/browse/JDK-8343452 to fix it and backport.

> > `grep -i win32 -r src/hotspot/share/` shows several places missed in these changes
> 
> I'm actually not sure which places you refer to here. Can you be more specific?
> 
> (Note that, oddly enough, `_WIN32` is still defined on 64-bit Windows, Microsoft considers "win32" to be the general name of the Windows API.)


% grep -i win32 -r src/hotspot/share/ 
src/hotspot/share//c1/c1_Compiler.cpp:  // compilation seems to be too expensive (at least on Intel win32).
src/hotspot/share//runtime/globals.hpp:          "Using high time resolution (for Win32 only)")                    \
src/hotspot/share//runtime/globals.hpp:          "Bypass Win32 file system criteria checks (Windows Only)")        \
src/hotspot/share//runtime/globals.hpp:          "Unguard page and retry on no-execute fault (Win32 only) "        \
src/hotspot/share//runtime/javaCalls.cpp:  // This is used for e.g. Win32 structured exception handlers.
src/hotspot/share//runtime/safefetch.hpp:#ifdef _WIN32
src/hotspot/share//runtime/os.hpp:  class win32;
src/hotspot/share//runtime/vmStructs.cpp:  /* unsigned short on Win32 */                                           \
src/hotspot/share//runtime/vmStructs.cpp:  // Win32, we can put this back in.
src/hotspot/share//runtime/park.cpp:// Native TLS (Win32/Linux/Solaris) can only be initialized or
src/hotspot/share//runtime/sharedRuntimeTrans.cpp:// by roughly 15% on both Win32/x86 and Solaris/SPARC.
src/hotspot/share//runtime/sharedRuntimeTrans.cpp:#ifdef WIN32
src/hotspot/share//runtime/sharedRuntimeTrans.cpp:#ifdef WIN32
src/hotspot/share//prims/jvmti.xml:      example, in the Java 2 SDK a CTRL-Break on Win32 and a CTRL-\ on Linux
src/hotspot/share//prims/jni.cpp:#if defined(_WIN32) && !defined(USE_VECTORED_EXCEPTION_HANDLING)
src/hotspot/share//prims/jni.cpp:#if defined(_WIN32) && !defined(USE_VECTORED_EXCEPTION_HANDLING)
src/hotspot/share//prims/jni.cpp:#if defined(_WIN32) && !defined(USE_VECTORED_EXCEPTION_HANDLING)
src/hotspot/share//prims/jni.cpp:#if defined(_WIN32) && !defined(USE_VECTORED_EXCEPTION_HANDLING)
src/hotspot/share//prims/jni.cpp:#if defined(_WIN32) && !defined(USE_VECTORED_EXCEPTION_HANDLING)
src/hotspot/share//classfile/javaClasses.cpp:#if defined(_WIN32) && !defined(_WIN64)
src/hotspot/share//classfile/compactHashtable.cpp:#ifndef O_BINARY       // if defined (Win32) use binary files.
src/hotspot/share//cds/filemap.cpp:#ifndef O_BINARY       // if defined (Win32) use binary files.
src/hotspot/share//utilities/vmError.cpp:#ifndef _WIN32
src/hotspot/share//adlc/adlc.hpp:#ifdef _WIN32
src/hotspot/share//adlc/adlc.hpp:#endif // _WIN32
src/hotspot/share//adlc/main.cpp:#if !defined(_WIN32) || defined(_WIN64)
src/hotspot/share//compiler/disassembler.cpp:#ifdef _WIN32

-------------

PR Comment: https://git.openjdk.org/jdk/pull/21744#issuecomment-2452318589
PR Comment: https://git.openjdk.org/jdk/pull/21744#issuecomment-2452322471


More information about the core-libs-dev mailing list