Skip to content

Commit

Permalink
variable.c (rb_st_insert_id_and_value): reduce args
Browse files Browse the repository at this point in the history
Minor simplification; this will hopefully make future patches
for switching to id_table easier-to-review.

* internal.h (rb_st_insert_id_and_value): update prototype
* variable.c (rb_st_insert_id_and_value): reduce args
  (find_class_path): adjust call for less args
  (rb_ivar_set): ditto
  (rb_cvar_set): ditto
* class.c (rb_singleton_class_attached): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
normal committed Oct 30, 2015
1 parent 57880d7 commit a666e9b
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 8 deletions.
9 changes: 9 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
Fri Oct 30 10:37:56 2015 Eric Wong <e@80x24.org>

* internal.h (rb_st_insert_id_and_value): update prototype
* variable.c (rb_st_insert_id_and_value): reduce args
(find_class_path): adjust call for less args
(rb_ivar_set): ditto
(rb_cvar_set): ditto
* class.c (rb_singleton_class_attached): ditto

Fri Oct 30 09:57:22 2015 SHIBATA Hiroshi <hsbt@ruby-lang.org>

* gems/bundled_gems: update latest gems.
Expand Down
2 changes: 1 addition & 1 deletion class.c
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ rb_singleton_class_attached(VALUE klass, VALUE obj)
if (!RCLASS_IV_TBL(klass)) {
RCLASS_IV_TBL(klass) = st_init_numtable();
}
rb_st_insert_id_and_value(klass, RCLASS_IV_TBL(klass), id_attached, obj);
rb_st_insert_id_and_value(klass, id_attached, obj);
}
}

Expand Down
2 changes: 1 addition & 1 deletion internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -1318,7 +1318,7 @@ void rb_gc_mark_global_tbl(void);
void rb_mark_generic_ivar(VALUE);
VALUE rb_const_missing(VALUE klass, VALUE name);

int rb_st_insert_id_and_value(VALUE obj, st_table *tbl, ID key, VALUE value);
int rb_st_insert_id_and_value(VALUE obj, ID key, VALUE value);
st_table *rb_st_copy(VALUE obj, struct st_table *orig_tbl);

/* gc.c (export) */
Expand Down
11 changes: 5 additions & 6 deletions variable.c
Original file line number Diff line number Diff line change
Expand Up @@ -158,8 +158,7 @@ find_class_path(VALUE klass, ID preferred)
if (!RCLASS_IV_TBL(klass)) {
RCLASS_IV_TBL(klass) = st_init_numtable();
}
rb_st_insert_id_and_value(klass, RCLASS_IV_TBL(klass),
(st_data_t)classpath, arg.path);
rb_st_insert_id_and_value(klass, (st_data_t)classpath, arg.path);

st_delete(RCLASS_IV_TBL(klass), &tmp, 0);
return arg.path;
Expand Down Expand Up @@ -1412,7 +1411,7 @@ rb_ivar_set(VALUE obj, ID id, VALUE val)
case T_CLASS:
case T_MODULE:
if (!RCLASS_IV_TBL(obj)) RCLASS_IV_TBL(obj) = st_init_numtable();
rb_st_insert_id_and_value(obj, RCLASS_IV_TBL(obj), (st_data_t)id, val);
rb_st_insert_id_and_value(obj, (st_data_t)id, val);
break;
default:
generic_ivar_set(obj, id, val);
Expand Down Expand Up @@ -2804,8 +2803,7 @@ rb_cvar_set(VALUE klass, ID id, VALUE val)
RCLASS_IV_TBL(target) = st_init_numtable();
}

rb_st_insert_id_and_value(target, RCLASS_IV_TBL(target),
(st_data_t)id, (st_data_t)val);
rb_st_insert_id_and_value(target, (st_data_t)id, (st_data_t)val);
}

VALUE
Expand Down Expand Up @@ -3034,8 +3032,9 @@ rb_iv_set(VALUE obj, const char *name, VALUE val)

/* tbl = xx(obj); tbl[key] = value; */
int
rb_st_insert_id_and_value(VALUE obj, st_table *tbl, ID key, VALUE value)
rb_st_insert_id_and_value(VALUE obj, ID key, VALUE value)
{
st_table *tbl = RCLASS_IV_TBL(obj);
int result = st_insert(tbl, (st_data_t)key, (st_data_t)value);
RB_OBJ_WRITTEN(obj, Qundef, value);
return result;
Expand Down

0 comments on commit a666e9b

Please sign in to comment.