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 >
