Repository navigation
Conversation
OPcache JIT does not support Windows ARM64, so we should not allow `--enable-opcache-jit` in the first place. Due to the way `ARG_ENABLE()` is handled on Windows, we do not attempt to suppress the configure option, but just do not enable JIT when the user attempts to, and adapt the help text.
| if (PHP_OPCACHE_JIT == "yes") { | ||
| if (CHECK_HEADER_ADD_INCLUDE("ir/ir.h", "CFLAGS_OPCACHE", PHP_OPCACHE + ";ext\\opcache\\jit")) { | ||
| if (TARGET_ARCH == 'arm64') { | ||
| WARNING("JIT not enabled; not yet supported for ARM64"); |
There was a problem hiding this comment.
Based on https://github.com/dstogov/ir/tree/master/dynasm I was under the impression ARM is supported, so it isn't or only ARM on Windows?
There was a problem hiding this comment.
Supported is only aarch64 on POSIX systems. See #16839 (comment) f.
There was a problem hiding this comment.
Perhaps it might be wise to specify in the warning message that JIT is not support on ARM64 on Windows (indicating that it is supported on POSIX systems)
There was a problem hiding this comment.
This file is part of the Windows build chain; it is not used for building on POSIX systems.
There was a problem hiding this comment.
Well yeah, but the warning is meant for humans
There was a problem hiding this comment.
$ configure --with-toolset=gcc
PHP Version: 8.5.0-dev
Saving configure options to config.nice.bat
ERROR: Unsupported toolset 'gcc'
There was a problem hiding this comment.
My point was that the warning could be misinterpreted by windows-only developers who don't know much about JIT, leding them to think that JIT is not supported at all on arm64, when they could be instead directed to use WSL, where JIT is available, but ah well :)
OPcache JIT does not support Windows ARM64, so we should not allow
--enable-opcache-jitin the first place.Due to the way
ARG_ENABLE()is handled on Windows, we do not attempt to suppress the configure option, but just do not enable JIT when the user attempts to, and adapt the help text.