From 8e4d69ade41440c86fdbb766c77145013f12a48d Mon Sep 17 00:00:00 2001 From: nagachika Date: Sun, 7 Apr 2013 15:11:15 +0000 Subject: [PATCH] merge revision(s) 39810: [Backport #8145] * gc.c: Fix unlimited memory growth with large values of RUBY_FREE_MIN. patched by tmm1(Aman Gupta). [Bug #8095] [ruby-core:53405] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ gc.c | 3 ++- version.h | 6 +++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5e7345511f..14e45301d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Apr 8 00:10:59 2013 Narihiro Nakamura + + * gc.c: Fix unlimited memory growth with large values of + RUBY_FREE_MIN. patched by tmm1(Aman Gupta). + [Bug #8095] [ruby-core:53405] + Sun Apr 7 22:27:12 2013 Narihiro Nakamura * gc.c: Avoid unnecessary heap growth. patched by tmm1(Aman Gupta). diff --git a/gc.c b/gc.c index acd9af95b0..faf1ea7a5a 100644 --- a/gc.c +++ b/gc.c @@ -1968,8 +1968,9 @@ before_gc_sweep(rb_objspace_t *objspace) objspace->heap.do_heap_free = (size_t)((heaps_used * HEAP_OBJ_LIMIT) * 0.65); objspace->heap.free_min = (size_t)((heaps_used * HEAP_OBJ_LIMIT) * 0.2); if (objspace->heap.free_min < initial_free_min) { - objspace->heap.do_heap_free = heaps_used * HEAP_OBJ_LIMIT; objspace->heap.free_min = initial_free_min; + if (objspace->heap.do_heap_free < initial_free_min) + objspace->heap.do_heap_free = initial_free_min; } objspace->heap.sweep_slots = heaps; objspace->heap.free_num = 0; diff --git a/version.h b/version.h index 6a853706b3..688d90d69a 100644 --- a/version.h +++ b/version.h @@ -1,10 +1,10 @@ #define RUBY_VERSION "2.0.0" -#define RUBY_RELEASE_DATE "2013-04-07" -#define RUBY_PATCHLEVEL 110 +#define RUBY_RELEASE_DATE "2013-04-08" +#define RUBY_PATCHLEVEL 111 #define RUBY_RELEASE_YEAR 2013 #define RUBY_RELEASE_MONTH 4 -#define RUBY_RELEASE_DAY 7 +#define RUBY_RELEASE_DAY 8 #include "ruby/version.h"