• Victor Stinner's avatar
    Issue #3329: Implement the PEP 445 · 0507bf56
    Victor Stinner authored
    Add new enum:
    
    * PyMemAllocatorDomain
    
    Add new structures:
    
    * PyMemAllocator
    * PyObjectArenaAllocator
    
    Add new functions:
    
    * PyMem_RawMalloc(), PyMem_RawRealloc(), PyMem_RawFree()
    * PyMem_GetAllocator(), PyMem_SetAllocator()
    * PyObject_GetArenaAllocator(), PyObject_SetArenaAllocator()
    * PyMem_SetupDebugHooks()
    
    Changes:
    
    * PyMem_Malloc()/PyObject_Realloc() now always call malloc()/realloc(), instead
      of calling PyObject_Malloc()/PyObject_Realloc() in debug mode.
    * PyObject_Malloc()/PyObject_Realloc() now falls back to
      PyMem_Malloc()/PyMem_Realloc() for allocations larger than 512 bytes.
    * Redesign debug checks on memory block allocators as hooks, instead of using C
      macros
    0507bf56
3.4.rst 10.5 KB