Browse Source

bpo-35081: Move Py_BUILD_CORE code to internal/mem.h (GH-10249)

* Add #include "internal/mem.h" to C files using
  _PyMem_SetDefaultAllocator().
* Include/internal/mem.h now requires Py_BUILD_CORE to be defined.
pull/10263/head
Victor Stinner 7 years ago
committed by GitHub
parent
commit
2be00d987d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      Include/internal/mem.h
  2. 10
      Include/pymem.h
  3. 1
      Modules/main.c
  4. 1
      Objects/obmalloc.c
  5. 1
      Python/coreconfig.c
  6. 1
      Python/import.c
  7. 1
      Python/pathconfig.c
  8. 1
      Python/pylifecycle.c
  9. 1
      Python/pystate.c
  10. 1
      Python/sysmodule.c

12
Include/internal/mem.h

@ -4,6 +4,10 @@
extern "C" {
#endif
#ifndef Py_BUILD_CORE
# error "Py_BUILD_CORE must be defined to include this header"
#endif
#include "objimpl.h"
#include "pymem.h"
@ -145,6 +149,14 @@ PyAPI_FUNC(void) _PyGC_Initialize(struct _gc_runtime_state *);
#define _PyGC_generation0 _PyRuntime.gc.generation0
/* Set the memory allocator of the specified domain to the default.
Save the old allocator into *old_alloc if it's non-NULL.
Return on success, or return -1 if the domain is unknown. */
PyAPI_FUNC(int) _PyMem_SetDefaultAllocator(
PyMemAllocatorDomain domain,
PyMemAllocatorEx *old_alloc);
#ifdef __cplusplus
}
#endif

10
Include/pymem.h

@ -198,16 +198,6 @@ PyAPI_FUNC(void) PyMem_SetAllocator(PyMemAllocatorDomain domain,
PyAPI_FUNC(void) PyMem_SetupDebugHooks(void);
#endif /* Py_LIMITED_API */
#ifdef Py_BUILD_CORE
/* Set the memory allocator of the specified domain to the default.
Save the old allocator into *old_alloc if it's non-NULL.
Return on success, or return -1 if the domain is unknown. */
PyAPI_FUNC(int) _PyMem_SetDefaultAllocator(
PyMemAllocatorDomain domain,
PyMemAllocatorEx *old_alloc);
#endif
/* bpo-35053: expose _Py_tracemalloc_config for performance:
_Py_NewReference() needs an efficient check to test if tracemalloc is
tracing.

1
Modules/main.c

@ -2,6 +2,7 @@
#include "Python.h"
#include "osdefs.h"
#include "internal/mem.h"
#include "internal/pygetopt.h"
#include "internal/pystate.h"

1
Objects/obmalloc.c

@ -1,4 +1,5 @@
#include "Python.h"
#include "internal/mem.h"
#include <stdbool.h>

1
Python/coreconfig.c

@ -1,4 +1,5 @@
#include "Python.h"
#include "internal/mem.h"
#include "internal/pystate.h"
#include <locale.h>
#ifdef HAVE_LANGINFO_H

1
Python/import.c

@ -5,6 +5,7 @@
#include "Python-ast.h"
#undef Yield /* undefine macro conflicting with winbase.h */
#include "internal/hash.h"
#include "internal/mem.h"
#include "internal/pystate.h"
#include "errcode.h"
#include "marshal.h"

1
Python/pathconfig.c

@ -2,6 +2,7 @@
#include "Python.h"
#include "osdefs.h"
#include "internal/mem.h"
#include "internal/pystate.h"
#include <wchar.h>

1
Python/pylifecycle.c

@ -6,6 +6,7 @@
#undef Yield /* undefine macro conflicting with winbase.h */
#include "internal/context.h"
#include "internal/hamt.h"
#include "internal/mem.h"
#include "internal/pystate.h"
#include "grammar.h"
#include "node.h"

1
Python/pystate.c

@ -2,6 +2,7 @@
/* Thread and interpreter state structures and their interfaces */
#include "Python.h"
#include "internal/mem.h"
#include "internal/pystate.h"
#define _PyThreadState_SET(value) \

1
Python/sysmodule.c

@ -15,6 +15,7 @@ Data members:
*/
#include "Python.h"
#include "internal/mem.h"
#include "internal/pystate.h"
#include "code.h"
#include "frameobject.h"

Loading…
Cancel
Save