From: "k0kubun (Takashi Kokubun)" Date: 2021-12-28T04:29:16+00:00 Subject: [ruby-core:106859] [Ruby master Feature#18440] YJIT is enabled if any YJIT tuning options are set Issue #18440 has been updated by k0kubun (Takashi Kokubun). Backport deleted (2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN) ruby -v deleted (ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin21]) Tracker changed from Bug to Feature > From the code, this appears to be intentional. I think so. At least for MJIT in 2.6~3.0, we used to show: ``` --jit enable JIT with default options (experimental) --jit-[option] enable JIT with an option (experimental) ``` but we ended up removing it in 3.1 for MJIT and YJIT. Maybe we should add such descriptions again for clarity. ---------------------------------------- Feature #18440: YJIT is enabled if any YJIT tuning options are set https://bugs.ruby-lang.org/issues/18440#change-95670 * Author: georgeclaghorn (George Claghorn) * Status: Open * Priority: Normal ---------------------------------------- I was testing YJIT in a Rails app with `RUBYOPT="--yjit --yjit-exec-mem-size=32"`. I saw some weird issues around Rails view caching, so I attempted to temporarily disable YJIT by removing `--yjit` and leaving the tuning options in place (`RUBYOPT="--yjit-exec-mem-size=32"`). However, YJIT remained enabled until I also removed `--yjit-exec-mem-size=32`. ``` $ ruby -e 'puts RubyVM::YJIT.runtime_stats.inspect' nil $ ruby --yjit-exec-mem-size -e 'puts RubyVM::YJIT.runtime_stats.inspect' {:inline_code_size=>378495, :outlined_code_size=>311079} ``` I expected removing `--yjit` to disable YJIT and was surprised by this. -- https://bugs.ruby-lang.org/ Unsubscribe: