An interesting project if you are changing the interface could be to write a generic JIT interface, which any JIT could plug into. At the moment we have custom C code to plug in MJIT and YJIT - an interface could reduce that C code and enable more experimentation with JITs.
In Java, this is called JVMCI - the JVM Compiler Interface.
Yeah. Ever since I created llrb.gem, I've sometimes thought about it. Like what the description of JEP 243 says, JIT needs to know about VM data structures, which are currently just part of C code in vm.c. If we provide that and make jit_exec
pluggable, that'd be the minimum common requirement for CRuby JITs. Chances are I might end up achieving it this time by making MJIT written in Ruby because everything will be dynamically accessible and monkey-patchable.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3