Generators Revisited
| From: | Dmitry Stogov | Date: | Wed, 28 Nov 2012 10:57:58 +0000 |
| Subject: | Generators Revisited | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-64071@lists.php.net to get a copy of this message | ||
Hi
I've tried to review the generators related changes made in PHP-5.5 and
improve them from both consistency and performance points of view.
The patch also makes a small performance improvement to PHP-5.5 in general,
however, it changes some ZE internals that can be used by
some extension (e.g. XDebug).
You can find the list of changes in the UPGRADING file.
http://pastebin.com/AT0SQhAH
Please, review the patch and test it with your custom extensions.
I would like to commit it on Friday morning. Objections?
I also have some additional proposals:
1) EX(Ts) access optimization. With this patch it must be possible to
access temporary variables using "execute_data" as the base pointer.
"execute_data.Ts" might be removed at all. In general the same optimization
might be done for EX(CVs) as well.
2) May be it makes sense to forbid return/yield usage in "finally" blocks
using compile time error. Their behaviour is really unclear.
Any thoughts?
Thanks. Dmitry.