# Generators Revisited

- Thread: https://externals.io/message/64071
- Original archive: https://news-web.php.net/php.internals/64071
- Started by Dmitry Stogov on 2012-11-28T10:57:58+00:00
- Messages: 4
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #64071 — Dmitry Stogov — 2012-11-28T10:57:58+00:00

URL: https://externals.io/message/64071#64071

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.

---

## #64072 — Ivan Enderlin @ Hoa — 2012-11-28T12:56:48+00:00

URL: https://externals.io/message/64071#64072 · In reply to: #64071

Hi Dmitry,

s/ informatin/information
in the UPGRADING file.

Best regards.


> 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.
>

-- 
Ivan Enderlin
Developer of Hoa
http://hoa.42/ or http://hoa-project.net/

PhD. student at DISC/Femto-ST (Vesontio) and INRIA (Cassis)
http://disc.univ-fcomte.fr/ and http://www.inria.fr/

Member of HTML and WebApps Working Group of W3C
http://w3.org/

---

## #64073 — Ivan Enderlin @ Hoa — 2012-11-28T12:58:53+00:00

URL: https://externals.io/message/64071#64073 · In reply to: #64071

Oh, and also :

s/ calcualated/calculated/
s/extended_vallue/extended_value/

(always in the UPGRADING file).

:-)




> 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.
>

-- 
Ivan Enderlin
Developer of Hoa
http://hoa.42/ or http://hoa-project.net/

PhD. student at DISC/Femto-ST (Vesontio) and INRIA (Cassis)
http://disc.univ-fcomte.fr/ and http://www.inria.fr/

Member of HTML and WebApps Working Group of W3C
http://w3.org/

---

## #64076 — Dmitry Stogov — 2012-11-28T14:58:46+00:00

URL: https://externals.io/message/64071#64076 · In reply to: #64073

thanks. :)

On Wed, Nov 28, 2012 at 4:58 PM, Ivan Enderlin @ Hoa <
ivan.enderlin@hoa-project.net> wrote:

> Oh, and also :
>
> s/ calcualated/calculated/
> s/extended_vallue/extended_**value/
>
> (always in the UPGRADING file).
>
> :-)
>
>
>
>
> 
>
> > […]
> --
> Ivan Enderlin
> Developer of Hoa
> http://hoa.42/ or http://hoa-project.net/
>
> PhD. student at DISC/Femto-ST (Vesontio) and INRIA (Cassis)
> http://disc.univ-fcomte.fr/ and http://www.inria.fr/
>
> Member of HTML and WebApps Working Group of W3C
> http://w3.org/
