summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--ext/objspace/object_tracing.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index d860483270..d61c10a199 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Thu Oct 17 08:08:11 2013 Koichi Sasada <ko1@atdot.net>
+
+ * ext/objspace/object_tracing.c (newobj_i): add workaround.
+ some bugs hits this check.
+
+ * ext/objspace/object_tracing.c (object_allocations_reporter_i): cast as pointer.
+
Thu Oct 17 07:36:53 2013 Eric Hodel <drbrain@segment7.net>
* lib/rubygems: Update to RubyGems master 2abce58. Changes:
diff --git a/ext/objspace/object_tracing.c b/ext/objspace/object_tracing.c
index 24d48d0afd..9de9724400 100644
--- a/ext/objspace/object_tracing.c
+++ b/ext/objspace/object_tracing.c
@@ -99,7 +99,7 @@ newobj_i(VALUE tpval, void *data)
const char *class_path_cstr = RTEST(class_path) ? make_unique_str(arg->str_table, RSTRING_PTR(class_path), RSTRING_LEN(class_path)) : 0;
if (arg->keep_remains && st_lookup(arg->object_table, (st_data_t)obj, (st_data_t *)&info)) {
- if (info->living) rb_bug("newobj_i: reuse living object: %p", (void *)obj);
+ if (0 /* workaround */) if (info->living) rb_bug("newobj_i: reuse living object: %p", (void *)obj);
delete_unique_str(arg->str_table, info->path);
delete_unique_str(arg->str_table, info->class_path);
}
@@ -294,7 +294,7 @@ object_allocations_reporter_i(st_data_t key, st_data_t val, st_data_t ptr)
fprintf(out, "-- %p (%s F: %p, ", (void *)obj, info->living ? "live" : "dead", (void *)info->flags);
if (info->class_path) fprintf(out, "C: %s", info->class_path);
- else fprintf(out, "C: %p", info->klass);
+ else fprintf(out, "C: %p", (void *)info->klass);
fprintf(out, "@%s:%lu", info->path ? info->path : "", info->line);
if (!NIL_P(info->mid)) fprintf(out, " (%s)", rb_id2name(SYM2ID(info->mid)));
fprintf(out, ")\n");