[#34011] Should --verbose be equal to -v ? — Yugui <yugui@...>

Yuguiです。

15 messages 2008/03/10
[#34012] Re: Should --verbose be equal to -v ? — Yukihiro Matsumoto <matz@...> 2008/03/10

まつもと ゆきひろです

[#34105] rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...>

rational と complex が組み込みになったことで、lib/mathn.rb の意義は薄

29 messages 2008/03/22
[#34106] Re: rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...> 2008/03/22

現時点で rational.rb と complex.rb を残しているのは、それが無難だから

[#34107] Re: rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...> 2008/03/22

で、かなり選択肢を絞った叩き台です。

[#34120] Re: rational.rb, complex.rb and mathn.rb — keiju@... (石塚圭樹) 2008/03/24

けいじゅ@いしつかです.

[#34125] Re: rational.rb, complex.rb and mathn.rb — Shin-ichiro HARA <sinara@...> 2008/03/25

原です。

[#34130] Re: rational.rb, complex.rb and mathn.rb — Tadayoshi Funaba <tadf@...> 2008/03/25

> 私も Complex の組み込みは Rational とは比較にならないくらい、仕様が決め

[#34158] Complex組み込み — Masahiro TANAKA <masa16.tanaka@...>

Complexが組み込みになるそうですが、これはcomplex.rbを踏襲して、

49 messages 2008/03/27
[#34161] Re: Complex組み込み — Shin-ichiro HARA <sinara@...> 2008/03/28

原です。

[#34168] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/03/28

> 今までの Complex は、complex.rb にほぼ残して、たとえば Rational 成分

[#34186] Re: Complex組み込み — Shin-ichiro HARA <sinara@...> 2008/03/31

原です。

[#34187] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/03/31

> そうです。Complex が難しい、という話を書いておくと、

[#34193] Re: Complex組み込み — Yukihiro Matsumoto <matz@...> 2008/03/31

まつもと ゆきひろです

[#34203] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/04/01

> |僕としては、/ 演算子の振舞いについて前向きに検討してほしいです。

[#34215] Re: Complex組み込み — Yukihiro Matsumoto <matz@...> 2008/04/02

まつもと ゆきひろです

[#34166] Re: Complex組み込み — Tadayoshi Funaba <tadf@...> 2008/03/28

> となるようですが、別の実装として、

[ruby-dev:34071] procを組み合わせた再帰呼び出しで例外が投げられない

From: wanabe <s.wanabe@...>
Date: 2008-03-17 06:12:52 UTC
List: ruby-dev #34071
ワナベと申します。

MinGW上のHEADで以下のスクリプトを走らせると、何のエラーメッセージもなしに強制終了してしまいました。

def hoge(x)
  a=proc {|n| hoge(n - 1) if n > 0 }
  a.call(x)
end
hoge(100000)
puts "ok"

SystemStackErrorが投げられないのはおかしいと思い、一応パッチを書いてみました。
チェックのコストや、チェックする場所の妥当性、根本の問題などはよくわかっていません。
コンパイル時のオプションで対応する方がいいような気もしています。

Index: eval_intern.h
===================================================================
--- eval_intern.h       (revision 15787)
+++ eval_intern.h       (working copy)
@@ -187,7 +187,8 @@
 }

 #define CHECK_STACK_OVERFLOW(cfp, margin) do \
-  if (((VALUE *)(cfp)->sp) + (margin) + sizeof(rb_control_frame_t) >=
((VALUE *)cfp)) { \
+  if (((VALUE *)(cfp)->sp) + (margin) + sizeof(rb_control_frame_t) >=
((VALUE *)cfp) || ruby_stack_check()) { \
+      rb_thread_raised_set(GET_THREAD(), RAISED_STACKOVERFLOW); \
       rb_exc_raise(sysstack_error); \
   } \
 while (0)


-- 
ワナベ

In This Thread

Prev Next