Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2(PHP_5_3) / zend_closures.c zend_closures.h zend_object_handlers.c /tests closure_034.phpt closure_035.phpt closure_036.phpt
[email protected] (Marcus Boerger) Sat, 17 Jan 2009 20:06:28 +0100
| Newsgroups | php.zend-engine.cvs |
|---|---|
| Message-ID | <[email protected]> |
Hello Dmitry,
thx
Wednesday, January 14, 2009, 11:28:22 AM, you wrote:
> dmitry Wed Jan 14 10:28:22 2009 UTC
> Removed files: (Branch: PHP_5_3)
> /ZendEngine2/tests closure_034.phpt closure_035.phpt
> closure_036.phpt
> Modified files:
> /ZendEngine2 zend_closures.c zend_closures.h zend_object_handlers.c
> Log:
> Reverted "Rebind closure when binding to property"
>
>
> http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_closures.c?r1=1.3.2.24&r2=1.3.2.25&diff_format=u
> Index: ZendEngine2/zend_closures.c
> diff -u ZendEngine2/zend_closures.c:1.3.2.24
> ZendEngine2/zend_closures.c:1.3.2.25
> --- ZendEngine2/zend_closures.c:1.3.2.24 Sun Jan 4 14:23:29 2009
> +++ ZendEngine2/zend_closures.c Wed Jan 14 10:28:22 2009
> @@ -18,7 +18,7 @@
>
> +----------------------------------------------------------------------+
> */
>
> -/* $Id: zend_closures.c,v 1.3.2.24 2009/01/04 14:23:29 helly Exp $ */
> +/* $Id: zend_closures.c,v 1.3.2.25 2009/01/14 10:28:22 dmitry Exp $ */
>
> #include "zend.h"
> #include "zend_API.h"
> @@ -118,26 +118,6 @@
> }
> /* }}} */
>
> -ZEND_API zval* zend_closure_copy(zval *closure_obj, zval *this_ptr TSRMLS_DC) /* {{{ */
> -{
> - zend_closure *closure;
> -
> - zval_copy_ctor(closure_obj);
> - closure = (zend_closure
> *)zend_object_store_get_object(closure_obj TSRMLS_CC);
> - if (closure->this_ptr) {
> - zval_ptr_dtor(&closure->this_ptr);
> - }
> - closure->this_ptr = this_ptr;
> - if (this_ptr) {
> - Z_ADDREF_P(this_ptr);
> - closure->func.common.scope = Z_OBJCE_P(this_ptr);
> - } else {
> - closure->func.common.scope = NULL;
> - }
> - return closure_obj;
> -}
> -/* }}} */
> -
> static zend_function *zend_closure_get_method(zval **object_ptr, char
> *method_name, int method_len TSRMLS_DC) /* {{{ */
> {
> char *lc_name;
> http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_closures.h?r1=1.1.2.6&r2=1.1.2.7&diff_format=u
> Index: ZendEngine2/zend_closures.h
> diff -u ZendEngine2/zend_closures.h:1.1.2.6 ZendEngine2/zend_closures.h:1.1.2.7
> --- ZendEngine2/zend_closures.h:1.1.2.6 Sat Jan 3 17:48:39 2009
> +++ ZendEngine2/zend_closures.h Wed Jan 14 10:28:22 2009
> @@ -17,7 +17,7 @@
>
> +----------------------------------------------------------------------+
> */
>
> -/* $Id: zend_closures.h,v 1.1.2.6 2009/01/03 17:48:39 helly Exp $ */
> +/* $Id: zend_closures.h,v 1.1.2.7 2009/01/14 10:28:22 dmitry Exp $ */
>
> #ifndef ZEND_CLOSURES_H
> #define ZEND_CLOSURES_H
> @@ -35,7 +35,6 @@
> ZEND_API zend_function *zend_get_closure_invoke_method(zval *obj TSRMLS_DC);
> ZEND_API const zend_function *zend_get_closure_method_def(zval *obj TSRMLS_DC);
> ZEND_API zval* zend_get_closure_this_ptr(zval *obj TSRMLS_DC);
> -ZEND_API zval* zend_closure_copy(zval *closure, zval *this_ptr TSRMLS_DC);
>
> END_EXTERN_C()
>
> http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_object_handlers.c?r1=1.135.2.6.2.22.2.25&r2=1.135.2.6.2.22.2.26&diff_format=u
> Index: ZendEngine2/zend_object_handlers.c
> diff -u ZendEngine2/zend_object_handlers.c:1.135.2.6.2.22.2.25
> ZendEngine2/zend_object_handlers.c:1.135.2.6.2.22.2.26
> --- ZendEngine2/zend_object_handlers.c:1.135.2.6.2.22.2.25 Wed Jan 7 22:12:39 2009
> +++ ZendEngine2/zend_object_handlers.c Wed Jan 14 10:28:22 2009
> @@ -17,7 +17,7 @@
>
> +----------------------------------------------------------------------+
> */
>
> -/* $Id: zend_object_handlers.c,v 1.135.2.6.2.22.2.25 2009/01/07 22:12:39 andrei Exp $ */
> +/* $Id: zend_object_handlers.c,v 1.135.2.6.2.22.2.26 2009/01/14 10:28:22 dmitry Exp $ */
>
> #include "zend.h"
> #include "zend_globals.h"
> @@ -405,10 +405,6 @@
> member = tmp_member;
> }
>
> - if (value && Z_TYPE_P(value) == IS_OBJECT && Z_OBJCE_P(value) ==
> zend_ce_closure && zend_get_closure_this_ptr(value TSRMLS_CC) != object) {
> - value = zend_closure_copy(value, object TSRMLS_CC);
> - }
> -
> property_info = zend_get_property_info(zobj->ce, member,
> (zobj->ce->__set != NULL) TSRMLS_CC);
>
> if (property_info && zend_hash_quick_find(zobj->properties,
> property_info->name, property_info->name_length+1, property_info->h,
> (void **) &variable_ptr) == SUCCESS) {
Best regards,
Marcus