[前][次][番号順一覧][スレッド一覧]

ruby-changes:22569

From: nari <ko1@a...>
Date: Wed, 15 Feb 2012 11:09:58 +0900 (JST)
Subject: [ruby-changes:22569] nari:r34618 (trunk): * gc.c (HEAP_BITMAP_LIMIT): HEAP_BITMAP_LIMIT is computed on the

nari	2012-02-15 11:09:44 +0900 (Wed, 15 Feb 2012)

  New Revision: 34618

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=34618

  Log:
    * gc.c (HEAP_BITMAP_LIMIT): HEAP_BITMAP_LIMIT is computed on the
      basis of HEAP_SIZE because it must covers a whole heap block.
      [ruby-trunk - Bug #6006]

  Modified files:
    trunk/ChangeLog
    trunk/gc.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 34617)
+++ ChangeLog	(revision 34618)
@@ -1,3 +1,9 @@
+Wed Feb 15 10:59:52 2012  Narihiro Nakamura  <authornari@g...>
+
+	* gc.c (HEAP_BITMAP_LIMIT): HEAP_BITMAP_LIMIT is computed on the
+	  basis of HEAP_SIZE because it must covers a whole heap block.
+	  [ruby-trunk - Bug #6006]
+
 Wed Feb 15 09:27:45 2012  Eric Hodel  <drbrain@s...>
 
 	* ext/zlib/zlib.c (Init_zlib):  Added Zlib::FIXED and Zlib::RLE
Index: gc.c
===================================================================
--- gc.c	(revision 34617)
+++ gc.c	(revision 34618)
@@ -547,7 +547,7 @@
 #define CEILDIV(i, mod) (((i) + (mod) - 1)/(mod))
 
 #define HEAP_OBJ_LIMIT (unsigned int)((HEAP_SIZE - sizeof(struct heaps_header))/sizeof(struct RVALUE))
-#define HEAP_BITMAP_LIMIT CEILDIV(HEAP_OBJ_LIMIT, sizeof(uintptr_t)*8)
+#define HEAP_BITMAP_LIMIT CEILDIV(CEILDIV(HEAP_SIZE, sizeof(struct RVALUE)), sizeof(uintptr_t)*8)
 
 #define GET_HEAP_HEADER(x) (HEAP_HEADER(((uintptr_t)x) & ~(HEAP_ALIGN_MASK)))
 #define GET_HEAP_SLOT(x) (GET_HEAP_HEADER(x)->base)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]