[#120855] [Ruby master Bug#21104] Net::HTTP connections failing in Ruby >= 3.4.0 on macOS with Happy Eyeballs enabled — "mjt58 (Mike Thompson) via ruby-core" <ruby-core@...>

Issue #21104 has been reported by mjt58 (Mike Thompson).

14 messages 2025/02/01

[#120873] [Ruby master Bug#21111] RbConfig::CONFIG['CXX'] quietly set to "false" when Ruby cannot build C++ programs — "stanhu (Stan Hu) via ruby-core" <ruby-core@...>

Issue #21111 has been reported by stanhu (Stan Hu).

10 messages 2025/02/03

[#120884] [Ruby master Bug#21115] Etc.getgrgid is not Ractor-safe but is marked as such — "Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>

Issue #21115 has been reported by Eregon (Benoit Daloze).

7 messages 2025/02/05

[#120897] [Ruby master Bug#21119] Programs containing `Dir.glob` with a thread executing a CPU-heavy task run very slowly. — "genya0407 (Yusuke Sangenya) via ruby-core" <ruby-core@...>

Issue #21119 has been reported by genya0407 (Yusuke Sangenya).

6 messages 2025/02/06

[#121054] [Ruby master Bug#21139] Prism and parse.y parses `it = it` differently — "tompng (tomoya ishida) via ruby-core" <ruby-core@...>

Issue #21139 has been reported by tompng (tomoya ishida).

19 messages 2025/02/14

[#121060] [Ruby master Feature#21140] Add a method to get the address of certain JIT related functions — "tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>

Issue #21140 has been reported by tenderlovemaking (Aaron Patterson).

23 messages 2025/02/14

[#121077] [Ruby master Misc#21143] Speficy order of execution const_added vs inherited — "fxn (Xavier Noria) via ruby-core" <ruby-core@...>

Issue #21143 has been reported by fxn (Xavier Noria).

15 messages 2025/02/17

[#121142] [Ruby master Misc#21154] Document or change Module#autoload? — "fxn (Xavier Noria) via ruby-core" <ruby-core@...>

Issue #21154 has been reported by fxn (Xavier Noria).

32 messages 2025/02/23

[#121172] [Ruby master Feature#21157] Comparison operator <> — lpogic via ruby-core <ruby-core@...>

SXNzdWUgIzIxMTU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGxwb2dpYyAoxYF1a2FzeiBQb21pZXTF

11 messages 2025/02/26

[ruby-core:121124] [Ruby master Feature#21140] Add a method to get the address of certain JIT related functions

From: "Eregon (Benoit Daloze) via ruby-core" <ruby-core@...>
Date: 2025-02-19 10:53:40 UTC
List: ruby-core #121124
Issue #21140 has been updated by Eregon (Benoit Daloze).


Thinking a bit more about this, how is RJIT going to work since on master it seems everything related to it has been removed?
For example when looking at the [FFI JIT PoC](https://gist.github.com/tenderworks/f4cbb60f2c0dc3ab334eb73fec36f702) it uses `RubyVM::RJIT::C` (which is only defined when passing `--rjit` on the command line BTW) but that no longer exists at all on master.
`Primitive.cexpr!()` (and Primitives in general) as used [here](https://github.com/ruby/ruby/blob/f32d5071b7b01f258eb45cf533496d82d5c0f6a1/rjit_c.rb) is not available outside of core, and so AFAIK there won't be any way to find out struct offsets of `rb_control_frame_t`.

BTW exposing struct offsets is IMO more dangerous and risky than the list of internal functions above. It reminds me of old debugger gems which used to copy internal headers from some given CRuby version, that's very brittle.

IOW, I think it would be good to figure out how RJIT is going to work as a gem, I suppose right now it cannot work as a gem.
Maybe some part of it not depending on Fiddle should stay in core?

----------------------------------------
Feature #21140: Add a method to get the address of certain JIT related functions
https://bugs.ruby-lang.org/issues/21140#change-112046

* 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/tool/rjit/bindgen.rb#L510-L578) which are the ones required by RJIT.



-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/


In This Thread