[#38563] [Bug #1556] irb does not save history from 1.8.7-p83 and later — Nobuhiro IMAI <redmine@...>

Bug #1556: irb does not save history from 1.8.7-p83 and later

11 messages 2009/06/02

[#38571] [Bug #1582] IO.new Raises Other Errors between 1.8 and 1.9 — "ujihisa ." <redmine@...>

Bug #1582: IO.new Raises Other Errors between 1.8 and 1.9

15 messages 2009/06/05

[#38607] [Feature: trunk] GC.stat — SASADA Koichi <ko1@...>

 ささだです.

21 messages 2009/06/14

[#38608] Fixnum#fdiv — Tadayoshi Funaba <tadf@...>

Bignum#fdiv には大きな数である場合の配慮があるようですが、Fixnum ではな

23 messages 2009/06/14
[#38636] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/15

fdiv では2つの異る解釈が混在しているように見えます。

[#38638] Re: Fixnum#fdiv — Yukihiro Matsumoto <matz@...> 2009/06/15

まつもと ゆきひろです

[#38639] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/15

> えーと、設計者は「fdivは結果がfloatになるdiv」くらいしか考え

[#38640] Re: Fixnum#fdiv — Yukihiro Matsumoto <matz@...> 2009/06/15

まつもと ゆきひろです

[#38641] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/15

> ふむ。「中途半端」というのはfixnumとbignumで食い違うと言う意

[#38657] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/16

> > ふむ。「中途半端」というのはfixnumとbignumで食い違うと言う意

[#38659] Re: Fixnum#fdiv — Yukihiro Matsumoto <matz@...> 2009/06/16

まつもと ゆきひろです

[#38660] Re: Fixnum#fdiv — Tadayoshi Funaba <tadf@...> 2009/06/16

> 私が気にしているのは「挙動の理解しやすさ」ですね。

[#38701] [Bug #1676] only last "return" is traced by set_trace_func — _ wanabe <redmine@...>

Bug #1676: only last "return" is traced by set_trace_func

10 messages 2009/06/22

[ruby-dev:38709] trace 命令でのメソッドID/クラスの引渡し

From: wanabe <s.wanabe@...>
Date: 2009-06-24 00:45:44 UTC
List: ruby-dev #38709
ワナベと申します。

trace 命令でイベントフックが呼び出されるときに
メソッド ID とクラスを渡すようにしていただけると
拡張ライブラリ等でもそれらが取得できてありがたいです。
rb_thread_method_id_and_classの実装をそのまま用いたパッチを添付します。

Index: insns.def
===================================================================
--- insns.def   (revision 23834)
+++ insns.def   (working copy)
@@ -852,8 +852,11 @@
 ()
 {
     rb_event_flag_t flag = nf;
+    ID id = 0;
+    VALUE klass = 0;

-    EXEC_EVENT_HOOK(th, flag, GET_SELF(), 0, 0 /* TODO: id, klass */);
+    rb_vm_method_id_and_class(GET_CFP(), &id, &klass);
+    EXEC_EVENT_HOOK(th, flag, GET_SELF(), id, klass);
 }

 /**********************************************************/
Index: vm.c
===================================================================
--- vm.c        (revision 23834)
+++ vm.c        (working copy)
@@ -1317,10 +1317,9 @@
 }

 int
-rb_thread_method_id_and_class(rb_thread_t *th,
-                             ID *idp, VALUE *klassp)
+rb_vm_method_id_and_class(rb_control_frame_t *cfp,
+                         ID *idp, VALUE *klassp)
 {
-    rb_control_frame_t *cfp = th->cfp;
     rb_iseq_t *iseq = cfp->iseq;
     if (!iseq) {
        if (idp) *idp = cfp->method_id;
@@ -1347,6 +1346,13 @@
 }

 int
+rb_thread_method_id_and_class(rb_thread_t *th,
+                             ID *idp, VALUE *klassp)
+{
+    return rb_vm_method_id_and_class(th->cfp, idp, klassp);
+}
+
+int
 rb_frame_method_id_and_class(ID *idp, VALUE *klassp)
 {
     return rb_thread_method_id_and_class(GET_THREAD(), idp, klassp);

-- 
ワナベ

In This Thread

Prev Next