From: Yusuke Endoh Date: 2013-02-10T09:36:01+09:00 Subject: [ruby-dev:46966] Re: [ruby-trunk - Bug #7774][Assigned] IFUNC上のbinding呼び出しでSEGV どの reversion をバックポートするという話? rc1 からの regression ならまあいいと思いますが、 修正が大きいと後ろ向きになるかも。 2013年2月9日 17:14 SASADA Koichi : > SEGV を直すときに,うっかり意図しない非互換が混入されてしまいました,と > いう理屈で,これは 2_0_0 のほうにバックポートしてもいいでしょうか > >mame さん > > > Binding はどう取れるべきか,については実はそんなに自明ではないので,今度 > 誰か議論させて下さい.この辺,今は本当に「実装がそうだったから」以外じゃ > ないような気がしています. > > > (2013/02/09 16:45), Kazuki Tsujimoto wrote: >> 辻本です >> >> Subject: [ruby-dev:46961] Re: [ruby-trunk - Bug #7774][Assigned] IFUNC上のbinding呼び出しでSEGV >> From: SASADA Koichi >> Date: Sat, 9 Feb 2013 13:12:59 +0900 >> >>>  とまぁ,こんな感じで,「呼び出し側のフレームを返す」という仕様ではな >>> かったわけです. >>> >>>  もし,以前の挙動に戻すなら,ifuc の binding を作りつつ,ruby-level フ >>> レームまで遡って,その ruby-level フレームの binding を返す,というのが >>> 思いつきました.これで解決しそうではあります. >> >> 簡単に仕様をまとめるとこんな感じでしょうか。 >> >> 1.9.3/2.0.0rc1 >> Rubyメソッド: 最後のruby-levelフレーム(呼び出し側フレームかどうかは無関係) >> Cメソッド: 同上 >> >> 2.0.0rc2 >> Rubyメソッド: 最後のruby-levelフレーム(呼び出し側フレームかどうかは無関係) >> Cメソッド: 最後のruby-levelまたはC-levelフレーム(メソッドの実装による) >> >> 戻すにしても、タイミングが問題ですね。 >> > > > -- > // SASADA Koichi at atdot dot net > -- Yusuke Endoh