@@ -62,19 +62,29 @@ typedef struct _zend_mm_debug_info {
62
62
63
63
BEGIN_EXTERN_C ()
64
64
65
+ #ifndef ZEND_WIN32
65
66
ZEND_API char * ZEND_FASTCALL zend_strndup (const char * s , size_t length ) ZEND_ATTRIBUTE_MALLOC ;
66
-
67
+ ZEND_API void * ZEND_FASTCALL _ecalloc (size_t nmemb , size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC ) ZEND_ATTRIBUTE_MALLOC ZEND_ATTRIBUTE_ALLOC_SIZE2 (1 ,2 );
68
+ ZEND_API char * ZEND_FASTCALL _estrdup (const char * s ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC ) ZEND_ATTRIBUTE_MALLOC ;
69
+ ZEND_API char * ZEND_FASTCALL _estrndup (const char * s , size_t length ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC ) ZEND_ATTRIBUTE_MALLOC ;
67
70
ZEND_API void * ZEND_FASTCALL _emalloc (size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC ) ZEND_ATTRIBUTE_MALLOC ZEND_ATTRIBUTE_ALLOC_SIZE (1 );
68
71
ZEND_API void * ZEND_FASTCALL _safe_emalloc (size_t nmemb , size_t size , size_t offset ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC ) ZEND_ATTRIBUTE_MALLOC ;
69
72
ZEND_API void * ZEND_FASTCALL _safe_malloc (size_t nmemb , size_t size , size_t offset ) ZEND_ATTRIBUTE_MALLOC ;
73
+ #else
74
+ ZEND_API ZEND_ATTRIBUTE_MALLOC char * ZEND_FASTCALL zend_strndup (const char * s , size_t length );
75
+ ZEND_API ZEND_ATTRIBUTE_MALLOC void * ZEND_FASTCALL _ecalloc (size_t nmemb , size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC );
76
+ ZEND_API ZEND_ATTRIBUTE_MALLOC char * ZEND_FASTCALL _estrdup (const char * s ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC );
77
+ ZEND_API ZEND_ATTRIBUTE_MALLOC char * ZEND_FASTCALL _estrndup (const char * s , size_t length ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC );
78
+ ZEND_API ZEND_ATTRIBUTE_MALLOC void * ZEND_FASTCALL _emalloc (size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC );
79
+ ZEND_API ZEND_ATTRIBUTE_MALLOC void * ZEND_FASTCALL _safe_emalloc (size_t nmemb , size_t size , size_t offset ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC );
80
+ ZEND_API ZEND_ATTRIBUTE_MALLOC void * ZEND_FASTCALL _safe_malloc (size_t nmemb , size_t size , size_t offset );
81
+ #endif
82
+
70
83
ZEND_API void ZEND_FASTCALL _efree (void * ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC );
71
- ZEND_API void * ZEND_FASTCALL _ecalloc (size_t nmemb , size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC ) ZEND_ATTRIBUTE_MALLOC ZEND_ATTRIBUTE_ALLOC_SIZE2 (1 ,2 );
72
84
ZEND_API void * ZEND_FASTCALL _erealloc (void * ptr , size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC ) ZEND_ATTRIBUTE_ALLOC_SIZE (2 );
73
85
ZEND_API void * ZEND_FASTCALL _erealloc2 (void * ptr , size_t size , size_t copy_size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC ) ZEND_ATTRIBUTE_ALLOC_SIZE (2 );
74
86
ZEND_API void * ZEND_FASTCALL _safe_erealloc (void * ptr , size_t nmemb , size_t size , size_t offset ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC );
75
87
ZEND_API void * ZEND_FASTCALL _safe_realloc (void * ptr , size_t nmemb , size_t size , size_t offset );
76
- ZEND_API char * ZEND_FASTCALL _estrdup (const char * s ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC ) ZEND_ATTRIBUTE_MALLOC ;
77
- ZEND_API char * ZEND_FASTCALL _estrndup (const char * s , size_t length ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC ) ZEND_ATTRIBUTE_MALLOC ;
78
88
ZEND_API size_t ZEND_FASTCALL _zend_mem_block_size (void * ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC );
79
89
80
90
#include "zend_alloc_sizes.h"
@@ -87,8 +97,13 @@ ZEND_API size_t ZEND_FASTCALL _zend_mem_block_size(void *ptr ZEND_FILE_LINE_DC Z
87
97
88
98
ZEND_MM_BINS_INFO (_ZEND_BIN_ALLOCATOR_DEF , x , y )
89
99
100
+ #ifndef ZEND_WIN32
90
101
ZEND_API void * ZEND_FASTCALL _emalloc_large (size_t size ) ZEND_ATTRIBUTE_MALLOC ZEND_ATTRIBUTE_ALLOC_SIZE (1 );
91
102
ZEND_API void * ZEND_FASTCALL _emalloc_huge (size_t size ) ZEND_ATTRIBUTE_MALLOC ZEND_ATTRIBUTE_ALLOC_SIZE (1 );
103
+ #else
104
+ ZEND_API ZEND_ATTRIBUTE_MALLOC void * ZEND_FASTCALL _emalloc_large (size_t size );
105
+ ZEND_API ZEND_ATTRIBUTE_MALLOC void * ZEND_FASTCALL _emalloc_huge (size_t size );
106
+ #endif
92
107
93
108
# define _ZEND_BIN_ALLOCATOR_SELECTOR_START (_num , _size , _elements , _pages , size , y ) \
94
109
((size <= _size) ? _emalloc_ ## _size() :
@@ -179,8 +194,13 @@ ZEND_API void ZEND_FASTCALL _efree_huge(void *, size_t size);
179
194
#define estrndup_rel (s , length ) _estrndup((s), (length) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC)
180
195
#define zend_mem_block_size_rel (ptr ) _zend_mem_block_size((ptr) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_CC)
181
196
197
+ #ifndef ZEND_WIN32
182
198
ZEND_API void * __zend_malloc (size_t len ) ZEND_ATTRIBUTE_MALLOC ZEND_ATTRIBUTE_ALLOC_SIZE (1 );
183
199
ZEND_API void * __zend_calloc (size_t nmemb , size_t len ) ZEND_ATTRIBUTE_MALLOC ZEND_ATTRIBUTE_ALLOC_SIZE2 (1 ,2 );
200
+ #else
201
+ ZEND_API ZEND_ATTRIBUTE_MALLOC void * __zend_malloc (size_t len );
202
+ ZEND_API ZEND_ATTRIBUTE_MALLOC void * __zend_calloc (size_t nmemb , size_t len );
203
+ #endif
184
204
ZEND_API void * __zend_realloc (void * p , size_t len ) ZEND_ATTRIBUTE_ALLOC_SIZE (2 );
185
205
186
206
/* Selective persistent/non persistent allocation macros */
@@ -243,7 +263,11 @@ typedef struct _zend_mm_heap zend_mm_heap;
243
263
244
264
ZEND_API zend_mm_heap * zend_mm_startup (void );
245
265
ZEND_API void zend_mm_shutdown (zend_mm_heap * heap , bool full_shutdown , bool silent );
266
+ #ifndef ZEND_WIN32
246
267
ZEND_API void * ZEND_FASTCALL _zend_mm_alloc (zend_mm_heap * heap , size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC ) ZEND_ATTRIBUTE_MALLOC ;
268
+ #else
269
+ ZEND_API ZEND_ATTRIBUTE_MALLOC void * ZEND_FASTCALL _zend_mm_alloc (zend_mm_heap * heap , size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC );
270
+ #endif
247
271
ZEND_API void ZEND_FASTCALL _zend_mm_free (zend_mm_heap * heap , void * p ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC );
248
272
ZEND_API void * ZEND_FASTCALL _zend_mm_realloc (zend_mm_heap * heap , void * p , size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC );
249
273
ZEND_API void * ZEND_FASTCALL _zend_mm_realloc2 (zend_mm_heap * heap , void * p , size_t size , size_t copy_size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC );
0 commit comments