From 5a03efe2790cc935d4d8ca723bd21ce8c079fbd4 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 30 Apr 2014 20:28:02 +0200 Subject: Don't allocate zend_stack elements individually Instead allocate a vector of elements. Size must now be specified on initialization rather than on push. --- Zend/zend_execute_API.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'Zend/zend_execute_API.c') diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 7041563704..ff52993ca0 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -174,9 +174,9 @@ void init_executor(TSRMLS_D) /* {{{ */ EG(current_execute_data) = NULL; - zend_stack_init(&EG(user_error_handlers_error_reporting)); - zend_stack_init(&EG(user_error_handlers)); - zend_stack_init(&EG(user_exception_handlers)); + zend_stack_init(&EG(user_error_handlers_error_reporting), sizeof(int)); + zend_stack_init(&EG(user_error_handlers), sizeof(zval)); + zend_stack_init(&EG(user_exception_handlers), sizeof(zval)); zend_objects_store_init(&EG(objects_store), 1024); @@ -289,8 +289,7 @@ void shutdown_executor(TSRMLS_D) /* {{{ */ ZVAL_UNDEF(&EG(user_exception_handler)); } - zend_stack_destroy(&EG(user_error_handlers_error_reporting)); - zend_stack_init(&EG(user_error_handlers_error_reporting)); + zend_stack_clean(&EG(user_error_handlers_error_reporting), NULL, 1); zend_stack_clean(&EG(user_error_handlers), (void (*)(void *))ZVAL_DESTRUCTOR, 1); zend_stack_clean(&EG(user_exception_handlers), (void (*)(void *))ZVAL_DESTRUCTOR, 1); } zend_end_try(); -- cgit v1.2.1