summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
authorMasaki Muranaka <[email protected]>2012-10-24 17:00:54 +0900
committerMasaki Muranaka <[email protected]>2012-10-25 15:47:45 +0900
commit1933e2660c86c0731806993a9a212116bb454622 (patch)
tree8d0809bef8d017b49638eb1e849671c8a642a5cc /src/vm.c
parentf5b6f03c9e802702c6f5f74bc3e778f3c4d8baca (diff)
downloadmruby-1933e2660c86c0731806993a9a212116bb454622.tar.gz
mruby-1933e2660c86c0731806993a9a212116bb454622.zip
Use substitution instead of memset in structure initialization.
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/vm.c b/src/vm.c
index 693e2413a..120e0d4c0 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -100,15 +100,16 @@ stack_extend(mrb_state *mrb, int room, int keep)
envadjust(mrb, oldbase, mrb->stbase);
}
if (room > keep) {
-#ifndef MRB_NAN_BOXING
- memset(mrb->stack+keep, 0, sizeof(mrb_value) * (room-keep));
-#else
int i;
for (i=keep; i<room; i++) {
+#ifndef MRB_NAN_BOXING
+ static const mrb_value mrb_value_zero = { { 0 } };
+ mrb->stack[i] = mrb_value_zero;
+#else
SET_NIL_VALUE(mrb->stack[i]);
- }
#endif
+ }
}
}