mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
- Enable the new zval cache on debug too. No real reason not to, and it keeps
the code cleaner. - ZTS compile fixes
This commit is contained in:
parent
b90bc0b15c
commit
3c50b7ee45
@ -268,6 +268,10 @@ SOURCE=.\zend_stack.h
|
||||
|
||||
SOURCE=.\zend_variables.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\zend_zval_alloc.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Parsers"
|
||||
|
||||
|
@ -272,6 +272,10 @@ SOURCE=.\zend_stack.h
|
||||
|
||||
SOURCE=.\zend_variables.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\zend_zval_alloc.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Parsers"
|
||||
|
||||
|
@ -315,6 +315,7 @@ ZEND_API int zend_set_memory_limit(unsigned int memory_limit)
|
||||
ZEND_API void start_memory_manager(ALS_D)
|
||||
{
|
||||
AG(phead) = AG(head) = NULL;
|
||||
AG(zval_list_head) = NULL;
|
||||
|
||||
#if MEMORY_LIMIT
|
||||
AG(memory_limit)=1<<30; /* rediculous limit, effectively no limit */
|
||||
@ -322,9 +323,6 @@ ZEND_API void start_memory_manager(ALS_D)
|
||||
AG(memory_exhausted)=0;
|
||||
#endif
|
||||
|
||||
#if !ZEND_DEBUG
|
||||
AG(zval_list_head) = NULL;
|
||||
#endif
|
||||
|
||||
memset(AG(cache_count),0,MAX_CACHED_MEMORY*sizeof(unsigned char));
|
||||
}
|
||||
@ -335,12 +333,10 @@ ZEND_API void shutdown_memory_manager(int silent, int clean_cache)
|
||||
zend_mem_header *p, *t;
|
||||
#if ZEND_DEBUG
|
||||
int had_leaks=0;
|
||||
#else
|
||||
zend_zval_list_entry *zval_list_entry, *next_zval_list_entry;
|
||||
#endif
|
||||
zend_zval_list_entry *zval_list_entry, *next_zval_list_entry;
|
||||
ALS_FETCH();
|
||||
|
||||
#if !ZEND_DEBUG
|
||||
zval_list_entry = AG(zval_list_head);
|
||||
while (zval_list_entry) {
|
||||
next_zval_list_entry = zval_list_entry->next;
|
||||
@ -348,7 +344,6 @@ ZEND_API void shutdown_memory_manager(int silent, int clean_cache)
|
||||
zval_list_entry = next_zval_list_entry;
|
||||
}
|
||||
AG(zval_list_head) = NULL;
|
||||
#endif
|
||||
|
||||
p=AG(head);
|
||||
t=AG(head);
|
||||
|
@ -179,9 +179,7 @@ struct _zend_alloc_globals {
|
||||
zend_mem_header *phead; /* persistent list */
|
||||
void *cache[MAX_CACHED_MEMORY][MAX_CACHED_ENTRIES];
|
||||
unsigned char cache_count[MAX_CACHED_MEMORY];
|
||||
#if !ZEND_DEBUG
|
||||
void *zval_list_head;
|
||||
#endif
|
||||
|
||||
#if MEMORY_LIMIT
|
||||
unsigned int memory_limit;
|
||||
|
@ -25,20 +25,15 @@
|
||||
#include "zend_globals_macros.h"
|
||||
#include "zend_alloc.h"
|
||||
|
||||
#if ZEND_DEBUG
|
||||
|
||||
# define ALLOC_ZVAL(z) (z) = emalloc(sizeof(zval))
|
||||
# define FREE_ZVAL(z) efree(z)
|
||||
|
||||
#else /* !ZEND_DEBUG */
|
||||
|
||||
extern zend_alloc_globals alloc_globals;
|
||||
|
||||
typedef struct _zend_zval_list_entry {
|
||||
struct _zend_zval_list_entry *next;
|
||||
} zend_zval_list_entry;
|
||||
|
||||
|
||||
#ifndef ZTS
|
||||
extern zend_alloc_globals alloc_globals;
|
||||
#endif
|
||||
|
||||
#define ALLOC_ZVAL(z) \
|
||||
{ \
|
||||
ALS_FETCH(); \
|
||||
@ -51,15 +46,15 @@ typedef struct _zend_zval_list_entry {
|
||||
}
|
||||
|
||||
|
||||
#define FREE_ZVAL(z) \
|
||||
{ \
|
||||
#define FREE_ZVAL(z) \
|
||||
{ \
|
||||
ALS_FETCH(); \
|
||||
\
|
||||
((zend_zval_list_entry *) (z))->next = AG(zval_list_head); \
|
||||
AG(zval_list_head) = (zend_zval_list_entry *) (z); \
|
||||
}
|
||||
|
||||
|
||||
#endif /* !ZEND_DEBUG */
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user