diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2012-11-30 13:39:23 +0400 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2012-11-30 13:39:23 +0400 |
| commit | 70f83f35d089d0cafae12ae231a38541f5c8e41c (patch) | |
| tree | 1dee0f4716d742a57558d59a9285392805b25a9b /Zend/zend_execute.c | |
| parent | 9f7e53fde8b0feac271230cbc6731e9de90f2a03 (diff) | |
| download | php-git-70f83f35d089d0cafae12ae231a38541f5c8e41c.tar.gz | |
. The VM stacks for passing function arguments and syntaticaly nested calls were merged into a single stack. The stack size needed for op_array execution is calculated at compile time and preallocated at once. As result all the stack push operatins don't require checks for stack overflow any more.
. Generators implementation was improved using the new VM stack. Now it's a bit more clear and faster.
Diffstat (limited to 'Zend/zend_execute.c')
| -rw-r--r-- | Zend/zend_execute.c | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 361afc6f13..5f04ba7465 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1570,25 +1570,6 @@ void zend_free_compiled_variables(zval ***CVs, int num) /* {{{ */ } /* }}} */ -void** zend_copy_arguments(void **arguments_end) /* {{{ */ -{ - int arguments_count = (int) (zend_uintptr_t) *arguments_end; - size_t arguments_size = (arguments_count + 1) * sizeof(void **); - void **arguments_start = arguments_end - arguments_count; - void **copied_arguments_start = emalloc(arguments_size); - void **copied_arguments_end = copied_arguments_start + arguments_count; - int i; - - memcpy(copied_arguments_start, arguments_start, arguments_size); - - for (i = 0; i < arguments_count; i++) { - Z_ADDREF_P((zval *) arguments_start[i]); - } - - return copied_arguments_end; -} -/* }}} */ - /* * Local variables: * tab-width: 4 |
