summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>1999-12-26 23:20:18 +0000
committerZeev Suraski <zeev@php.net>1999-12-26 23:20:18 +0000
commit3c50b7ee456edfea6d6227c7333578a680c2ac85 (patch)
tree650edf921d22760ee7815c8526409f402637c0f4
parentb90bc0b15c87c1651689f191c7e9101508aacfe7 (diff)
downloadphp-git-3c50b7ee456edfea6d6227c7333578a680c2ac85.tar.gz
- Enable the new zval cache on debug too. No real reason not to, and it keeps
the code cleaner. - ZTS compile fixes
-rw-r--r--Zend/Zend.dsp4
-rw-r--r--Zend/ZendTS.dsp4
-rw-r--r--Zend/zend_alloc.c9
-rw-r--r--Zend/zend_globals.h2
-rw-r--r--Zend/zend_zval_alloc.h21
5 files changed, 18 insertions, 22 deletions
diff --git a/Zend/Zend.dsp b/Zend/Zend.dsp
index 90fe19498d..e30c62f75f 100644
--- a/Zend/Zend.dsp
+++ b/Zend/Zend.dsp
@@ -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"
diff --git a/Zend/ZendTS.dsp b/Zend/ZendTS.dsp
index b773d76ce8..6fcb29d9b6 100644
--- a/Zend/ZendTS.dsp
+++ b/Zend/ZendTS.dsp
@@ -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"
diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c
index b100526e96..55a2dec123 100644
--- a/Zend/zend_alloc.c
+++ b/Zend/zend_alloc.c
@@ -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);
diff --git a/Zend/zend_globals.h b/Zend/zend_globals.h
index 5a08c11a82..b03bca1d15 100644
--- a/Zend/zend_globals.h
+++ b/Zend/zend_globals.h
@@ -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;
diff --git a/Zend/zend_zval_alloc.h b/Zend/zend_zval_alloc.h
index 1f469f4a6b..38677ce76d 100644
--- a/Zend/zend_zval_alloc.h
+++ b/Zend/zend_zval_alloc.h
@@ -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
/*