summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-06-21 09:15:27 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-06-21 09:15:27 +0000
commit79cd4bfaf80c06127d7215949c1c05d01fc74889 (patch)
treebe9cc8c9e0edb037a137fcd17e18c134816d74d0
parente4d2470612d0de50e7d8600e35c5ad7adfe34451 (diff)
merges r23693 from trunk into ruby_1_9_1.
-- * gc.c (os_obj_of): invoke garbage collection before iteration, to avoid accessing half recycled object references. [ruby-dev:38613] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--gc.c4
-rw-r--r--version.h2
3 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f5300123bd..af447f81f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jun 15 17:48:42 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * gc.c (os_obj_of): invoke garbage collection before iteration, to
+ avoid accessing half recycled object references. [ruby-dev:38613]
+
Sat Jun 13 07:06:54 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_eval.c (rb_f_catch): updated rdoc about generalized argument,
diff --git a/gc.c b/gc.c
index c9e9a520dd..bcdc9af0bc 100644
--- a/gc.c
+++ b/gc.c
@@ -85,6 +85,7 @@ void *alloca ();
int ruby_gc_debug_indent = 0;
#undef GC_DEBUG
+#define GC_DEBUG
/* for GC profile */
#define GC_PROFILE_MORE_DETAIL 0
@@ -266,7 +267,7 @@ typedef struct RVALUE {
struct RComplex complex;
} as;
#ifdef GC_DEBUG
- char *file;
+ const char *file;
int line;
#endif
} RVALUE;
@@ -2164,6 +2165,7 @@ os_obj_of(rb_objspace_t *objspace, VALUE of)
RVALUE *p, *pend;
volatile VALUE v;
+ rb_garbage_collect();
i = 0;
while (i < heaps_used) {
while (0 < i && (uintptr_t)membase < (uintptr_t)heaps[i-1].membase)
diff --git a/version.h b/version.h
index 70bebf44c8..cd53f13477 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "1.9.1"
#define RUBY_RELEASE_DATE "2009-05-22"
-#define RUBY_PATCHLEVEL 177
+#define RUBY_PATCHLEVEL 178
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 9
#define RUBY_VERSION_TEENY 1