Project

General

Profile

Misc #20814

Updated by nobu (Nobuyoshi Nakada) 28 days ago

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.

Back