diff options
author | Nikita Popov <nikic@php.net> | 2014-04-30 20:28:02 +0200 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2014-05-01 09:08:29 +0200 |
commit | 5a03efe2790cc935d4d8ca723bd21ce8c079fbd4 (patch) | |
tree | d378f9fb31ab2bce4f70211df94b4403db55d5ca /Zend/zend_execute_API.c | |
parent | 257bf697ae9b2ae366f7f3726019c18ad92b9002 (diff) | |
download | php-git-5a03efe2790cc935d4d8ca723bd21ce8c079fbd4.tar.gz |
Don't allocate zend_stack elements individually
Instead allocate a vector of elements. Size must now be specified
on initialization rather than on push.
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r-- | Zend/zend_execute_API.c | 9 |
1 files changed, 4 insertions, 5 deletions
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(); |