5353
5454/*==========================================================================*/
5555
56- /*
57- * Public functions exported by this allocator.
58- *
59- * -- Define and use these names in your code to obtain or release memory --
60- */
61- #define _THIS_MALLOC PyCore_OBJECT_MALLOC_FUNC
62- #define _THIS_CALLOC /* unused */
63- #define _THIS_REALLOC PyCore_OBJECT_REALLOC_FUNC
64- #define _THIS_FREE PyCore_OBJECT_FREE_FUNC
65-
66- /*
67- * Underlying allocator's functions called by this allocator.
68- * The underlying allocator is usually the one which comes with libc.
69- *
70- * -- Don't use these functions in your code (to avoid mixing allocators) --
71- *
72- * Redefine these __only__ if you are using a 3rd party general purpose
73- * allocator which exports functions with names _other_ than the standard
74- * malloc, calloc, realloc, free.
75- */
76- #define _SYSTEM_MALLOC PyCore_MALLOC_FUNC
77- #define _SYSTEM_CALLOC /* unused */
78- #define _SYSTEM_REALLOC PyCore_REALLOC_FUNC
79- #define _SYSTEM_FREE PyCore_FREE_FUNC
80-
81- /*
82- * If malloc hooks are needed, names of the hooks' set & fetch
83- * functions exported by this allocator.
84- */
85- #ifdef WITH_MALLOC_HOOKS
86- #define _SET_HOOKS _PyCore_ObjectMalloc_SetHooks
87- #define _FETCH_HOOKS _PyCore_ObjectMalloc_FetchHooks
88- #endif
89-
90- /*==========================================================================*/
91-
9256/*
9357 * Allocation strategy abstract:
9458 *
@@ -385,7 +349,7 @@ static void (*free_hook)(void *) = NULL;
385349 */
386350
387351void *
388- _THIS_MALLOC (size_t nbytes )
352+ _PyCore_ObjectMalloc (size_t nbytes )
389353{
390354 block * bp ;
391355 poolp pool ;
@@ -515,7 +479,7 @@ _THIS_MALLOC(size_t nbytes)
515479 * With malloc, we can't avoid loosing one page address space
516480 * per arena due to the required alignment on page boundaries.
517481 */
518- bp = (block * )_SYSTEM_MALLOC (ARENA_SIZE + SYSTEM_PAGE_SIZE );
482+ bp = (block * )PyCore_MALLOC (ARENA_SIZE + SYSTEM_PAGE_SIZE );
519483 if (bp == NULL ) {
520484 UNLOCK ();
521485 goto redirect ;
@@ -546,13 +510,13 @@ _THIS_MALLOC(size_t nbytes)
546510 * last chance to serve the request) or when the max memory limit
547511 * has been reached.
548512 */
549- return (void * )_SYSTEM_MALLOC (nbytes );
513+ return (void * )PyCore_MALLOC (nbytes );
550514}
551515
552516/* free */
553517
554518void
555- _THIS_FREE (void * p )
519+ _PyCore_ObjectFree (void * p )
556520{
557521 poolp pool ;
558522 poolp next , prev ;
@@ -572,7 +536,7 @@ _THIS_FREE(void *p)
572536 offset = (off_t )p & POOL_SIZE_MASK ;
573537 pool = (poolp )((block * )p - offset );
574538 if (pool -> pooladdr != pool || pool -> magic != (uint )POOL_MAGIC ) {
575- _SYSTEM_FREE (p );
539+ PyCore_FREE (p );
576540 return ;
577541 }
578542
@@ -631,7 +595,7 @@ _THIS_FREE(void *p)
631595/* realloc */
632596
633597void *
634- _THIS_REALLOC (void * p , size_t nbytes )
598+ _PyCore_ObjectRealloc (void * p , size_t nbytes )
635599{
636600 block * bp ;
637601 poolp pool ;
@@ -643,7 +607,7 @@ _THIS_REALLOC(void *p, size_t nbytes)
643607#endif
644608
645609 if (p == NULL )
646- return _THIS_MALLOC (nbytes );
610+ return _PyCore_ObjectMalloc (nbytes );
647611
648612 /* realloc(p, 0) on big blocks is redirected. */
649613 pool = (poolp )((block * )p - ((off_t )p & POOL_SIZE_MASK ));
@@ -654,7 +618,7 @@ _THIS_REALLOC(void *p, size_t nbytes)
654618 size = nbytes ;
655619 goto malloc_copy_free ;
656620 }
657- bp = (block * )_SYSTEM_REALLOC (p , nbytes );
621+ bp = (block * )PyCore_REALLOC (p , nbytes );
658622 }
659623 else {
660624 /* We're in charge of this block */
@@ -663,7 +627,7 @@ _THIS_REALLOC(void *p, size_t nbytes)
663627 /* Don't bother if a smaller size was requested
664628 except for realloc(p, 0) == free(p), ret NULL */
665629 if (nbytes == 0 ) {
666- _THIS_FREE (p );
630+ _PyCore_ObjectFree (p );
667631 bp = NULL ;
668632 }
669633 else
@@ -673,10 +637,10 @@ _THIS_REALLOC(void *p, size_t nbytes)
673637
674638 malloc_copy_free :
675639
676- bp = (block * )_THIS_MALLOC (nbytes );
640+ bp = (block * )_PyCore_ObjectMalloc (nbytes );
677641 if (bp != NULL ) {
678642 memcpy (bp , p , size );
679- _THIS_FREE (p );
643+ _PyCore_ObjectFree (p );
680644 }
681645 }
682646 }
@@ -687,7 +651,7 @@ _THIS_REALLOC(void *p, size_t nbytes)
687651
688652/* -- unused --
689653void *
690- _THIS_CALLOC (size_t nbel, size_t elsz)
654+ _PyCore_ObjectCalloc (size_t nbel, size_t elsz)
691655{
692656 void *p;
693657 size_t nbytes;
@@ -698,7 +662,7 @@ _THIS_CALLOC(size_t nbel, size_t elsz)
698662#endif
699663
700664 nbytes = nbel * elsz;
701- p = _THIS_MALLOC (nbytes);
665+ p = _PyCore_ObjectMalloc (nbytes);
702666 if (p != NULL)
703667 memset(p, 0, nbytes);
704668 return p;
@@ -714,10 +678,10 @@ _THIS_CALLOC(size_t nbel, size_t elsz)
714678#ifdef WITH_MALLOC_HOOKS
715679
716680void
717- _SET_HOOKS ( void * (* malloc_func )(size_t ),
718- void * (* calloc_func )(size_t , size_t ),
719- void * (* realloc_func )(void * , size_t ),
720- void (* free_func )(void * ) )
681+ _PyCore_ObjectMalloc_SetHooks ( void * (* malloc_func )(size_t ),
682+ void * (* calloc_func )(size_t , size_t ),
683+ void * (* realloc_func )(void * , size_t ),
684+ void (* free_func )(void * ) )
721685{
722686 LOCK ();
723687 malloc_hook = malloc_func ;
@@ -728,10 +692,10 @@ _SET_HOOKS( void *(*malloc_func)(size_t),
728692}
729693
730694void
731- _FETCH_HOOKS ( void * (* * malloc_funcp )(size_t ),
732- void * (* * calloc_funcp )(size_t , size_t ),
733- void * (* * realloc_funcp )(void * , size_t ),
734- void (* * free_funcp )(void * ) )
695+ _PyCore_ObjectMalloc_FetchHooks ( void * (* * malloc_funcp )(size_t ),
696+ void * (* * calloc_funcp )(size_t , size_t ),
697+ void * (* * realloc_funcp )(void * , size_t ),
698+ void (* * free_funcp )(void * ) )
735699{
736700 LOCK ();
737701 * malloc_funcp = malloc_hook ;
0 commit comments