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
..
2022-04-22 18:14:08 +02:00
2024-03-26 21:29:07 +01:00
2025-04-21 13:15:43 +02:00
2024-04-08 20:16:35 +02:00
2025-03-21 16:35:57 +01:00
2021-04-03 15:23:25 +02:00
2021-09-16 12:46:53 +02:00
2021-04-03 15:23:25 +02:00
2021-09-22 15:55:25 +02:00
2021-04-03 15:23:25 +02:00
2020-02-03 22:52:20 +01:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-09 15:41:00 +02:00
2021-05-28 15:46:04 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2024-04-30 14:34:43 +02:00
2023-09-01 12:39:03 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-09 15:41:00 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2022-06-17 14:12:53 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2024-04-30 14:34:43 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2024-03-13 21:40:26 +01:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2022-06-17 14:12:53 +02:00
2024-03-13 21:40:26 +01:00
2021-04-03 15:23:25 +02:00
2021-05-28 15:46:04 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2023-07-17 15:51:24 +01:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-07-19 13:44:20 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2020-02-03 22:52:20 +01:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2019-06-13 12:35:29 +02:00
2019-06-13 12:35:29 +02:00
2019-06-13 12:35:29 +02:00
2021-04-03 15:23:25 +02:00
2023-03-17 18:12:51 +01:00
2021-04-03 15:23:25 +02:00
2024-09-09 09:55:52 +03:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2023-03-17 18:12:51 +01:00
2021-04-03 15:23:25 +02:00
2021-07-30 10:27:51 +02:00
2021-07-30 10:27:51 +02:00
2021-07-30 10:27:51 +02:00
2021-07-30 10:27:51 +02:00
2021-07-30 10:27:51 +02:00
2021-07-30 10:27:51 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2024-02-05 15:00:32 +01:00
2021-04-14 00:21:37 +08:00
2021-05-06 10:46:00 +02:00
2021-05-17 15:46:49 +02:00
2024-01-15 09:39:13 +01:00
2021-11-17 18:23:36 +03:00
2021-11-17 18:23:36 +03:00
2021-05-29 11:33:13 +02:00
2021-04-03 15:23:25 +02:00
2024-04-08 20:22:02 +02:00
2024-04-08 20:22:02 +02:00
2024-02-06 17:42:28 +01:00
2024-12-09 17:14:19 +01:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2023-03-01 13:24:39 +01:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2023-10-18 17:34:10 +02:00
2023-10-18 17:34:10 +02:00
2023-10-18 17:34:10 +02:00
2022-04-21 11:57:12 +02:00
2022-04-21 11:57:12 +02:00
2023-10-18 17:34:10 +02:00
2023-05-15 10:25:33 +02:00
2023-05-15 10:25:33 +02:00
2024-04-30 14:34:43 +02:00
2024-09-09 09:55:52 +03:00
2024-03-20 13:21:41 +03:00
2022-09-03 11:23:10 +02:00
2024-09-09 10:00:41 +03:00
2023-01-12 15:47:24 +00:00
2022-11-25 14:02:45 +01:00
2022-11-25 14:02:45 +01:00
2023-01-28 11:49:14 +01:00
2023-01-28 11:49:14 +01:00
2023-07-11 17:38:09 +02:00
2023-07-21 13:04:53 +02:00
2024-04-02 18:11:02 +02:00
2024-07-22 18:28:03 +02:00
2024-08-02 17:35:27 +02:00
2024-08-02 17:35:27 +02:00
2024-08-02 17:35:27 +02:00
2024-08-02 17:35:27 +02:00
2024-08-02 17:35:27 +02:00
2024-10-07 18:06:14 +02:00
2024-10-07 18:06:14 +02:00
2024-10-28 19:30:52 +01:00
2024-10-28 19:30:52 +01:00
2024-12-12 13:10:34 +01:00
2025-03-18 13:42:53 +01:00
2021-09-16 14:43:08 +02:00
2021-04-05 06:34:13 +01:00
2024-03-13 21:40:26 +01:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2024-04-16 13:49:11 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2024-04-16 13:49:11 +02:00
2021-04-03 15:23:25 +02:00
2022-06-07 13:35:34 +01:00
2023-10-18 10:46:30 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2023-04-03 08:02:19 +02:00
2021-09-17 16:32:29 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2024-09-09 09:55:52 +03:00
2024-12-09 11:45:16 +01:00
2021-04-03 15:23:25 +02:00
2023-07-18 15:02:38 +02:00
2021-04-03 15:23:25 +02:00
2023-05-24 20:17:31 +02:00
2023-05-24 20:17:31 +02:00
2024-02-07 13:03:14 +01:00
2021-04-09 12:24:12 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2020-02-03 22:52:20 +01:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2023-04-03 08:02:19 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-07-30 15:09:49 +02:00
2021-04-03 15:23:25 +02:00
2024-02-05 15:00:32 +01:00
2020-02-03 22:52:20 +01:00
2020-02-03 22:52:20 +01:00
2019-06-18 17:18:49 +03:00
2020-02-03 22:52:20 +01:00
2020-02-03 22:52:20 +01:00
2021-04-03 15:23:25 +02:00
2019-12-11 12:21:49 +03:00
2021-04-03 15:23:25 +02:00
2019-12-10 13:06:36 +01:00
2021-04-03 15:23:25 +02:00
2019-07-04 11:05:01 +02:00
2023-01-12 15:47:24 +00:00
2021-08-02 10:41:27 +02:00
2021-08-02 10:41:27 +02:00
2020-11-04 10:54:08 +01:00
2021-04-03 15:23:25 +02:00
2020-11-03 16:45:13 +01:00
2021-04-03 15:23:25 +02:00
2025-02-24 14:35:47 +01:00
2021-07-27 14:36:38 +02:00
2023-10-18 17:34:10 +02:00
2021-08-16 15:04:17 +02:00
2021-08-16 15:04:17 +02:00
2021-08-16 15:05:32 +02:00
2023-07-11 17:38:09 +02:00
2020-02-03 22:52:20 +01:00
2019-02-15 17:36:40 +01:00
2019-02-15 17:36:40 +01:00
2020-11-03 15:29:18 +01:00
2020-11-03 15:29:18 +01:00
2021-04-03 15:23:25 +02:00
2019-02-15 16:56:32 +01:00
2019-02-15 16:56:32 +01:00
2019-12-10 13:05:48 +01:00
2021-07-27 10:50:31 +02:00
2019-12-10 13:05:48 +01:00
2023-10-18 17:34:10 +02:00
2019-12-10 13:05:48 +01:00
2021-04-03 15:23:25 +02:00
2020-11-04 15:42:52 +01:00
2023-03-17 18:12:51 +01:00
2019-07-05 11:00:27 +02:00
2024-08-02 17:35:27 +02:00
2024-08-02 17:35:27 +02:00
2019-02-21 10:59:30 +01:00
2020-11-03 16:24:54 +01:00
2023-04-03 08:02:19 +02:00
2021-04-03 15:23:25 +02:00
2020-05-04 16:27:45 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2020-11-05 16:35:08 +01:00
2021-04-03 15:23:25 +02:00
2019-12-12 11:52:43 +01:00
2023-03-17 18:12:51 +01:00
2019-02-18 13:46:13 +03:00
2019-02-15 13:03:46 +01:00
2019-12-10 13:05:48 +01:00
2019-12-10 13:05:48 +01:00
2021-04-03 15:23:25 +02:00
2022-10-07 15:48:05 +02:00
2022-10-07 15:48:05 +02:00
2022-10-07 15:48:05 +02:00
2022-10-07 15:48:05 +02:00
2022-10-07 15:48:05 +02:00
2022-10-07 15:48:05 +02:00
2021-07-30 15:09:49 +02:00
2020-11-03 14:49:10 +01:00
2021-04-03 15:23:25 +02:00
2021-07-27 12:07:22 +02:00
2022-12-22 17:42:11 +01:00
2022-12-22 17:42:11 +01:00
2021-09-21 14:35:45 +02:00
2021-11-01 12:31:34 +01:00
2021-06-10 10:52:53 +02:00
2021-06-10 11:43:15 +03:00
2021-04-03 15:23:25 +02:00
2019-12-12 09:39:52 +01:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-09-16 11:31:06 +02:00
2021-04-03 15:23:25 +02:00
2022-07-18 15:11:02 +03:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2020-05-20 11:20:21 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-03 15:23:25 +02:00
2021-04-09 15:41:00 +02:00