
Issue #20814 has been updated by hurricup (Alexandr Evstigneev). nobu (Nobuyoshi Nakada) wrote in #note-1:
To disable optimizations, see the document of `RubyVM::InstructionSequence.compile_option=`. https://docs.ruby-lang.org/en/master/RubyVM/InstructionSequence.html#method-...
My question is more about the runtime. E.g I want to run a ruby program with optimizations disabled at all. Or load using `rb_load`/`rb_load_protect` while ruby process is already alive with default settings. ---------------------------------------- Misc #20814: iseq optimizations on constant condition https://bugs.ruby-lang.org/issues/20814#change-110288 * Author: hurricup (Alexandr Evstigneev) * Status: Feedback ---------------------------------------- ruby 3.4-preview2 seems optimizes out some stuff when building iseq and this may lead to user unexpected behavior when debugging, because some lines just optimized out. Example: ```ruby def foo1 if true nil else 1 end end ``` produces: ``` == disasm: #<ISeq:foo1@/test.rb:1 (1,0)-(7,3)> 0000 putnil ( 3)[LiCa] 0001 leave ( 7)[Re] ``` Two questions: - is there way to disable such optimizations? - are there some specs on things that can be optimized. -- https://bugs.ruby-lang.org/