diff --git a/ChangeLog b/ChangeLog index a7cac76a14..cecf793dfe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Jun 17 11:39:15 2015 Koichi Sasada + + * vm_insnhelper.c (lep_svar_set): add WBs. + Tue Jun 9 16:29:49 2015 Eric Wong * ext/socket/ancdata.c: use RB_GC_GUARD instead of volatile diff --git a/version.h b/version.h index 613442b4f1..0cd0bbdfba 100644 --- a/version.h +++ b/version.h @@ -1,10 +1,10 @@ #define RUBY_VERSION "2.1.7" -#define RUBY_RELEASE_DATE "2015-06-09" -#define RUBY_PATCHLEVEL 366 +#define RUBY_RELEASE_DATE "2015-06-17" +#define RUBY_PATCHLEVEL 367 #define RUBY_RELEASE_YEAR 2015 #define RUBY_RELEASE_MONTH 6 -#define RUBY_RELEASE_DAY 9 +#define RUBY_RELEASE_DAY 17 #include "ruby/version.h" diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 20dc63f1e0..7a081d2b74 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -200,16 +200,16 @@ lep_svar_set(rb_thread_t *th, VALUE *lep, rb_num_t key, VALUE val) switch (key) { case 0: - svar->u1.value = val; + RB_OBJ_WRITE(svar, &svar->u1.value, val); return; case 1: - svar->u2.value = val; + RB_OBJ_WRITE(svar, &svar->u2.value, val); return; default: { VALUE ary = svar->u3.value; if (NIL_P(ary)) { - svar->u3.value = ary = rb_ary_new(); + RB_OBJ_WRITE(svar, &svar->u3.value, ary = rb_ary_new()); } rb_ary_store(ary, key - DEFAULT_SPECIAL_VAR_COUNT, val); }