[#37248] [Feature:1.9] Enumerator#inspect — "Yusuke ENDOH" <mame@...>

遠藤です。

12 messages 2008/12/02

[#37337] [Feature #841] Object#self — "rubikitch ." <redmine@...>

Feature #841: Object#self

13 messages 2008/12/09

[#37513] Current status of 1.9.1 RC1's issues — "Yugui (Yuki Sonoda)" <yugui@...>

Hi, folks

14 messages 2008/12/20
[#37516] Re: Current status of 1.9.1 RC1's issues — Masatoshi SEKI <m_seki@...> 2008/12/20

咳といいます。

[#37576] [BUG:trunk] encoding for stdio's — "Yugui (Yuki Sonoda)" <yugui@...>

Yuguiです。

11 messages 2008/12/24

[ruby-dev:37651] Re: [Bug #943] Segmentation fault (cygwin)

From: SASADA Koichi <ko1@...>
Date: 2008-12-29 08:19:31 UTC
List: ruby-dev #37651
 ささだです.

Martin Duerst wrote::
> 以下の修正で上記の問題も [ruby-dev:37611] も直っています。
> というのは、Segmentation fault から SystemStackError に
> 変わっただけです。その方がいいですので、是非下記のパッチを
> コミットしてください。
> 
> しかし、真っ平らなデータを読み込むだけでスタックがこんなに伸びる
> のはなぜでしょうか。上記のスクリプトを
> 
> ruby -e 'puts "A=[]"; 0.upto(1000000) { puts "A<<[22, 55]" }' | ruby
> 
> に直すと、時間がかかるものの、問題なく完成されます。

 [e1, e2, ..., eN] というリテラルは,一度 e1, e2, ..., eN を全部スタッ
クに積んで,スタック上の値を利用して配列を作ります.そのため,スタック
オーバーフローになります.

 上記例のように,空の配列を作って,それに push するように変更することも
可能ですが,それを出来るようにしたほうがいいですかねぇ.するにしても,
1.9.2 で命令追加ってことになると思いますが.そう変更したら,ちょっと速度
が遅くなるってくらいかなぁ.

-- 
// SASADA Koichi at atdot dot net

In This Thread