[#119637] Behavior of raising from rescue blocks when multiple rescue blocks exist — Rodrigo Rosenfeld Rosas via ruby-core <ruby-core@...>
Hello, I couldn't find any documentation about the subject, so I thought
3 messages
2024/10/29
[ruby-core:119635] [Ruby master Misc#20814] iseq optimizations on constant condition
From:
"hurricup (Alexandr Evstigneev) via ruby-core" <ruby-core@...>
Date:
2024-10-29 04:40:29 UTC
List:
ruby-core #119635
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: #<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/
______________________________________________
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/