From: Shugo Maeda Date: 2005-03-17T00:14:14+09:00 Subject: [ruby-dev:25928] Re: C level set_trace_func This is a multi-part message in MIME format. --------------010802060809020505000003 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit 前田です。 Yukihiro Matsumoto wrote: > |Cレベルのインタフェイスのドキュメントはどこに書くのがいいでしょうか。 > > README.EXTかな。 ドキュメントを追加してcommitしました。 > |えっと、メソッドから脱出した時点でそのメソッドの実行時間の記録を終了 > |しないといけないのですが、現状ではraiseはフックできますがrescueは > |フックできないので、どのレベルのメソッドまでジャンプしたのかが > |わかりません。 > |現状では"line"でがんばるしかないのかなと思いますが、profile.rbは > |そこまでしてないようですね。 > > あらら、それに対応するためにreturn_jump()の中で > call_trace_func("return")していたつもりだったんだけど、うま > くいってないってことかなあ。あ、最初の一段しか呼んでないか。 まつもとさんと口頭で話して、そもそも例外の時にreturn_jump()まで辿り 着かないのが問題なので、例外の場合もかならずcall_trace_func("return") が呼ばれるようにまつもとさんに修正していただきました。 が、"c-return"が呼ばれなくなっているバグがありましたので、修正して commitしました。 あと、1.8用のパッチの扱いなんですが、(Rubyの)仕様には変更がないので 問題はないかも...ということで、ruby_1_8ブランチにcommitするかどうか の判断は私に任されました。 異論がなければcommitしたいと思いますが、みなさん、いかがでしょうか。 今のruby_1_8ブランチの先端用のパッチを添付します。 -- 前田 修吾 --------------010802060809020505000003 Content-Type: application/x-gzip; name="event-hook-1.8.diff.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="event-hook-1.8.diff.gz" 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 --------------010802060809020505000003--