tonybaloney / Pyjion

Pyjion - A JIT for Python based upon CoreCLR
https://www.trypyjion.com
MIT License
1.43k stars 59 forks source link

[Question] Will it support other JIT compilers ? #215

Closed redradist closed 3 years ago

redradist commented 3 years ago

Will it support other JIT compilers base on LLVM, Cranelift ?

tonybaloney commented 3 years ago

No. It's enough work to get the .NET working and the concepts are based upon the design of ECMA CIL and assumptions about evaluation stacks, variable signing, branching and assignments.

.NET 6 will add macOS silicon support, which is the next thing to do

tekknolagi commented 3 years ago

What does "Pyjion also aims to support many JIT compilers" in the README mean?

tekknolagi commented 3 years ago

What does "Pyjion also aims to support many JIT compilers" in the README mean?

tonybaloney commented 3 years ago

That's referring to PEP523

redradist commented 2 years ago

@tonybaloney Will you accept any PR if somebody will add support for LLVM based JIT ?

LLVM has one advantage, it supports more platforms then .NET 6 and it will allow to use pyjion for example on RICV-5 platform and others

tonybaloney commented 2 years ago

It would be such a huge amount of work to write, test and support. I'd be very reluctant to merge such a PR without a significant benefit or use case. Pyjion is built around the ECMA CIL as the IL, so there would have to be another portability layer to LLVM's IL. I understand other projects like Pyston have adopted LLVM (but don't support the same number of architectures as the JIT)

I've only just gotten aarch64 support shipped. The complexity was not related to the JIT, but on testing, cross compiling, and support in CPython