diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | gc.c | 12 | ||||
-rw-r--r-- | internal.h | 2 |
3 files changed, 14 insertions, 4 deletions
@@ -1,3 +1,7 @@ +Thu Mar 19 16:18:00 2015 Koichi Sasada <ko1@atdot.net> + + * gc.c, internal.h: export rb_gc_verify_internal_consistency(). + Thu Mar 19 16:15:24 2015 Koichi Sasada <ko1@atdot.net> * gc.c (obj_info): show allocation site if GC_DEBUG is not 0. @@ -4413,9 +4413,7 @@ gc_mark_stacked_objects(rb_objspace_t *objspace, int incremental, size_t count) #endif } - if (RGENGC_CHECK_MODE >= 3) { - gc_verify_internal_consistency(Qnil); - } + if (RGENGC_CHECK_MODE >= 3) gc_verify_internal_consistency(Qnil); if (is_mark_stack_empty(mstack)) { shrink_stack_chunk_cache(mstack); @@ -4952,7 +4950,7 @@ gc_verify_heap_pages(rb_objspace_t *objspace) * if RGenGC is supported. */ static VALUE -gc_verify_internal_consistency(VALUE self) +gc_verify_internal_consistency(VALUE dummy) { rb_objspace_t *objspace = &rb_objspace; struct verify_internal_consistency_struct data = {0}; @@ -5029,6 +5027,12 @@ gc_verify_internal_consistency(VALUE self) return Qnil; } +void +rb_gc_verify_internal_consistency(void) +{ + gc_verify_internal_consistency(Qnil); +} + /* marks */ static void diff --git a/internal.h b/internal.h index f8b54c0058..317e2e4072 100644 --- a/internal.h +++ b/internal.h @@ -1291,6 +1291,8 @@ st_table *rb_st_copy(VALUE obj, struct st_table *orig_tbl); /* gc.c (export) */ size_t rb_obj_memsize_of(VALUE); +void rb_gc_verify_internal_consistency(void); + #define RB_OBJ_GC_FLAGS_MAX 5 size_t rb_obj_gc_flags(VALUE, ID[], size_t); void rb_gc_mark_values(long n, const VALUE *values); |