diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-14 09:23:54 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-14 09:23:54 +0000 |
commit | 87a120fbdc25544135e8d625e8dc11950b7245a3 (patch) | |
tree | c23668533bf769b504a5d4262a8b5f4e00564acc /internal.h | |
parent | 4dd06525612585fc592abb935b2ac6c74c908e1f (diff) | |
download | ruby-87a120fbdc25544135e8d625e8dc11950b7245a3.tar.gz |
* 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.h | 3 |
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(); |