Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gh-101659: Isolate "obmalloc" State to Each Interpreter (gh-101660) | Eric Snow | 2023-04-24 | 1 | -1/+5 |
| | | | | | | | | | | | | | | This is strictly about moving the "obmalloc" runtime state from `_PyRuntimeState` to `PyInterpreterState`. Doing so improves isolation between interpreters, specifically most of the memory (incl. objects) allocated for each interpreter's use. This is important for a per-interpreter GIL, but such isolation is valuable even without it. FWIW, a per-interpreter obmalloc is the proverbial canary-in-the-coalmine when it comes to the isolation of objects between interpreters. Any object that leaks (unintentionally) to another interpreter is highly likely to cause a crash (on debug builds at least). That's a useful thing to know, relative to interpreter isolation. | ||||
* | gh-81057: Move More Globals to _PyRuntimeState (gh-100092) | Eric Snow | 2022-12-07 | 1 | -0/+1 |
| | | | https://github.com/python/cpython/issues/81057 | ||||
* | gh-81057: Move the Allocators to _PyRuntimeState (gh-99217) | Eric Snow | 2022-11-11 | 1 | -0/+68 |
The global allocators were stored in 3 static global variables: _PyMem_Raw, _PyMem, and _PyObject. State for the "small block" allocator was stored in another 13. That makes a total of 16 global variables. We are moving all 16 to the _PyRuntimeState struct as part of the work for gh-81057. (If PEP 684 is accepted then we will follow up by moving them all to PyInterpreterState.) https://github.com/python/cpython/issues/81057 |