From: SASADA Koichi Date: 2011-03-06T12:17:40+09:00 Subject: [ruby-dev:43313] Re: iseq_compile_each()でのマジックナンバ  ささだです.  この辺はもうさっぱり覚えていないのですが. (2011/03/06 11:37), きたざわけんいち wrote: >> # ちなみにこのコメントは今でも iseq_set_exception_table の中に >> # 残っていますが、Dirty Hack 自体は消えています。コメントが追い >> # ついてない……。 > > iseq_set_exception_table(rb_iseq_t *iseq) > { > (略) > /* TODO: Dirty Hack! Fix me */ > if (entry->type == CATCH_TYPE_RESCUE || > entry->type == CATCH_TYPE_BREAK || > entry->type == CATCH_TYPE_NEXT) { > entry->sp--; > } > } > > このコメントですね? > > 正直、なんのコメントだかわからなかったところです。  この sp-- するのが,なんで sp-- だけでいいのかわからなかった,という か,確か,別の場合もあるような気がするけど,まぁ test-all が動くからいい か,と思って,もっとちゃんとしないといかんなぁ,と思って書いていたんじゃ ないかと思います.  実行時の sp の遷移は,もうちょっとフォーマルにきっちり決められるように したいなぁ,と思っていたりして,放ったらかしです(今は,バグがあったらア ドホックに直す,って感じ).遠藤さんがきっちり決まるように,色々変更して くれた版があったと思うんだけど,大きすぎて reject しちゃったんですかね.  本当は,フローグラフかなんかをきちんと作って,きっちりしたいところなん ですが. -- // SASADA Koichi at atdot dot net