aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--ext/objspace/objspace.c5
-rw-r--r--gc.h17
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 <nobu@ruby-lang.org>
+Sat Aug 14 15:11:01 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * 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 <ruby/io.h>
#include <ruby/re.h>
#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 */