php-src/win32/build
Niels Dossche 1a1a83f1fc
Fix GH-18136: tracing JIT floating point register clobbering on Windows and ARM64
On win64, xmm6-xmm15 are preserved registers, but the prologues and
epilogues of JITted code don't handle these. The issue occurs when
calling into the JIT code again via an internal handler
(like call_user_func). Therefore, we want to save/restore xmm registers
upon entering/leaving execute_ex. Since MSVC x64 does not support inline
assembly, we create an assembly wrapper around the real execute_ex
function.
The alternative is to always save/restore these xmm registers into the
fixed call frame, but this causes unnecessary overhead.
The same issue occurs for ARM64 platforms for floating point register
8 to 15. However, there we can use inline asm to fix this.

Closes GH-18352.
2025-04-21 13:15:43 +02:00
..
buildconf.js Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
config.w32 Fix GH-18136: tracing JIT floating point register clobbering on Windows and ARM64 2025-04-21 13:15:43 +02:00
config.w32.h.in Merge branch 'PHP-8.3' 2024-09-22 19:30:03 +02:00
config.w32.phpize.in Update http links to https and sync www.php.net URLs (#14854) 2024-07-07 04:23:08 +02:00
configure.bat Fix #79146: cscript can fail to run on some systems 2020-01-21 11:53:11 +01:00
configure.tail Sync leading and final newlines in source code files 2018-10-14 12:56:38 +02:00
confutils.js Fix clang compiler detection on Windows 2025-01-14 12:36:19 +01:00
cppcheck.cfg
cppcheck_suppress.txt Add basic cppcheck suppressions file 2018-02-19 17:43:49 +01:00
cppcheck_x64.cfg Zend/zend_types.h: deprecate zend_bool, zend_intptr_t, zend_uintptr_t (#10597) 2023-02-18 19:31:28 +00:00
cppcheck_x86.cfg Zend/zend_types.h: deprecate zend_bool, zend_intptr_t, zend_uintptr_t (#10597) 2023-02-18 19:31:28 +00:00
default.manifest Fix minimal Windows version 2024-09-22 19:28:43 +02:00
deplister.c Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
Makefile Merge branch 'PHP-8.3' into PHP-8.4 2024-12-08 19:10:12 +01:00
Makefile.phpize Support test-ini also for phpize builds 2022-08-26 14:25:10 +02:00
mkdist.php [skip ci] Fix typos discovered by codespell (#12228) 2023-09-18 11:07:17 +01:00
mkico.bat Build/Windows: Update the Windows icon as svg and build derivatives from it 2024-07-16 14:47:31 +02:00
mkico.sh Sync file permissions 2024-08-02 02:39:52 +02:00
php-classic.svg Build/Windows: Update the Windows icon as svg and build derivatives from it 2024-07-16 14:47:31 +02:00
php.ico Build/Windows: Update the Windows icon as svg and build derivatives from it 2024-07-16 14:47:31 +02:00
php.svg Build/Windows: Update the Windows icon as svg and build derivatives from it 2024-07-16 14:47:31 +02:00
phpize.bat Fix #79146: cscript can fail to run on some systems 2020-01-21 11:53:11 +01:00
phpize.js.in [skip ci] Fix phpize for Windows 11 (24H2) 2025-02-14 17:15:24 +01:00
registersyslog.php Use regedit to register event source 2019-07-18 09:10:48 +02:00
template.rc Use HTTPS URLs in resource files 2022-06-15 17:56:14 +02:00
wsyslog.mc Sync leading and final newlines in source code files 2018-10-14 12:56:38 +02:00