On 9/15/23 09:35, Derick Rethans wrote:
This is a lot of new code, that very few other people understand in
great detail.

I think it is unwise if we have another large part of the engine that
does not have enough people understanding enough of it, to be able to
debug issues, and contribute to its continued development.

Agreed.

Additionally, despite the use of a Git submodule complicating things for "everyone else," it provides a clear dependency and development boundary, avoiding situations where the php-src version of IR drifts from the upstream version. I think we can adjust tooling and messaging to help folks know how to use the submodule. :-)

As such, I don't think this should just be merged, without a
comprehensive document explaining what it is, how it works, what pitfalls
there are, etc. The natural process that we have for PHP would be to
create an RFC.

An RFC should also include a user-facing API on how to configure, and
enable, the JIT and its optimisations, as our current implementation
it is not the most convenient for users.

I understand that working on an RFC for such a complex issue is going to
take time, but that also gives to opportunity to pair with somebody,
who, while writing it, will also learn how it works. That would also
ready improve the debugging/contributing issues.

+1, this needs an RFC, if only to help articulate and explain how it works, as Derick says. I'd love to volunteer to help with the RFC, but I'm already stretched thin, as it is.

Separately, I am not sure why your PR couldn't just replace the JIT that
we already have? It would IMO not make sense to have two different ones
at the same time.

This was my thought, as well.

A few things I noted while looking through the code in the IR repository...

It looks like the goal of the project is for IR to provide JIT compilation for other projects. Do you already have some idea where (other than php-src) it will be used? Is it already being used elsewhere?

IR is currently on your personal GitHub account, but the copyright listed on the license is for "Zend by Perforce," while other source files (e.g., ir_cpuinfo.c) list "IR project" as the copyright holder. I assume this is because you (Dmitry) have been working on this on Zend's time, while other contributors have been working on it independently. Who is the ultimate owner/controller of the project? If it's a Zend by Perforce project, what's their goal for it? (I'm not asking because I think there are hidden agendas; I'm just curious what the plans are for long-ish term support of IR.)

Noted that the license on IR is MIT. Love it!

Cheers,
Ben

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to