summaryrefslogtreecommitdiffstats
path: root/Doc/using
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-11-29 16:20:38 (GMT)
committerGitHub <noreply@github.com>2017-11-29 16:20:38 (GMT)
commit5d39e0429029324cae90bba2f19fb689b007c7d6 (patch)
treed414a4bc635c750d07c93d94835d932d3524c062 /Doc/using
parentc15bb49d71f97d400b295d88e5b075e89cb8ba20 (diff)
downloadcpython-5d39e0429029324cae90bba2f19fb689b007c7d6.zip
cpython-5d39e0429029324cae90bba2f19fb689b007c7d6.tar.gz
cpython-5d39e0429029324cae90bba2f19fb689b007c7d6.tar.bz2
bpo-32030: Rework memory allocators (#4625)
* Fix _PyMem_SetupAllocators("debug"): always restore allocators to the defaults, rather than only caling _PyMem_SetupDebugHooks(). * Add _PyMem_SetDefaultAllocator() helper to set the "default" allocator. * Add _PyMem_GetAllocatorsName(): get the name of the allocators * main() now uses debug hooks on memory allocators if Py_DEBUG is defined, rather than calling directly malloc() * Document default memory allocators in C API documentation * _Py_InitializeCore() now fails with a fatal user error if PYTHONMALLOC value is an unknown memory allocator, instead of failing with a fatal internal error. * Add new tests on the PYTHONMALLOC environment variable * Add support.with_pymalloc() * Add the _testcapi.WITH_PYMALLOC constant and expose it as support.with_pymalloc(). * sysconfig.get_config_var('WITH_PYMALLOC') doesn't work on Windows, so replace it with support.with_pymalloc(). * pythoninfo: add _testcapi collector for pymem
Diffstat (limited to 'Doc/using')
-rw-r--r--Doc/using/cmdline.rst19
1 files changed, 9 insertions, 10 deletions
diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst
index d022e2c..e6189fd 100644
--- a/Doc/using/cmdline.rst
+++ b/Doc/using/cmdline.rst
@@ -687,6 +687,8 @@ conflict.
Set the family of memory allocators used by Python:
+ * ``default``: use the :ref:`default memory allocators
+ <default-memory-allocators>`.
* ``malloc``: use the :c:func:`malloc` function of the C library
for all domains (:c:data:`PYMEM_DOMAIN_RAW`, :c:data:`PYMEM_DOMAIN_MEM`,
:c:data:`PYMEM_DOMAIN_OBJ`).
@@ -696,20 +698,17 @@ conflict.
Install debug hooks:
- * ``debug``: install debug hooks on top of the default memory allocator
+ * ``debug``: install debug hooks on top of the :ref:`default memory
+ allocators <default-memory-allocators>`.
* ``malloc_debug``: same as ``malloc`` but also install debug hooks
* ``pymalloc_debug``: same as ``pymalloc`` but also install debug hooks
- When Python is compiled in release mode, the default is ``pymalloc``. When
- compiled in debug mode, the default is ``pymalloc_debug`` and the debug hooks
- are used automatically.
+ See the :ref:`default memory allocators <default-memory-allocators>` and the
+ :c:func:`PyMem_SetupDebugHooks` function (install debug hooks on Python
+ memory allocators).
- If Python is configured without ``pymalloc`` support, ``pymalloc`` and
- ``pymalloc_debug`` are not available, the default is ``malloc`` in release
- mode and ``malloc_debug`` in debug mode.
-
- See the :c:func:`PyMem_SetupDebugHooks` function for debug hooks on Python
- memory allocators.
+ .. versionchanged:: 3.7
+ Added the ``"default"`` allocator.
.. versionadded:: 3.6