aboutsummaryrefslogtreecommitdiffstats
path: root/vm_insnhelper.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-03-08 21:44:00 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-03-08 21:44:00 +0000
commit2262aba6a282aaad0ac7fedee9101e7927c48a4b (patch)
tree819bf385336da93d03a751e930d68790d9cda695 /vm_insnhelper.c
parent8dced4d2c0f284bd17a3cb4a4fbed6d459cc71e0 (diff)
downloadruby-2262aba6a282aaad0ac7fedee9101e7927c48a4b.tar.gz
* vm_insnhelper.c (lep_svar_set): add WBs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r--vm_insnhelper.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index e0db79902f..3dce39d16a 100644
--- a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -196,21 +196,21 @@ lep_svar_set(rb_thread_t *th, VALUE *lep, rb_num_t key, VALUE val)
else if (nd_type(svar) == NODE_CREF) {
const rb_cref_t *cref = (rb_cref_t *)svar;
svar = *svar_place = NEW_IF(Qnil, Qnil, Qnil);
- svar->nd_reserved = (VALUE)cref;
+ RB_OBJ_WRITE(svar, &svar->nd_reserved, (VALUE)cref);
}
switch (key) {
case VM_SVAR_LASTLINE:
- svar->u1.value = val;
+ RB_OBJ_WRITE(svar, &svar->u1.value, val);
return;
case VM_SVAR_BACKREF:
- 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 - VM_SVAR_EXTRA_START, val);
}