[#38121] regex performace tuning and ABI compatibility — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

13 messages 2009/03/03

[#38191] big time — Tanaka Akira <akr@...>

思い立って、time_t を越える範囲を Time で扱うことに挑戦して

31 messages 2009/03/27
[#38194] Re: big time — Tadayoshi Funaba <tadf@...> 2009/03/28

> 思い立って、time_t を越える範囲を Time で扱うことに挑戦して

[#38196] Re: big time — Tanaka Akira <akr@...> 2009/03/28

In article <20090328.134401.209982445.tadf@dotrb.org>,

[#38202] Re: big time — Urabe Shyouhei <shyouhei@...> 2009/03/29

卜部です。

[#38205] Re: big time — Tanaka Akira <akr@...> 2009/03/29

In article <49CF6641.7010204@ruby-lang.org>,

[#38218] rinda/eval.rb — Masatoshi SEKI <m_seki@...>

咳といいます。

20 messages 2009/03/30
[#38219] Re: rinda/eval.rb — Tanaka Akira <akr@...> 2009/03/31

In article <F01982B3-FBB5-497F-BA36-38FA250E7D69@mva.biglobe.ne.jp>,

[#38223] Re: rinda/eval.rb — Masatoshi SEKI <m_seki@...> 2009/03/31

咳といいます。

[#38229] Re: rinda/eval.rb — "U.Nakamura" <usa@...> 2009/04/01

こんにちは、なかむら(う)です。

[#38233] Re: rinda/eval.rb — Tanaka Akira <akr@...> 2009/04/01

In article <20090401095853.B00A.C613B076@garbagecollect.jp>,

[#38222] *BSD で fork できない理由 — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>

きしもとです

12 messages 2009/03/31

[ruby-dev:38185] [Bug #1310] HEAP_SIZE で不具合?

From: Narihiro Nakamura <redmine@...>
Date: 2009-03-22 13:48:24 UTC
List: ruby-dev #38185
チケット #1310 が更新されました。 (by Narihiro Nakamura)


nariです.

どうやら HEAP_SIZE が大きすぎると,追加する heap_slot 数の計算がおかしくなるようです.

以下の様に修正すると直りました.

宜しければコミットしたいのですがいかがでしょうか.

diff --git a/gc.c b/gc.c
index 835ef5d..8280ec1 100644
--- a/gc.c
+++ b/gc.c
@@ -922,6 +922,9 @@ init_heap(rb_objspace_t *objspace)
 
     add = HEAP_MIN_SLOTS / HEAP_OBJ_LIMIT;
 
+    if (add)
+        add = 1;
+
     if ((heaps_used + add) > heaps_length) {
        allocate_heaps(objspace, heaps_used + add);
     }
@@ -938,6 +941,10 @@ static void
 set_heaps_increment(rb_objspace_t *objspace)
 {
     size_t next_heaps_length = (size_t)(heaps_used * 1.8);
+
+    if (next_heaps_length == heaps_used)
+        next_heaps_length++;
+
     heaps_inc = next_heaps_length - heaps_used;
 
     if (next_heaps_length > heaps_length) {

---
Narihiro Nakmaura

----------------------------------------
http://redmine.ruby-lang.org/issues/show/1310

----------------------------------------
http://redmine.ruby-lang.org

In This Thread

Prev Next