Hi,

I propose a micro optimization for RETURN statement.

Currently "return $x" increments reference counter of $x, then in 
zend_leave_helper() we perform zval_ptr_dtor() on the same $x.

The patch sets the original value of $x to null in first place, so 
zval_ptr_dtor() is not going to be called.


https://gist.github.com/dstogov/36f68b206242a39691ac539c2fc85d40


the performance impact is invisible (0.1% less instruction retired on 
Wordpress).


It breaks sapi/phpdbg/tests/breakpoints_005.phpt, but this is probably not a 
big deal.

BTW: this change may affect debuggers in some other way.


Let me know, if you see any problems (I'll delay commit for 2-3 days).


Thanks. Dmitry.

Reply via email to