News for hackers. Stuff that matters.
Re:Tenderjit – A JIT for Ruby Written in Ruby by throwawaygimp on Wednesday September 22, 2021 @09:27PM (#28624229)
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.

Re:Tenderjit – A JIT for Ruby Written in Ruby by gnulinux on Thursday September 23, 2021 @01:24AM (#28625454)
How 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?
Re:Tenderjit – A JIT for Ruby Written in Ruby by nitrogen on Thursday September 23, 2021 @01:34AM (#28625501)
You can write a JIT that generates C code and calls the system's C compiler: https://duckduckgo.com/?q=ruby+"MJIT"
Re:Tenderjit – A JIT for Ruby Written in Ruby by gnulinux on Thursday September 23, 2021 @09:40AM (#28628960)
Oh well I never thought of it, nor read of it. Need to go back to books. Thanks for sharing!
Re:Tenderjit – A JIT for Ruby Written in Ruby by arthur2e5 on Wednesday September 22, 2021 @10:46PM (#28624719)
It’s x86-64 only. A quick look at the 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.

Re:Tenderjit – A JIT for Ruby Written in Ruby by tenderlove on Thursday September 23, 2021 @12:11PM (#28631178)
It'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!