[#20392] [BigDecimal] proposal to change specification — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤と申します。

25 messages 2003/06/20
[#20407] Re: [BigDecimal] proposal to change specification — "Shigeo Kobayashi" <shigeo@...> 2003/06/22

小林です。

[#20447] [BigDecimal] renaming proposal — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

47 messages 2003/06/24
[#20621] Re: [BigDecimal] renaming proposal — "Shigeo Kobayashi" <shigeo@...> 2003/07/11

小林@MAILチェック中です。

[#20628] Re: [BigDecimal] renaming proposal — "Shigeo Kobayashi" <shigeo@...> 2003/07/11

小林です。

[ruby-dev:20479] Re: 原因不明のSEGV

From: nobu.nakada@...
Date: 2003-06-27 13:48:28 UTC
List: ruby-dev #20479
なかだです。

At Fri, 27 Jun 2003 22:38:54 +0900,
Yukihiro Matsumoto wrote:
> |> また〆切と戦っています。
> |
> |じゃあ+1した理由を今思い出してもらうのは無理?
> 
> 〆切を片付けて改めて考えてみるのですが、例によってどうにも思
> い出せません。
> 
> 変更は
> 
> Fri Jun 11 15:21:21 1999  Yukihiro Matsumoto  <matz@netlab.co.jp>
> 
>         * gc.c (rb_gc_mark_locations): add safety margin 1.
> 
> と記録されているもののようです。この辺のリストをあさってみる
> となにか分かるかな。

漁ってはみたんですが、それらしいものは見付かりませんでした。

どうせマージン持たせるなら、いっそこのくらいしてはどうでしょう
か。


Index: gc.c
===================================================================
RCS file: /cvs/ruby/src/ruby/gc.c,v
retrieving revision 1.48.2.35
diff -u -2 -p -r1.48.2.35 gc.c
--- gc.c	23 Mar 2003 10:55:39 -0000	1.48.2.35
+++ gc.c	27 Jun 2003 13:16:29 -0000
@@ -435,5 +435,5 @@ rb_gc_mark_locations(start, end)
 	end = tmp;
     }
-    n = end - start + 1;
+    n = end - start;
     mark_locations_array(start,n);
 }
@@ -1096,4 +1096,8 @@ stack_growup_p(addr)
 #endif
 
+#define STACK_ROUND_MASK    0xff
+#define STACK_ROUND_DOWN(p) (VALUE *)((VALUE)(p) & ~STACK_ROUND_MASK)
+#define STACK_ROUND_UP(p)   STACK_ROUND_DOWN((VALUE)(p) + STACK_ROUND_MASK)
+
 void
 Init_stack(addr)
@@ -1107,8 +1111,10 @@ Init_stack(addr)
     if (rb_gc_stack_start) {
 	if (stack_growup_p(addr)) {
+	    addr = STACK_ROUND_DOWN(addr);
 	    if (rb_gc_stack_start > addr)
 		rb_gc_stack_start = addr;
 	}
 	else {
+	    addr = STACK_ROUND_UP(addr);
 	    if (rb_gc_stack_start < addr)
 		rb_gc_stack_start = addr;


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread