Petr Viktorin
c7d24b81c3
gh-111506: Add _Py_OPAQUE_PYOBJECT to hide PyObject layout & related API (GH-136505)
...
Allow Py_LIMITED_API for (Py_GIL_DISABLED && _Py_OPAQUE_PYOBJECT)
API that's removed when _Py_OPAQUE_PYOBJECT is defined:
- PyObject_HEAD
- _PyObject_EXTRA_INIT
- PyObject_HEAD_INIT
- PyObject_VAR_HEAD
- struct _object (i.e. PyObject) (opaque)
- struct PyVarObject (opaque)
- Py_SIZE
- Py_SET_TYPE
- Py_SET_SIZE
- PyModuleDef_Base (opaque)
- PyModuleDef_HEAD_INIT
- PyModuleDef (opaque)
- _Py_IsImmortal
- _Py_IsStaticImmortal
Note that the `_Py_IsImmortal` removal (and a few other issues)
means _Py_OPAQUE_PYOBJECT only works with limited
API 3.14+ now.
Co-authored-by: Victor Stinner <vstinner@python.org >
2025-07-12 09:55:12 +02:00
..
2025-06-23 15:29:30 +03:00
2025-07-09 14:27:20 +05:30
2025-07-11 12:36:17 -07:00
2025-05-28 14:45:08 +00:00
2025-07-11 15:31:59 +03:00
2025-05-29 15:28:57 +02:00
2025-05-07 20:28:32 +02:00
2025-06-01 15:30:04 +03:00
2025-06-15 15:29:38 -04:00
2025-07-03 15:23:37 +05:30
2025-05-05 19:46:46 +02:00
2025-07-04 07:00:23 +00:00
2025-06-15 06:34:29 +01:00
2025-06-29 02:47:38 -04:00
2025-04-08 11:14:12 +03:00
2025-06-03 10:40:25 +03:00
2025-06-25 06:42:38 +01:00
2025-06-18 14:17:02 +02:00
2025-05-12 19:00:36 +01:00
2025-07-10 18:44:24 +01:00
2025-05-06 18:33:52 +03:00
2025-05-03 07:54:33 +00:00
2025-06-19 13:47:29 +02:00
2025-05-18 10:10:54 +02:00
2025-05-19 11:35:22 +01:00
2025-07-12 09:55:12 +02:00
2025-05-02 14:38:50 +03:00
2025-05-03 16:57:09 +03:00
2025-07-02 09:51:19 +00:00
2025-05-05 17:03:42 +00:00
2025-05-15 02:39:42 -07:00
2025-05-17 09:58:16 +02:00
2025-07-03 10:48:47 +03:00
2025-06-15 06:34:29 +01:00
2025-06-08 19:20:20 +00:00
2025-06-30 16:33:01 +02:00
2025-05-08 06:13:57 -07:00
2025-04-15 20:10:53 +00:00
2025-05-05 23:45:25 +02:00
2025-05-17 09:58:16 +02:00
2025-05-20 11:24:11 -04:00
2025-05-03 17:58:49 +03:00
2025-06-25 23:44:08 -04:00
2025-07-07 11:16:27 +03:00
2025-07-04 11:27:21 +09:00
2025-06-27 16:47:03 +03:00
2025-05-05 15:00:15 +03:00
2025-06-18 13:00:55 +00:00
2025-06-01 08:56:56 +03:00
2025-05-31 10:32:53 +03:00
2025-04-15 18:31:52 -04:00
2025-04-27 14:41:30 -07:00
2025-06-09 15:40:09 +02:00
2025-05-03 22:50:37 -04:00
2025-06-04 13:57:31 +09:00
2025-07-10 17:42:14 +02:00
2025-04-22 11:01:55 +02:00
2025-05-05 19:46:46 +02:00
2025-06-15 12:13:19 -04:00
2025-04-24 16:49:09 +00:00
2025-04-24 14:41:01 -04:00
2025-05-05 08:21:32 -07:00
2025-06-27 12:00:25 +02:00
2025-05-05 19:46:46 +02:00
2025-05-31 13:01:46 +03:00
2025-07-10 16:49:09 -07:00
2025-05-03 17:58:21 +03:00
2025-07-07 11:16:31 +03:00
2025-05-08 10:53:53 +03:00
2025-06-03 12:42:11 +02:00
2025-05-15 15:14:31 +00:00
2025-05-12 19:00:36 +01:00
2025-05-05 19:46:46 +02:00
2025-05-31 09:37:47 +02:00
2025-05-05 17:52:49 +02:00
2025-04-12 17:43:11 +00:00
2025-05-09 18:42:53 -07:00
2025-04-28 08:38:56 -07:00
2025-05-28 08:24:24 -07:00
2025-05-09 12:15:16 +05:30
2025-06-10 13:38:32 +00:00
2025-04-27 14:41:30 -07:00
2025-05-05 19:46:46 +02:00
2025-06-23 12:49:27 +02:00
2025-06-03 12:42:11 +02:00
2025-03-28 10:35:20 +00:00
2025-06-30 10:12:05 +03:00
2025-05-23 23:07:39 -04:00
2025-05-05 19:46:46 +02:00
2025-05-05 19:46:46 +02:00
2025-06-29 09:56:52 +02:00
2025-06-03 12:42:11 +02:00
2025-06-24 14:41:41 -07:00
2025-07-10 18:44:24 +01:00
2025-05-05 19:46:46 +02:00
2025-06-25 20:01:25 -07:00
2025-07-09 10:23:46 -07:00
2025-06-24 11:09:46 +00:00
2025-06-01 15:30:04 +03:00
2025-04-24 16:10:46 +01:00
2025-05-06 01:38:08 +01:00
2025-05-20 21:47:57 +02:00
2025-05-22 03:38:44 +00:00
2025-05-19 19:28:09 +00:00
2025-05-09 09:09:09 +02:00
2025-04-28 23:05:37 -05:00
2025-05-05 01:15:31 +00:00
2025-06-03 12:42:11 +02:00
2025-07-08 18:39:47 +02:00
2025-05-03 17:58:49 +03:00
2025-05-22 13:48:24 +00:00
2025-03-30 14:19:38 +03:00
2025-05-02 20:22:31 +02:00
2025-05-26 13:49:39 -04:00
2025-05-05 19:46:46 +02:00
2025-06-02 13:04:59 +02:00
2025-05-23 05:19:41 +00:00
2025-07-06 16:44:20 -07:00
2025-06-08 11:46:16 +00:00
2025-04-09 16:18:54 -07:00
2025-05-15 14:52:07 +00:00
2025-05-05 19:46:46 +02:00
2025-05-05 19:46:46 +02:00