> What do you think? I think I'd be worth trying for a preview (there was no 4.1.0preview this year?) as to see what the blast radius really is. Other than that, I wonder if one avenue could be to have this be a build flag first, a...byroot (Jean Boussier)
Applied in changeset commit:git|5c128f545b7d16f3fc8405b811fc5a04dcd73d8f. ---------- Deprecate RHASH_TBL [Feature #22232] Guaranteeing that any hash can be converted into an st_table is limiting the evolution of RHash. None of the pu...byroot (Jean Boussier)
[Feature #22232] Guaranteeing that any hash can be converted into an st_table is limiting the evolution of RHash. None of the public usages of `RHASH_TBL` were justified, they all had equivalent `rb_hash_*` public APIs to perform the s...byroot (Jean Boussier)
* [Feature #22395] `RubyVM::InstructionSequence.load_from_binary` to optionally accept `file` and `path` arguments like `compile` (byroot) * ISeq caching has a long live problem that ISeqs contain the source file path and realpath, ma...byroot (Jean Boussier)
### Context I'm trying to fix the long standing [Feature #17593] issue. In short, ISeq caching has a problematic limitation that the path and realpath of the source file is embedded in the iseq. Meaning that if you build your appl...byroot (Jean Boussier)
Not 100% sure it's the exact same issue, but the discussion on https://github.com/ruby/ruby/pull/18433#issuecomment-5679306710 may be of interest to you. Edit: Nevermind, I realized you are the same person :facepalm:byroot (Jean Boussier)
It's assignable from Ruby simply for the gem's own initialization, but it should never be re-assigned later. Fix: https://github.com/ruby/json/pull/1079 https://github.com/ruby/json/commit/cc32ef5cf5byroot (Jean Boussier)
Applied in changeset commit:git|c29739cb3ef483c215b0c13d30c96cc21b0f680b. ---------- Implement RubyVM::YJIT.max_compile_time_ns [Feature #22236] Allows to give a time budget to YJIT. When YJIT goes over the budget it pauses compilatio...byroot (Jean Boussier)
[Feature #22236] Allows to give a time budget to YJIT. When YJIT goes over the budget it pauses compilation until the budget is raised. It is best effort, YJIT may go over, or have no choice but to compile in some cases, but the goal i...byroot (Jean Boussier)