summaryrefslogtreecommitdiff
path: root/internal.h
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-14 09:23:54 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-14 09:23:54 +0000
commit87a120fbdc25544135e8d625e8dc11950b7245a3 (patch)
treec23668533bf769b504a5d4262a8b5f4e00564acc /internal.h
parent4dd06525612585fc592abb935b2ac6c74c908e1f (diff)
* class.c, include/ruby/ruby.h: add write barriers for T_CLASS,
T_MODULE, T_ICLASS. * constant.h: constify rb_const_entry_t::value and file to detect assignment. * variable.c, internal.h (rb_st_insert_id_and_value, rb_st_copy): added. update table with write barrier. * method.h: constify some variables to detect assignment. * object.c (init_copy): add WBs. * variable.c: ditto. * vm_method.c (rb_add_method): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'internal.h')
-rw-r--r--internal.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/internal.h b/internal.h
index c6a895ac35..970c115424 100644
--- a/internal.h
+++ b/internal.h
@@ -473,6 +473,9 @@ void rb_gc_mark_global_tbl(void);
void rb_mark_generic_ivar(VALUE);
void rb_mark_generic_ivar_tbl(void);
+int rb_st_insert_id_and_value(VALUE obj, st_table *tbl, ID key, VALUE value);
+st_table *rb_st_copy(VALUE obj, struct st_table *orig_tbl);
+
/* gc.c */
size_t rb_gc_count();