dmitry Mon Feb 18 14:30:44 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/reflection php_reflection.c Log: Made code opcode-cache friendly. (It is disallowed to change code during execution) http://cvs.php.net/viewvc.cgi/php-src/ext/reflection/php_reflection.c?r1=1.164.2.33.2.45.2.13&r2=1.164.2.33.2.45.2.14&diff_format=u Index: php-src/ext/reflection/php_reflection.c diff -u php-src/ext/reflection/php_reflection.c:1.164.2.33.2.45.2.13 php-src/ext/reflection/php_reflection.c:1.164.2.33.2.45.2.14 --- php-src/ext/reflection/php_reflection.c:1.164.2.33.2.45.2.13 Fri Feb 15 12:48:13 2008 +++ php-src/ext/reflection/php_reflection.c Mon Feb 18 14:30:44 2008 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_reflection.c,v 1.164.2.33.2.45.2.13 2008/02/15 12:48:13 derick Exp $ */ +/* $Id: php_reflection.c,v 1.164.2.33.2.45.2.14 2008/02/18 14:30:44 dmitry Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -2151,7 +2151,6 @@ reflection_object *intern; parameter_reference *param; zend_op *precv; - zval *zv, zv_copy; METHOD_NOTSTATIC_NUMPARAMS(reflection_parameter_ptr, 0); GET_REFLECTION_OBJECT_PTR(param); @@ -2171,10 +2170,12 @@ return; } - zv_copy = precv->op2.u.constant; - zv = &zv_copy; - zval_update_constant_ex(&zv, (void*)0, param->fptr->common.scope TSRMLS_CC); - RETURN_ZVAL(zv, 1, 1); + *return_value = precv->op2.u.constant; + INIT_PZVAL(return_value); + if (Z_TYPE_P(return_value) != IS_CONSTANT) { + zval_copy_ctor(return_value); + } + zval_update_constant_ex(&return_value, (void*)0, param->fptr->common.scope TSRMLS_CC); } /* }}} */ @@ -4943,7 +4944,7 @@ php_info_print_table_start(); php_info_print_table_header(2, "Reflection", "enabled"); - php_info_print_table_row(2, "Version", "$Id: php_reflection.c,v 1.164.2.33.2.45.2.13 2008/02/15 12:48:13 derick Exp $"); + php_info_print_table_row(2, "Version", "$Id: php_reflection.c,v 1.164.2.33.2.45.2.14 2008/02/18 14:30:44 dmitry Exp $"); php_info_print_table_end(); } /* }}} */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php