cvs: php-src /ext/standard var.c /sapi/apache mod_php5.c /sapi/apache2filter sapi_apache2.c /sapi/apache2handler sapi_apache2.c /sapi/apache_hooks
mod_php5.c ZendEngine2 zend_alloc.c zend_alloc.h
| From: | Dmitry Stogov | Date: | Tue, 25 Jul 2006 13:41:08 +0000 |
| Subject: | cvs: php-src /ext/standard var.c /sapi/apache mod_php5.c /sapi/apache2filter sapi_apache2.c /sapi/apache2handler sapi_apache2.c /sapi/apache_hooks mod_php5.c ZendEngine2 zend_alloc.c zend_alloc.h |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-39519@lists.php.net to get a copy of this message | ||
dmitry Tue Jul 25 13:41:08 2006 UTC
Modified files:
/ZendEngine2 zend_alloc.c zend_alloc.h
/php-src/ext/standard var.c
/php-src/sapi/apache mod_php5.c
/php-src/sapi/apache2filter sapi_apache2.c
/php-src/sapi/apache2handler sapi_apache2.c
/php-src/sapi/apache_hooks mod_php5.c
Log:
Changed memory_get_usage() and memory_get_peak_usage(). Optional boolean argument allows get
memory size allocated by emalloc() (by default) or real size of memory allocated from system.
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_alloc.c?r1=1.154&r2=1.155&diff_format=u Index: ZendEngine2/zend_alloc.c diff -u ZendEngine2/zend_alloc.c:1.154 ZendEngine2/zend_alloc.c:1.155 --- ZendEngine2/zend_alloc.c:1.154 Mon Jul 24 08:15:42 2006 +++ ZendEngine2/zend_alloc.c Tue Jul 25 13:41:08 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_alloc.c,v 1.154 2006/07/24 08:15:42 dmitry Exp $ */ +/* $Id: zend_alloc.c,v 1.155 2006/07/25 13:41:08 dmitry Exp $ */ #include "zend.h" #include "zend_alloc.h" @@ -312,10 +312,12 @@ size_t block_size; zend_mm_segment *segments_list; zend_mm_storage *storage; - size_t size; + size_t real_size; #if MEMORY_LIMIT - size_t peak; + size_t real_peak; size_t limit; + size_t size; + size_t peak; #endif #if ZEND_USE_MALLOC_MM int use_zend_alloc; @@ -514,7 +516,7 @@ p = p->next_segment; } } - heap->size -= segment->size; + heap->real_size -= segment->size; ZEND_MM_STORAGE_FREE(segment); } @@ -595,10 +597,12 @@ heap->use_zend_alloc = 1; #endif - heap->size = 0; + heap->real_size = 0; #if MEMORY_LIMIT - heap->peak = 0; + heap->real_peak = 0; heap->limit = 1<<30; + heap->size = 0; + heap->peak = 0; #endif heap->overflow = 0; @@ -996,8 +1000,10 @@ } else { heap->segments_list = NULL; zend_mm_init(heap); - heap->size = 0; + heap->real_size = 0; #if MEMORY_LIMIT + heap->real_peak = 0; + heap->size = 0; heap->peak = 0; #endif heap->overflow = 0; @@ -1175,7 +1181,7 @@ #if MEMORY_LIMIT - if (heap->size + segment_size > heap->limit) { + if (heap->real_size + segment_size > heap->limit) { /* Memory limit overflow */ #if ZEND_DEBUG zend_mm_safe_error(heap, "Allowed memory size of %d bytes exhausted at %s:%d (tried to allocate %d bytes)", heap->limit, __zend_filename, __zend_lineno, size); @@ -1196,17 +1202,17 @@ #endif HANDLE_UNBLOCK_INTERRUPTIONS(); #if ZEND_DEBUG - zend_mm_safe_error(heap, "Out of memory (allocated %d) at %s:%d (tried to allocate %d bytes)", heap->size, __zend_filename, __zend_lineno, size); + zend_mm_safe_error(heap, "Out of memory (allocated %d) at %s:%d (tried to allocate %d bytes)", heap->real_size, __zend_filename, __zend_lineno, size); #else - zend_mm_safe_error(heap, "Out of memory (allocated %d) (tried to allocate %d bytes)", heap->size, size); + zend_mm_safe_error(heap, "Out of memory (allocated %d) (tried to allocate %d bytes)", heap->real_size, size); #endif return NULL; } - heap->size += segment_size; + heap->real_size += segment_size; #if MEMORY_LIMIT - if (heap->size > heap->peak) { - heap->peak = heap->size; + if (heap->real_size > heap->real_peak) { + heap->real_peak = heap->real_size; } #endif @@ -1242,6 +1248,14 @@ # endif ZEND_MM_SET_END_MAGIC(best_fit); #endif + +#if MEMORY_LIMIT + heap->size += true_size; + if (heap->peak < heap->size) { + heap->peak = heap->size; + } +#endif + HANDLE_UNBLOCK_INTERRUPTIONS(); return ZEND_MM_DATA_OF(best_fit); @@ -1278,6 +1292,11 @@ #endif HANDLE_BLOCK_INTERRUPTIONS(); + +#if MEMORY_LIMIT + heap->size -= size; +#endif + if (ZEND_MM_PREV_BLOCK_IS_FREE(mm_block)) { next_block = ZEND_MM_NEXT_BLOCK(mm_block); if (ZEND_MM_IS_FREE_BLOCK(next_block)) { @@ -1349,6 +1368,14 @@ } mm_block = ZEND_MM_HEADER_OF(p); true_size = ZEND_MM_TRUE_SIZE(size); + +#if MEMORY_LIMIT + heap->size = heap->size + true_size - ZEND_MM_BLOCK_SIZE(mm_block); + if (heap->peak < heap->size) { + heap->peak = heap->size; + } +#endif + if (true_size <= ZEND_MM_BLOCK_SIZE(mm_block)) { size_t remaining_size = ZEND_MM_BLOCK_SIZE(mm_block) - true_size; @@ -1439,7 +1466,7 @@ segment_copy = (zend_mm_segment *) ((char *)mm_block - ZEND_MM_ALIGNED_SEGMENT_SIZE); #if MEMORY_LIMIT - if (heap->size + segment_size - segment_copy->size > heap->limit) { + if (heap->real_size + segment_size - segment_copy->size > heap->limit) { HANDLE_UNBLOCK_INTERRUPTIONS(); #if ZEND_DEBUG zend_mm_safe_error(heap, "Allowed memory size of %d bytes exhausted at %s:%d (tried to allocate %d bytes)", heap->limit, __zend_filename, __zend_lineno, size); @@ -1453,16 +1480,16 @@ if (!segment) { HANDLE_UNBLOCK_INTERRUPTIONS(); #if ZEND_DEBUG - zend_mm_safe_error(heap, "Out of memory (allocated %d) at %s:%d (tried to allocate %d bytes)", heap->size, __zend_filename, __zend_lineno, size); + zend_mm_safe_error(heap, "Out of memory (allocated %d) at %s:%d (tried to allocate %d bytes)", heap->real_size, __zend_filename, __zend_lineno, size); #else - zend_mm_safe_error(heap, "Out of memory (allocated %d) (tried to allocate %d bytes)", heap->size, size); + zend_mm_safe_error(heap, "Out of memory (allocated %d) (tried to allocate %d bytes)", heap->real_size, size); #endif return NULL; } - heap->size += segment_size - segment->size; + heap->real_size += segment_size - segment->size; #if MEMORY_LIMIT - if (heap->size > heap->peak) { - heap->peak = heap->size; + if (heap->real_size > heap->real_peak) { + heap->real_peak = heap->real_size; } #endif segment->size = segment_size; @@ -1778,15 +1805,27 @@ #endif } -ZEND_API size_t zend_memory_usage(TSRMLS_D) +ZEND_API size_t zend_memory_usage(int real_usage TSRMLS_DC) { - return AG(mm_heap)->size; + if (real_usage) { + return AG(mm_heap)->real_size; + } else { +#if MEMORY_LIMIT + return AG(mm_heap)->size; +#else + return AG(mm_heap)->real_size; +#endif + } } #if MEMORY_LIMIT -ZEND_API size_t zend_memory_peak_usage(TSRMLS_D) +ZEND_API size_t zend_memory_peak_usage(int real_usage TSRMLS_DC) { - return AG(mm_heap)->peak; + if (real_usage) { + return AG(mm_heap)->real_peak; + } else { + return AG(mm_heap)->peak; + } } #endif http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_alloc.h?r1=1.72&r2=1.73&diff_format=u Index: ZendEngine2/zend_alloc.h diff -u ZendEngine2/zend_alloc.h:1.72 ZendEngine2/zend_alloc.h:1.73 --- ZendEngine2/zend_alloc.h:1.72 Tue Jul 18 09:08:05 2006 +++ ZendEngine2/zend_alloc.h Tue Jul 25 13:41:08 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_alloc.h,v 1.72 2006/07/18 09:08:05 dmitry Exp $ */ +/* $Id: zend_alloc.h,v 1.73 2006/07/25 13:41:08 dmitry Exp $ */ #ifndef ZEND_ALLOC_H #define ZEND_ALLOC_H @@ -119,8 +119,8 @@ #endif #if MEMORY_LIMIT -ZEND_API size_t zend_memory_usage(TSRMLS_D); -ZEND_API size_t zend_memory_peak_usage(TSRMLS_D); +ZEND_API size_t zend_memory_usage(int real_usage TSRMLS_DC); +ZEND_API size_t zend_memory_peak_usage(int real_usage TSRMLS_DC); #endif END_EXTERN_C() http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var.c?r1=1.241&r2=1.242&diff_format=u Index: php-src/ext/standard/var.c diff -u php-src/ext/standard/var.c:1.241 php-src/ext/standard/var.c:1.242 --- php-src/ext/standard/var.c:1.241 Mon Jul 24 23:28:00 2006 +++ php-src/ext/standard/var.c Tue Jul 25 13:41:08 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: var.c,v 1.241 2006/07/24 23:28:00 helly Exp $ */ +/* $Id: var.c,v 1.242 2006/07/25 13:41:08 dmitry Exp $ */ @@ -1152,14 +1152,25 @@ /* {{{ proto int memory_get_usage() Returns the allocated by PHP memory */ PHP_FUNCTION(memory_get_usage) { + zend_bool real_usage = 0; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &real_usage) == FAILURE) { + RETURN_FALSE; + } - RETURN_LONG(zend_memory_usage(TSRMLS_C)); + RETURN_LONG(zend_memory_usage(real_usage TSRMLS_CC)); } /* }}} */ /* {{{ proto int memory_get_peak_usage() Returns the peak allocated by PHP memory */ PHP_FUNCTION(memory_get_peak_usage) { - RETURN_LONG(zend_memory_peak_usage(TSRMLS_C)); + zend_bool real_usage = 0; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &real_usage) == FAILURE) { + RETURN_FALSE; + } + + RETURN_LONG(zend_memory_peak_usage(real_usage TSRMLS_CC)); } /* }}} */ #endif http://cvs.php.net/viewvc.cgi/php-src/sapi/apache/mod_php5.c?r1=1.36&r2=1.37&diff_format=u Index: php-src/sapi/apache/mod_php5.c diff -u php-src/sapi/apache/mod_php5.c:1.36 php-src/sapi/apache/mod_php5.c:1.37 --- php-src/sapi/apache/mod_php5.c:1.36 Tue Jul 18 09:08:06 2006 +++ php-src/sapi/apache/mod_php5.c Tue Jul 25 13:41:08 2006 @@ -17,7 +17,7 @@ | PHP 4.0 patches by Zeev Suraski <zeev@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: mod_php5.c,v 1.36 2006/07/18 09:08:06 dmitry Exp $ */ +/* $Id: mod_php5.c,v 1.37 2006/07/25 13:41:08 dmitry Exp $ */ #include "php_apache_http.h" #include "http_conf_globals.h" @@ -669,7 +669,7 @@ char *mem_usage; TSRMLS_FETCH(); - mem_usage = ap_psprintf(r->pool, "%u", zend_memory_peak_usage(TSRMLS_C)); + mem_usage = ap_psprintf(r->pool, "%u", zend_memory_peak_usage(1 TSRMLS_CC)); ap_table_setn(r->notes, "mod_php_memory_usage", mem_usage); } #endif http://cvs.php.net/viewvc.cgi/php-src/sapi/apache2filter/sapi_apache2.c?r1=1.140&r2=1.141&diff_format=u Index: php-src/sapi/apache2filter/sapi_apache2.c diff -u php-src/sapi/apache2filter/sapi_apache2.c:1.140 php-src/sapi/apache2filter/sapi_apache2.c:1.141 --- php-src/sapi/apache2filter/sapi_apache2.c:1.140 Tue Jul 18 09:08:06 2006 +++ php-src/sapi/apache2filter/sapi_apache2.c Tue Jul 25 13:41:08 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sapi_apache2.c,v 1.140 2006/07/18 09:08:06 dmitry Exp $ */ +/* $Id: sapi_apache2.c,v 1.141 2006/07/25 13:41:08 dmitry Exp $ */ #include <fcntl.h> @@ -521,7 +521,7 @@ { char *mem_usage; - mem_usage = apr_psprintf(ctx->r->pool, "%u", zend_memory_peak_usage(TSRMLS_C)); + mem_usage = apr_psprintf(ctx->r->pool, "%u", zend_memory_peak_usage(1 TSRMLS_CC)); apr_table_set(ctx->r->notes, "mod_php_memory_usage", mem_usage); } #endif http://cvs.php.net/viewvc.cgi/php-src/sapi/apache2handler/sapi_apache2.c?r1=1.70&r2=1.71&diff_format=u Index: php-src/sapi/apache2handler/sapi_apache2.c diff -u php-src/sapi/apache2handler/sapi_apache2.c:1.70 php-src/sapi/apache2handler/sapi_apache2.c:1.71 --- php-src/sapi/apache2handler/sapi_apache2.c:1.70 Tue Jul 18 09:08:06 2006 +++ php-src/sapi/apache2handler/sapi_apache2.c Tue Jul 25 13:41:08 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sapi_apache2.c,v 1.70 2006/07/18 09:08:06 dmitry Exp $ */ +/* $Id: sapi_apache2.c,v 1.71 2006/07/25 13:41:08 dmitry Exp $ */ #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS @@ -593,7 +593,7 @@ { char *mem_usage; - mem_usage = apr_psprintf(ctx->r->pool, "%u", zend_memory_peak_usage(TSRMLS_C)); + mem_usage = apr_psprintf(ctx->r->pool, "%u", zend_memory_peak_usage(1 TSRMLS_CC)); apr_table_set(r->notes, "mod_php_memory_usage", mem_usage); } #endif http://cvs.php.net/viewvc.cgi/php-src/sapi/apache_hooks/mod_php5.c?r1=1.19&r2=1.20&diff_format=u Index: php-src/sapi/apache_hooks/mod_php5.c diff -u php-src/sapi/apache_hooks/mod_php5.c:1.19 php-src/sapi/apache_hooks/mod_php5.c:1.20 --- php-src/sapi/apache_hooks/mod_php5.c:1.19 Tue Jul 18 09:08:06 2006 +++ php-src/sapi/apache_hooks/mod_php5.c Tue Jul 25 13:41:08 2006 @@ -17,7 +17,7 @@ | PHP 4.0 patches by Zeev Suraski <zeev@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: mod_php5.c,v 1.19 2006/07/18 09:08:06 dmitry Exp $ */ +/* $Id: mod_php5.c,v 1.20 2006/07/25 13:41:08 dmitry Exp $ */ #include "php_apache_http.h" @@ -727,7 +727,7 @@ char *mem_usage; TSRMLS_FETCH(); - mem_usage = ap_psprintf(r->pool, "%u", zend_memory_peak_usage(TSRMLS_C)); + mem_usage = ap_psprintf(r->pool, "%u", zend_memory_peak_usage(1 TSRMLS_CC)); ap_table_setn(r->notes, "mod_php_memory_usage", mem_usage); } #endif
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_alloc.c?r1=1.154&r2=1.155&diff_format=u Index: ZendEngine2/zend_alloc.c diff -u ZendEngine2/zend_alloc.c:1.154 ZendEngine2/zend_alloc.c:1.155 --- ZendEngine2/zend_alloc.c:1.154 Mon Jul 24 08:15:42 2006 +++ ZendEngine2/zend_alloc.c Tue Jul 25 13:41:08 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_alloc.c,v 1.154 2006/07/24 08:15:42 dmitry Exp $ */ +/* $Id: zend_alloc.c,v 1.155 2006/07/25 13:41:08 dmitry Exp $ */ #include "zend.h" #include "zend_alloc.h" @@ -312,10 +312,12 @@ size_t block_size; zend_mm_segment *segments_list; zend_mm_storage *storage; - size_t size; + size_t real_size; #if MEMORY_LIMIT - size_t peak; + size_t real_peak; size_t limit; + size_t size; + size_t peak; #endif #if ZEND_USE_MALLOC_MM int use_zend_alloc; @@ -514,7 +516,7 @@ p = p->next_segment; } } - heap->size -= segment->size; + heap->real_size -= segment->size; ZEND_MM_STORAGE_FREE(segment); } @@ -595,10 +597,12 @@ heap->use_zend_alloc = 1; #endif - heap->size = 0; + heap->real_size = 0; #if MEMORY_LIMIT - heap->peak = 0; + heap->real_peak = 0; heap->limit = 1<<30; + heap->size = 0; + heap->peak = 0; #endif heap->overflow = 0; @@ -996,8 +1000,10 @@ } else { heap->segments_list = NULL; zend_mm_init(heap); - heap->size = 0; + heap->real_size = 0; #if MEMORY_LIMIT + heap->real_peak = 0; + heap->size = 0; heap->peak = 0; #endif heap->overflow = 0; @@ -1175,7 +1181,7 @@ #if MEMORY_LIMIT - if (heap->size + segment_size > heap->limit) { + if (heap->real_size + segment_size > heap->limit) { /* Memory limit overflow */ #if ZEND_DEBUG zend_mm_safe_error(heap, "Allowed memory size of %d bytes exhausted at %s:%d (tried to allocate %d bytes)", heap->limit, __zend_filename, __zend_lineno, size); @@ -1196,17 +1202,17 @@ #endif HANDLE_UNBLOCK_INTERRUPTIONS(); #if ZEND_DEBUG - zend_mm_safe_error(heap, "Out of memory (allocated %d) at %s:%d (tried to allocate %d bytes)", heap->size, __zend_filename, __zend_lineno, size); + zend_mm_safe_error(heap, "Out of memory (allocated %d) at %s:%d (tried to allocate %d bytes)", heap->real_size, __zend_filename, __zend_lineno, size); #else - zend_mm_safe_error(heap, "Out of memory (allocated %d) (tried to allocate %d bytes)", heap->size, size); + zend_mm_safe_error(heap, "Out of memory (allocated %d) (tried to allocate %d bytes)", heap->real_size, size); #endif return NULL; } - heap->size += segment_size; + heap->real_size += segment_size; #if MEMORY_LIMIT - if (heap->size > heap->peak) { - heap->peak = heap->size; + if (heap->real_size > heap->real_peak) { + heap->real_peak = heap->real_size; } #endif @@ -1242,6 +1248,14 @@ # endif ZEND_MM_SET_END_MAGIC(best_fit); #endif + +#if MEMORY_LIMIT + heap->size += true_size; + if (heap->peak < heap->size) { + heap->peak = heap->size; + } +#endif + HANDLE_UNBLOCK_INTERRUPTIONS(); return ZEND_MM_DATA_OF(best_fit); @@ -1278,6 +1292,11 @@ #endif HANDLE_BLOCK_INTERRUPTIONS(); + +#if MEMORY_LIMIT + heap->size -= size; +#endif + if (ZEND_MM_PREV_BLOCK_IS_FREE(mm_block)) { next_block = ZEND_MM_NEXT_BLOCK(mm_block); if (ZEND_MM_IS_FREE_BLOCK(next_block)) { @@ -1349,6 +1368,14 @@ } mm_block = ZEND_MM_HEADER_OF(p); true_size = ZEND_MM_TRUE_SIZE(size); + +#if MEMORY_LIMIT + heap->size = heap->size + true_size - ZEND_MM_BLOCK_SIZE(mm_block); + if (heap->peak < heap->size) { + heap->peak = heap->size; + } +#endif + if (true_size <= ZEND_MM_BLOCK_SIZE(mm_block)) { size_t remaining_size = ZEND_MM_BLOCK_SIZE(mm_block) - true_size; @@ -1439,7 +1466,7 @@ segment_copy = (zend_mm_segment *) ((char *)mm_block - ZEND_MM_ALIGNED_SEGMENT_SIZE); #if MEMORY_LIMIT - if (heap->size + segment_size - segment_copy->size > heap->limit) { + if (heap->real_size + segment_size - segment_copy->size > heap->limit) { HANDLE_UNBLOCK_INTERRUPTIONS(); #if ZEND_DEBUG zend_mm_safe_error(heap, "Allowed memory size of %d bytes exhausted at %s:%d (tried to allocate %d bytes)", heap->limit, __zend_filename, __zend_lineno, size); @@ -1453,16 +1480,16 @@ if (!segment) { HANDLE_UNBLOCK_INTERRUPTIONS(); #if ZEND_DEBUG - zend_mm_safe_error(heap, "Out of memory (allocated %d) at %s:%d (tried to allocate %d bytes)", heap->size, __zend_filename, __zend_lineno, size); + zend_mm_safe_error(heap, "Out of memory (allocated %d) at %s:%d (tried to allocate %d bytes)", heap->real_size, __zend_filename, __zend_lineno, size); #else - zend_mm_safe_error(heap, "Out of memory (allocated %d) (tried to allocate %d bytes)", heap->size, size); + zend_mm_safe_error(heap, "Out of memory (allocated %d) (tried to allocate %d bytes)", heap->real_size, size); #endif return NULL; } - heap->size += segment_size - segment->size; + heap->real_size += segment_size - segment->size; #if MEMORY_LIMIT - if (heap->size > heap->peak) { - heap->peak = heap->size; + if (heap->real_size > heap->real_peak) { + heap->real_peak = heap->real_size; } #endif segment->size = segment_size; @@ -1778,15 +1805,27 @@ #endif } -ZEND_API size_t zend_memory_usage(TSRMLS_D) +ZEND_API size_t zend_memory_usage(int real_usage TSRMLS_DC) { - return AG(mm_heap)->size; + if (real_usage) { + return AG(mm_heap)->real_size; + } else { +#if MEMORY_LIMIT + return AG(mm_heap)->size; +#else + return AG(mm_heap)->real_size; +#endif + } } #if MEMORY_LIMIT -ZEND_API size_t zend_memory_peak_usage(TSRMLS_D) +ZEND_API size_t zend_memory_peak_usage(int real_usage TSRMLS_DC) { - return AG(mm_heap)->peak; + if (real_usage) { + return AG(mm_heap)->real_peak; + } else { + return AG(mm_heap)->peak; + } } #endif http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_alloc.h?r1=1.72&r2=1.73&diff_format=u Index: ZendEngine2/zend_alloc.h diff -u ZendEngine2/zend_alloc.h:1.72 ZendEngine2/zend_alloc.h:1.73 --- ZendEngine2/zend_alloc.h:1.72 Tue Jul 18 09:08:05 2006 +++ ZendEngine2/zend_alloc.h Tue Jul 25 13:41:08 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: zend_alloc.h,v 1.72 2006/07/18 09:08:05 dmitry Exp $ */ +/* $Id: zend_alloc.h,v 1.73 2006/07/25 13:41:08 dmitry Exp $ */ #ifndef ZEND_ALLOC_H #define ZEND_ALLOC_H @@ -119,8 +119,8 @@ #endif #if MEMORY_LIMIT -ZEND_API size_t zend_memory_usage(TSRMLS_D); -ZEND_API size_t zend_memory_peak_usage(TSRMLS_D); +ZEND_API size_t zend_memory_usage(int real_usage TSRMLS_DC); +ZEND_API size_t zend_memory_peak_usage(int real_usage TSRMLS_DC); #endif END_EXTERN_C() http://cvs.php.net/viewvc.cgi/php-src/ext/standard/var.c?r1=1.241&r2=1.242&diff_format=u Index: php-src/ext/standard/var.c diff -u php-src/ext/standard/var.c:1.241 php-src/ext/standard/var.c:1.242 --- php-src/ext/standard/var.c:1.241 Mon Jul 24 23:28:00 2006 +++ php-src/ext/standard/var.c Tue Jul 25 13:41:08 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: var.c,v 1.241 2006/07/24 23:28:00 helly Exp $ */ +/* $Id: var.c,v 1.242 2006/07/25 13:41:08 dmitry Exp $ */ @@ -1152,14 +1152,25 @@ /* {{{ proto int memory_get_usage() Returns the allocated by PHP memory */ PHP_FUNCTION(memory_get_usage) { + zend_bool real_usage = 0; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &real_usage) == FAILURE) { + RETURN_FALSE; + } - RETURN_LONG(zend_memory_usage(TSRMLS_C)); + RETURN_LONG(zend_memory_usage(real_usage TSRMLS_CC)); } /* }}} */ /* {{{ proto int memory_get_peak_usage() Returns the peak allocated by PHP memory */ PHP_FUNCTION(memory_get_peak_usage) { - RETURN_LONG(zend_memory_peak_usage(TSRMLS_C)); + zend_bool real_usage = 0; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &real_usage) == FAILURE) { + RETURN_FALSE; + } + + RETURN_LONG(zend_memory_peak_usage(real_usage TSRMLS_CC)); } /* }}} */ #endif http://cvs.php.net/viewvc.cgi/php-src/sapi/apache/mod_php5.c?r1=1.36&r2=1.37&diff_format=u Index: php-src/sapi/apache/mod_php5.c diff -u php-src/sapi/apache/mod_php5.c:1.36 php-src/sapi/apache/mod_php5.c:1.37 --- php-src/sapi/apache/mod_php5.c:1.36 Tue Jul 18 09:08:06 2006 +++ php-src/sapi/apache/mod_php5.c Tue Jul 25 13:41:08 2006 @@ -17,7 +17,7 @@ | PHP 4.0 patches by Zeev Suraski <zeev@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: mod_php5.c,v 1.36 2006/07/18 09:08:06 dmitry Exp $ */ +/* $Id: mod_php5.c,v 1.37 2006/07/25 13:41:08 dmitry Exp $ */ #include "php_apache_http.h" #include "http_conf_globals.h" @@ -669,7 +669,7 @@ char *mem_usage; TSRMLS_FETCH(); - mem_usage = ap_psprintf(r->pool, "%u", zend_memory_peak_usage(TSRMLS_C)); + mem_usage = ap_psprintf(r->pool, "%u", zend_memory_peak_usage(1 TSRMLS_CC)); ap_table_setn(r->notes, "mod_php_memory_usage", mem_usage); } #endif http://cvs.php.net/viewvc.cgi/php-src/sapi/apache2filter/sapi_apache2.c?r1=1.140&r2=1.141&diff_format=u Index: php-src/sapi/apache2filter/sapi_apache2.c diff -u php-src/sapi/apache2filter/sapi_apache2.c:1.140 php-src/sapi/apache2filter/sapi_apache2.c:1.141 --- php-src/sapi/apache2filter/sapi_apache2.c:1.140 Tue Jul 18 09:08:06 2006 +++ php-src/sapi/apache2filter/sapi_apache2.c Tue Jul 25 13:41:08 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sapi_apache2.c,v 1.140 2006/07/18 09:08:06 dmitry Exp $ */ +/* $Id: sapi_apache2.c,v 1.141 2006/07/25 13:41:08 dmitry Exp $ */ #include <fcntl.h> @@ -521,7 +521,7 @@ { char *mem_usage; - mem_usage = apr_psprintf(ctx->r->pool, "%u", zend_memory_peak_usage(TSRMLS_C)); + mem_usage = apr_psprintf(ctx->r->pool, "%u", zend_memory_peak_usage(1 TSRMLS_CC)); apr_table_set(ctx->r->notes, "mod_php_memory_usage", mem_usage); } #endif http://cvs.php.net/viewvc.cgi/php-src/sapi/apache2handler/sapi_apache2.c?r1=1.70&r2=1.71&diff_format=u Index: php-src/sapi/apache2handler/sapi_apache2.c diff -u php-src/sapi/apache2handler/sapi_apache2.c:1.70 php-src/sapi/apache2handler/sapi_apache2.c:1.71 --- php-src/sapi/apache2handler/sapi_apache2.c:1.70 Tue Jul 18 09:08:06 2006 +++ php-src/sapi/apache2handler/sapi_apache2.c Tue Jul 25 13:41:08 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sapi_apache2.c,v 1.70 2006/07/18 09:08:06 dmitry Exp $ */ +/* $Id: sapi_apache2.c,v 1.71 2006/07/25 13:41:08 dmitry Exp $ */ #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS @@ -593,7 +593,7 @@ { char *mem_usage; - mem_usage = apr_psprintf(ctx->r->pool, "%u", zend_memory_peak_usage(TSRMLS_C)); + mem_usage = apr_psprintf(ctx->r->pool, "%u", zend_memory_peak_usage(1 TSRMLS_CC)); apr_table_set(r->notes, "mod_php_memory_usage", mem_usage); } #endif http://cvs.php.net/viewvc.cgi/php-src/sapi/apache_hooks/mod_php5.c?r1=1.19&r2=1.20&diff_format=u Index: php-src/sapi/apache_hooks/mod_php5.c diff -u php-src/sapi/apache_hooks/mod_php5.c:1.19 php-src/sapi/apache_hooks/mod_php5.c:1.20 --- php-src/sapi/apache_hooks/mod_php5.c:1.19 Tue Jul 18 09:08:06 2006 +++ php-src/sapi/apache_hooks/mod_php5.c Tue Jul 25 13:41:08 2006 @@ -17,7 +17,7 @@ | PHP 4.0 patches by Zeev Suraski <zeev@zend.com> | +----------------------------------------------------------------------+ */ -/* $Id: mod_php5.c,v 1.19 2006/07/18 09:08:06 dmitry Exp $ */ +/* $Id: mod_php5.c,v 1.20 2006/07/25 13:41:08 dmitry Exp $ */ #include "php_apache_http.h" @@ -727,7 +727,7 @@ char *mem_usage; TSRMLS_FETCH(); - mem_usage = ap_psprintf(r->pool, "%u", zend_memory_peak_usage(TSRMLS_C)); + mem_usage = ap_psprintf(r->pool, "%u", zend_memory_peak_usage(1 TSRMLS_CC)); ap_table_setn(r->notes, "mod_php_memory_usage", mem_usage); } #endif