6 ms·
Apologies if this is obvious - is this ISA specific, or does it sit upon cross platform libs? I ask because I'm *very* interested in this, but am working on AR
by throwawaygimp 5y ago
Apologies if this is obvious - is this ISA specific, or does it sit upon cross platform libs?
I ask because I'm *very* interested in this, but am working on ARM
Edit - just to be clear why I'm interested. For me it matters not if Ruby is slow, until it does, which is usually a very specific and obvious piece of code.
- arthur2e5 5y agoIt’s x86-64 only. A quick look at the https://github.com/tenderlove/tenderjit/blob/main/lib/tenderjit/iseq_compiler.rb https://github.com/tenderlove/tenderjit/blob/main/lib/tender... linked from the README reveals heavy references to x86-64 registers. The “Fisk” library used appears to be a x86-64 assembler in Ruby. I guess that’s to be expected with “pure ruby” — all the cross-insn backends you can use (Cranelift, LLVM) are written in not-Ruby.
- gnulinux 5y agoHow can you do ISA-agnostic JIT unless you implement a separate backend for each ISA? I.e. is it possible to write a JIT in a generic way such that it'll work for a class of ISAs?
- tenderlove 5y agoIt's x86-64 specific right now. I'm interested in adding ARM support so I'll do that at some point in the future. My desktop is x86-64 and our production machines are as well, which is why I started with it. Thanks for the interest!