Eric Snow
80dc39e1dc
gh-110310: Add a Per-Interpreter XID Registry for Heap Types (gh-110311)
...
We do the following:
* add a per-interpreter XID registry (PyInterpreterState.xidregistry)
* put heap types there (keep static types in _PyRuntimeState.xidregistry)
* clear the registries during interpreter/runtime finalization
* avoid duplicate entries in the registry (when _PyCrossInterpreterData_RegisterClass() is called more than once for a type)
* use Py_TYPE() instead of PyObject_Type() in _PyCrossInterpreterData_Lookup()
The per-interpreter registry helps preserve isolation between interpreters. This is important when heap types are registered, which is something we haven't been doing yet but I will likely do soon.
2023-10-04 16:35:27 -06:00
..
2023-09-06 15:54:59 +00:00
2022-10-17 12:01:00 +02:00
2022-10-17 12:01:00 +02:00
2023-08-24 23:35:47 +00:00
2023-10-04 16:08:02 +01:00
2022-11-09 10:50:09 -08:00
2022-10-25 23:34:22 +01:00
2023-08-25 01:01:30 +02:00
2023-09-08 09:48:28 +00:00
2023-02-28 14:16:39 -07:00
2023-09-13 09:00:39 -07:00
2023-09-30 20:06:45 +00:00
2023-09-30 22:21:20 +00:00
2023-10-04 14:52:28 -07:00
2023-10-04 16:09:48 +01:00
2023-10-04 16:09:48 +01:00
2023-09-13 10:25:45 -07:00
2023-09-03 18:54:27 +02:00
2023-09-14 17:06:08 +01:00
2023-09-30 19:25:54 +02:00
2023-08-04 16:24:50 -07:00
2023-09-29 10:56:49 +02:00
2023-09-02 16:50:18 +02:00
2023-02-15 15:32:31 -07:00
2023-09-27 15:24:12 +00:00
2023-09-08 17:54:45 +01:00
2023-09-15 15:04:21 -07:00
2023-09-29 10:56:49 +02:00
2023-10-04 14:52:28 -07:00
2023-10-04 14:52:28 -07:00
2023-09-30 20:06:45 +00:00
2023-09-28 20:33:28 +01:00
2023-06-02 01:33:17 +02:00
2023-08-31 09:56:06 +02:00
2023-09-08 10:34:40 +01:00
2023-09-30 20:06:45 +00:00
2023-07-03 22:35:46 +00:00
2023-10-04 14:52:28 -07:00
2023-09-29 10:56:49 +02:00
2023-01-08 09:13:25 -06:00
2023-09-29 10:56:49 +02:00
2022-11-15 09:45:11 -07:00
2023-08-24 18:53:50 +02:00
2023-08-31 18:33:34 +02:00
2023-09-29 10:56:49 +02:00
2023-07-03 10:48:50 +00:00
2023-06-29 17:20:49 -07:00
2023-10-02 19:59:05 +00:00
2023-10-04 16:09:48 +01:00
2023-09-06 15:56:08 +02:00
2023-09-06 15:56:08 +02:00
2023-09-19 09:54:29 -06:00
2023-07-22 17:04:34 +02:00
2023-07-18 09:42:05 +03:00
2022-10-07 11:49:53 -07:00
2023-09-03 18:54:27 +02:00
2023-09-13 10:25:45 -07:00
2023-08-23 18:39:00 +01:00
2023-10-04 14:52:28 -07:00
2023-09-19 09:54:29 -06:00
2023-09-29 10:56:49 +02:00
2023-09-06 15:56:08 +02:00
2023-07-04 09:41:43 +00:00
2022-01-13 09:46:04 +01:00
2023-09-29 10:56:49 +02:00
2023-10-03 09:20:48 -06:00
2023-10-04 16:35:27 -06:00
2023-09-01 18:36:53 +02:00
2023-09-02 23:15:54 +02:00
2023-09-06 15:56:08 +02:00
2023-09-08 09:48:28 +00:00
2023-07-26 16:34:15 +01:00
2023-09-29 10:56:49 +02:00
2023-09-02 17:51:19 +02:00
2023-10-04 14:52:28 -07:00
2023-06-19 23:47:04 +01:00
2023-07-25 15:28:30 +02:00
2023-09-17 14:23:31 +03:00
2023-09-20 10:55:56 -06:00
2023-09-30 20:06:45 +00:00
2022-12-08 17:50:58 -07:00
2023-09-06 15:56:08 +02:00
2023-09-30 19:25:54 +02:00
2023-09-30 19:25:54 +02:00
2023-09-30 20:06:45 +00:00
2023-09-06 15:56:08 +02:00