Hello, internals!

Want to share some proof-of-concept and ideas regarding the Php Generics.
I've recreated the memoization generics as a user-land library
https://github.com/lisachenko/userland-php-generics, installable as a
simple composer package to check the concept itself and see where we have
limits now.

What I discovered - that a significant part of the core is suitable to
define generics *and keep the opcode arrays shared *between all
concrete memoized versions with different types:

I tried to deep-clone a template's zend_class_entry under a new name and
rewrited only the zend_type of its properties, parameters and return
types while sharing the compiled method bodies through the engine's own
op_array refcount. Thus, cost of a specialization is about
sizeof(zend_op_array) per method, independent of how large those methods
are, rather than a full copy of the opcodes.

Best regards,
Alexander

чт, 6 авг. 2026 г. в 18:46, Larry Garfield <[email protected]>:

> On Thu, Aug 6, 2026, at 4:53 AM, Barel wrote:
>
> > Thanks, it seems that to join a channel I also need to know the server
> > where It lives (I've never used Discord much before). Can you share
> > this info as well?
> >
> > Cheers
> >
> > Carlos
>
> https://phpc.chat/
>
> The PHP Community chat is unofficial, but lately it's where the big names
> are hanging out, including a lot of Internals regulars.  Beware, the
> Internals channel is annoyingly noisy and has a hard time staying on topic.
> :-)
>
> --Larry Garfield
>

Reply via email to