Michael Gottesman
0da22388cb
[silgen] Make sure that thunks that convert to/from nonisolated(nonsending) handle hopping correctly.
...
Specifically:
1. When we convert a function to nonisolated(nonsending), we need to
make sure that in the thunk we hop upon return since nonisolated(nonsending)
functions are assumed to preserve the caller's isolation.
2. When we convert a function from nonisolated(nonsending), we need to
make sure that in the thunk we hop onto the actor that we are passing in as the
isolated parameter of the nonisolated(nonsending) function. This ensures that
the nonisolated(nonsending) function can assume that it is already on its
isolated parameter's actor at function entry.
rdar://155905383
2025-07-18 10:08:21 -07:00
..
2025-07-18 10:08:21 -07:00
2024-10-19 12:35:20 -07:00
2025-02-06 14:05:06 -08:00
2025-06-22 23:21:25 -04:00
2024-10-18 16:21:51 -07:00
2025-04-08 13:09:29 -04:00
2025-07-16 06:28:04 +00:00
2025-05-23 00:20:18 -07:00
2025-05-23 00:20:18 -07:00
2024-10-18 16:21:51 -07:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2025-05-22 11:37:58 -07:00
2024-11-02 11:46:46 -07:00
2024-10-18 16:21:51 -07:00
2025-04-22 18:23:36 +01:00
2025-05-22 11:37:58 -07:00
2025-04-24 09:21:32 +02:00
2025-06-10 10:15:37 -07:00
2024-10-18 16:21:51 -07:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2025-07-15 13:00:45 -07:00
2025-05-22 11:37:58 -07:00
2025-06-30 22:03:07 -07:00
2024-10-18 16:21:51 -07:00
2024-11-02 11:46:46 -07:00
2025-04-22 18:23:36 +01:00
2024-07-30 09:47:20 -07:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2024-10-18 16:21:51 -07:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2024-10-18 16:21:51 -07:00
2024-10-18 16:21:51 -07:00
2025-05-14 11:15:42 +01:00
2024-10-18 16:21:51 -07:00
2024-10-18 16:21:51 -07:00
2025-03-08 10:58:49 +09:00
2025-04-15 08:44:05 -07:00
2024-10-18 16:21:51 -07:00
2025-07-02 22:13:15 +09:00
2025-06-02 21:45:04 +09:00
2024-11-02 11:46:46 -07:00
2024-10-18 16:21:51 -07:00
2024-11-02 11:46:46 -07:00
2024-10-18 16:21:51 -07:00
2025-04-17 18:12:30 -07:00
2025-03-08 10:58:49 +09:00
2025-07-02 22:13:15 +09:00
2024-10-18 16:21:51 -07:00
2024-11-02 11:46:46 -07:00
2024-10-18 16:21:51 -07:00
2024-11-02 11:46:46 -07:00
2024-10-18 16:21:51 -07:00
2024-10-18 16:21:51 -07:00
2024-11-21 18:49:52 +01:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2024-08-27 16:19:29 -07:00
2025-04-22 18:23:36 +01:00
2024-11-02 11:46:46 -07:00
2025-07-15 11:16:13 +09:00
2025-07-02 12:13:37 -07:00
2025-07-15 11:16:13 +09:00
2024-11-02 11:46:46 -07:00
2025-03-29 15:40:56 -07:00
2024-11-21 18:49:52 +01:00
2025-06-04 10:40:19 +01:00
2024-11-02 11:46:46 -07:00
2025-03-29 15:40:56 -07:00
2024-11-21 18:49:52 +01:00
2025-06-29 01:23:04 -04:00
2025-06-30 17:38:08 -07:00
2025-06-27 18:51:17 -07:00
2025-06-27 12:18:32 -07:00
2024-12-12 16:41:02 +09:00
2025-02-06 14:05:06 -08:00
2024-11-02 11:46:46 -07:00
2025-04-17 12:26:34 -07:00
2025-06-20 10:59:54 -07:00
2025-01-10 09:04:50 -08:00
2024-11-21 18:49:52 +01:00
2025-06-30 12:07:41 -07:00
2024-11-21 18:49:52 +01:00
2024-10-18 16:21:51 -07:00
2024-11-15 18:20:28 -08:00
2024-11-02 11:46:46 -07:00
2025-04-24 09:21:32 +02:00
2025-06-17 13:01:28 -07:00
2024-07-20 02:39:33 +02:00
2025-05-23 00:20:18 -07:00
2025-05-09 13:05:57 -07:00
2025-04-24 09:21:32 +02:00
2025-06-17 13:01:28 -07:00
2025-06-17 13:01:28 -07:00
2025-06-11 23:44:01 -07:00
2025-03-26 20:38:20 -07:00
2025-05-22 11:37:58 -07:00
2024-11-22 15:19:25 +01:00
2025-02-15 10:29:40 -06:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2025-05-21 18:04:43 -04:00
2025-05-22 11:37:58 -07:00
2025-05-22 11:37:58 -07:00
2025-05-23 00:20:18 -07:00
2025-06-13 11:47:37 +09:00
2025-05-22 11:37:58 -07:00
2025-07-07 11:35:19 -07:00
2025-06-02 23:37:58 -07:00
2025-06-22 23:21:25 -04:00
2025-06-22 23:21:25 -04:00
2025-06-24 14:49:03 +01:00
2025-03-28 16:55:36 -07:00
2025-07-07 11:35:19 -07:00
2024-11-21 18:49:52 +01:00
2024-11-02 11:46:46 -07:00
2025-05-23 00:20:18 -07:00
2024-11-02 11:46:46 -07:00
2025-07-07 11:37:16 +09:00
2024-10-18 16:21:51 -07:00
2025-07-09 10:59:13 -07:00
2025-04-22 18:23:36 +01:00
2024-10-18 16:21:51 -07:00
2025-03-28 15:43:11 -07:00
2024-11-21 18:49:52 +01:00
2024-07-30 22:11:49 -07:00
2025-05-22 11:37:58 -07:00
2025-06-27 23:45:53 -07:00
2024-10-18 16:21:51 -07:00
2025-06-29 01:23:04 -04:00
2025-04-30 06:17:52 -07:00
2024-10-18 16:21:51 -07:00
2025-06-30 17:38:08 -07:00
2025-05-22 11:37:58 -07:00
2025-07-02 13:03:13 -07:00
2025-04-18 09:17:44 -07:00
2025-07-15 17:03:49 -07:00
2025-07-02 12:03:59 -07:00
2025-06-24 12:46:41 -07:00
2025-05-22 11:37:58 -07:00
2024-10-18 16:21:51 -07:00
2025-05-23 09:12:51 +01:00
2024-10-18 16:21:51 -07:00
2024-11-21 12:14:00 +00:00
2025-04-22 18:23:36 +01:00
2024-11-02 11:46:46 -07:00
2025-05-22 11:37:58 -07:00
2025-05-22 11:37:58 -07:00
2025-05-22 11:37:58 -07:00
2024-11-02 11:46:46 -07:00
2025-01-10 09:10:56 -08:00
2024-08-20 07:49:33 -07:00
2025-04-22 18:23:36 +01:00
2025-06-06 08:48:29 -07:00
2025-06-10 10:15:37 -07:00
2024-10-18 16:21:51 -07:00
2024-11-02 11:46:46 -07:00
2024-10-18 16:21:51 -07:00
2024-10-18 16:21:51 -07:00
2024-11-02 11:46:46 -07:00
2024-07-11 23:03:33 -07:00
2025-06-23 11:11:59 -07:00
2025-05-23 13:46:22 +01:00
2024-10-18 16:21:51 -07:00
2024-11-02 11:46:46 -07:00
2024-10-18 16:21:51 -07:00
2025-05-22 11:37:58 -07:00
2025-05-22 11:37:58 -07:00
2025-07-03 05:22:57 -07:00
2025-05-22 11:37:58 -07:00
2025-07-15 11:16:13 +09:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2024-11-02 11:46:46 -07:00
2025-05-29 20:21:35 +01:00
2025-06-04 09:46:02 -07:00
2025-07-12 08:45:13 -07:00
2025-07-08 11:18:30 -07:00
2025-05-22 11:37:58 -07:00
2024-12-02 16:54:12 -05:00
2024-11-02 11:46:46 -07:00
2025-03-13 15:34:17 -07:00
2025-07-17 10:12:41 -07:00
2025-05-22 11:37:58 -07:00
2025-07-15 11:16:13 +09:00
2025-05-22 11:37:58 -07:00
2024-11-02 11:46:46 -07:00
2025-05-22 11:37:58 -07:00
2025-02-13 17:03:00 -08:00
2025-05-22 11:37:58 -07:00
2025-01-22 21:12:36 -08:00
2024-11-02 11:46:46 -07:00
2024-07-09 14:28:29 -07:00
2025-03-24 12:15:57 -07:00
2025-04-24 09:21:32 +02:00
2024-09-18 10:41:40 -07:00
2025-01-14 15:38:02 -08:00
2025-03-08 07:09:08 +09:00
2025-02-01 06:43:15 +09:00
2024-10-18 16:21:51 -07:00
2025-04-17 18:12:30 -07:00
2025-07-10 14:57:44 +09:00
2025-05-22 11:37:58 -07:00
2024-11-02 11:46:46 -07:00
2025-05-28 06:23:49 +09:00
2025-05-22 11:37:58 -07:00
2024-10-18 16:21:51 -07:00
2025-07-02 13:03:13 -07:00
2024-11-05 06:29:58 -08:00
2025-07-07 17:21:41 -07:00
2025-05-22 11:37:58 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-07-10 11:15:00 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 13:03:13 -07:00
2024-11-04 15:17:51 -08:00
2025-07-08 22:36:37 -07:00
2025-02-12 10:51:14 +01:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 13:03:13 -07:00
2024-07-29 09:44:57 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-07-02 12:13:37 -07:00
2025-04-18 09:58:10 -07:00
2025-07-02 13:03:13 -07:00
2025-01-17 14:01:34 -08:00
2024-12-20 17:59:23 -08:00
2025-04-22 18:23:36 +01:00
2025-05-22 11:37:58 -07:00
2025-06-05 11:14:55 -07:00
2025-05-14 11:15:42 +01:00
2024-11-06 15:24:36 -08:00