summaryrefslogtreecommitdiff
path: root/gc.h
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 /gc.h
parenta33fdc4ec0e8110a7fe3581e1ee37b871efbdce3 (diff)
* 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
Diffstat (limited to 'gc.h')
-rw-r--r--gc.h17
1 files changed, 15 insertions, 2 deletions
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 */