aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-08-14 06:11:03 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-08-14 06:11:03 +0000
commit23b1a3d3fa8ec7d5e6f4d9f89540207682502c66 (patch)
treec85bfd7c063619126e8dcac10cd41c6064370ae7
parenta33fdc4ec0e8110a7fe3581e1ee37b871efbdce3 (diff)
downloadruby-23b1a3d3fa8ec7d5e6f4d9f89540207682502c66.tar.gz
* 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
-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 */