[ruby-list:50784] Re: [質問] a=a があると動作が異常

From: nekomura <mimomakun@...>
Date: 2019-06-07 03:12:58 UTC
List: ruby-list #50784
小村です。
早速の調査ありがとうございます。

> もし可能なら ruby の redimen の issue にこの件を登録していただけますか?

すみません。どしろうとなのでどうやっていいのかわかりません。
登録していただけないでしょうか?


> On 2019,6,7, at 11:35, Tomoyuki Chikanaga <nagachika00@gmail.com> wrote:
> 
> 確かに 2.5.3以降 と 2.6.x で再現しますね。
> 
> ruby --dump=parsetree の結果は発生前後であまり変化はないですが --dump=insns すると VM 命令列が抜けているようでした。
> peephole 最適化の不具合だろうと思って探してみたところ r63870 から発生してそうです。
> 
> https://github.com/ruby/ruby/commit/5e7167f8fb954ec46eb12a4a0a1191a8f7d9543d
> 
> とり急ぎ報告まで。
> 
> もし可能なら ruby の redimen の issue にこの件を登録していただけますか?
> 
> https://bugs.ruby-lang.org/projects/ruby-trunk/issues/new
> 
> 
> 2019年6月7日(金) 10:20 nekomura <mimomakun@gmail.com>:
> 小村と申します。
> どこで聞いていいのかわからないのでここで質問させてください。
> 
> 下記スクリプトの結果が期待と違います。なぜでしょうか?
> a = a は不要ですが、なにもしないことを明示するために書いたものです。
> なおOS付属の ruby 2.3.7p456 では期待通りの結果でした。
> 
> 
> a = "aaa"
> if a == "bbb" || a == "ccc" then
>     a = a
> else
>     puts "OK"
> end
> puts "END"
> 
> 
> 
> 実行結果 
>  END
> 
> 期待する結果 
>  OK
>  END
> 
> 動作環境
>  MacOS 10.13.6
>  ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]
>  macportsでインストール
> 

In This Thread