From 23b1a3d3fa8ec7d5e6f4d9f89540207682502c66 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 14 Aug 2010 06:11:03 +0000 Subject: * gc.h (rb_objspace_each_objects): used in objspace. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 +++- ext/objspace/objspace.c | 5 +---- gc.h | 17 +++++++++++++++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2f128f32bc..c2b62fd5f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,6 @@ -Sat Aug 14 14:58:13 2010 Nobuyoshi Nakada +Sat Aug 14 15:11:01 2010 Nobuyoshi Nakada + + * gc.h (rb_objspace_each_objects): used in objspace. * vm_core.h (rb_{get,set,reset}_coverages): used in coverage. diff --git a/ext/objspace/objspace.c b/ext/objspace/objspace.c index 817380f83c..32b5b1ee41 100644 --- a/ext/objspace/objspace.c +++ b/ext/objspace/objspace.c @@ -28,6 +28,7 @@ #include #include #include <../../node.h> +#include <../../gc.h> size_t rb_str_memsize(VALUE); size_t rb_ary_memsize(VALUE); @@ -36,10 +37,6 @@ size_t onig_memsize(regex_t *); size_t rb_generic_ivar_memsize(VALUE); size_t rb_objspace_data_type_memsize(VALUE obj); -void rb_objspace_each_objects( - int (*callback)(void *start, void *end, size_t stride, void *data), - void *data); - static size_t memsize_of(VALUE obj) { diff --git a/gc.h b/gc.h index 439f8d349c..4d3132a9ca 100644 --- a/gc.h +++ b/gc.h @@ -21,13 +21,13 @@ NOINLINE(void rb_gc_set_stack_end(VALUE **stack_end_p)); #if RUBY_MARK_FREE_DEBUG extern int ruby_gc_debug_indent; -static void +static inline void rb_gc_debug_indent(void) { printf("%*s", ruby_gc_debug_indent, ""); } -static void +static inline void rb_gc_debug_body(const char *mode, const char *msg, int st, void *ptr) { if (st == 0) { @@ -82,4 +82,17 @@ int ruby_get_stack_grow_direction(volatile VALUE *addr); #define STACK_DIR_UPPER(a,b) STACK_UPPER(&stack_grow_dir_detection, a, b) #endif +#if defined __GNUC__ && __GNUC__ >= 4 +#pragma GCC visibility push(default) +#endif + +size_t rb_objspace_data_type_memsize(VALUE obj); +void rb_objspace_each_objects( + int (*callback)(void *start, void *end, size_t stride, void *data), + void *data); + +#if defined __GNUC__ && __GNUC__ >= 4 +#pragma GCC visibility pop +#endif + #endif /* RUBY_GC_H */ -- cgit v1.2.3