From: "hurricup (Alexandr Evstigneev) via ruby-core" Date: 2024-10-29T04:40:29+00:00 Subject: [ruby-core:119635] [Ruby master Misc#20814] iseq optimizations on constant condition 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-c-compile_option-3D 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: # 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/ ______________________________________________ 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/