[#43284] [Ruby 1.9 - Bug #4456] [Open] Time#strftime で %F 指定子に大きな幅を指定した際の不具合 — tadayoshi funaba <redmine@...>
14 messages
2011/03/02
[#44141] [Ruby 1.9 - Bug #4456] Time#strftime で %F 指定子に大きな幅を指定した際の不具合
— Masaya Tarui <tarui@...>
2011/07/17
[#44142] Re: [Ruby 1.9 - Bug #4456] Time#strftime で %F 指定子に大きな幅を指定した際の不具合
— Masaya TARUI <tarui@...>
2011/07/17
非常に重要な所が抜けてました。
[#43285] [Ruby 1.9 - Bug #4457] [Open] Time#strftime で %z 指定子などに大きな幅を指定した際の不具合 — tadayoshi funaba <redmine@...>
6 messages
2011/03/02
[#43296] [Ruby 1.9 - Bug #3990] [Assigned]tests of rexml/rss reports many errors and failures without iconv — Yui NARUSE <redmine@...>
5 messages
2011/03/03
[#43297] Re: [Ruby 1.9 - Bug #3990] [Assigned]tests of rexml/rss reports many errors and failures without iconv
— SASADA Koichi <ko1@...>
2011/03/03
(2011/03/03 18:56), Yui NARUSE wrote:
[#43298] Re: [Ruby 1.9 - Bug #3990] [Assigned]tests of rexml/rss reports many errors and failures without iconv
— "U.Nakamura" <usa@...>
2011/03/03
こんにちは、なかむら(う)です。
[#43317] [Ruby 1.9 - Bug #4474][Open] 複数のスレッドからトランザクションに入ろうとした場合のPStoreの挙動 — Masaki Matsushita <redmine@...>
9 messages
2011/03/06
[#43346] [BUG] lib/irb/locale.rb — keiju@... (Keiju ISHITSUKA)
けいじゅ@いしつかです.
8 messages
2011/03/24
[#43347] Re: [BUG] lib/irb/locale.rb
— Yugui <yugui@...>
2011/03/24
2011/3/24 Keiju ISHITSUKA <[email protected]>:
[#43355] [Ruby 1.9 - Feature #4529][Assigned] date_core と long 型 — Yui NARUSE <redmine@...>
10 messages
2011/03/25
[#43359] [Ruby 1.9 - Feature #4529][Rejected] date_core と long 型
— tadayoshi funaba <redmine@...>
2011/03/26
[#43360] Re: [ruby-dev:43359] [Ruby 1.9 - Feature #4529][Rejected] date_core と long 型
— "NARUSE, Yui" <naruse@...>
2011/03/26
(2011/03/26 19:21), tadayoshi funaba wrote:
[#43365] [Ruby 1.9 - Bug #4536][Open] 定数参照について1.8と1.9の違い — Yukihiro Matsumoto <matz@...>
11 messages
2011/03/29
[#43366] Re: [ruby-dev:43365] [Ruby 1.9 - Bug #4536][Open] 定数参照について1.8と1.9の違い
— SASADA Koichi <ko1@...>
2011/03/29
ささだです.
[ruby-dev:43321] Re: iseq_compile_each()でのマジックナンバ
From:
Yusuke ENDOH <mame@...>
Date:
2011-03-06 13:53:30 UTC
List:
ruby-dev #43321
遠藤です。 2011年3月6日12:17 SASADA Koichi <[email protected]>: > (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 が動くからいい > か,と思って,もっとちゃんとしないといかんなぁ,と思って書いていたんじゃ > ないかと思います. いや、元はもっとひどいコードだったんですよ。 /* TODO: Dirty Hack! Fix me */ if (entry->type == CATCH_TYPE_RESCUE || entry->type == CATCH_TYPE_BREAK || (((ptr[0] & 0x10000) == 0) && entry->type == CATCH_TYPE_NEXT)) { entry->sp--; } rescue と break と next には引数があるという共通点があるので、 現状のコードはそれなりに妥当だと思います。 0x10000 なんてマジックナンバーではなく CATCH_TYPE_NEXT_WITH_NO_ARG とか CATCH_TYPE_NEXT_FOR_WHILE とか別のラベルを定義していれば Dirty とまでは思わなかったですが。 # ちなみに当時の IRC ログ抜粋 13:44:10 <ko1_ndk> catch_type を増やしたらもっと単純になる? 13:46:19 <mame> next をキャッチするけど引数をスタックに載せない catch_type と載せる catch_type ですか 13:46:41 <ko1_ndk> そうそう 13:47:37 <mame> どっちが幸せなのかなあ 13:50:49 <mame> そもそも while の中の next の引数が無意味で気持ち悪い > 実行時の sp の遷移は,もうちょっとフォーマルにきっちり決められるように > したいなぁ,と思っていたりして,放ったらかしです(今は,バグがあったらア > ドホックに直す,って感じ).遠藤さんがきっちり決まるように,色々変更して > くれた版があったと思うんだけど,大きすぎて reject しちゃったんですかね. 正式に提案したかどうか覚えてないですが、sp 遷移関係のバグを 撲滅できる (+ コードがきれいになる) 程度のメリットしかなかっ たので、積極的に取り入れる理由がない、とかだった気がします。 > 本当は,フローグラフかなんかをきちんと作って,きっちりしたいところなん > ですが. いちいちメモリ上にグラフを構成まではしないものの、sp をきっ ちり決めるという私のパッチはそういうパッチだったはず。 コンパイラのコードでフローを表現しているという意味で。 -- Yusuke Endoh <[email protected]>