
Issue #21140 has been updated by Eregon (Benoit Daloze). IMO it's better to have them through `RubyVM::RJIT.address_of` than exporting them, because that way it's very clear they are not part of the public Ruby C API. And so e.g. it's expected that TruffleRuby does not expose these internal functions and that they should only be used for RJIT purposes. ---------------------------------------- Feature #21140: Add a method to get the address of certain JIT related functions https://bugs.ruby-lang.org/issues/21140#change-111991 * Author: tenderlovemaking (Aaron Patterson) * Status: Open ---------------------------------------- Feature #21116 extracted RJIT as a gem. But RJIT accesses certain internal functions which it cannot access as a gem. For example it used the `rb_str_bytesize` function, but this symbol is not exported, so we cannot access it (even from a C extension). Instead of exporting these symbols, I would like to propose an API for getting access to their addresses in Ruby. For example ```ruby RubyVM::RJIT.address_of(:rb_str_bytesize) # => 123456 ``` I would like to limit the addresses to [this list](https://github.com/ruby/ruby/blob/f32d5071b7b01f258eb45cf533496d82d5c0f6a1/t...) which are the ones required by RJIT. -- https://bugs.ruby-lang.org/