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-29 11:29:57 +0900
commitf3090c3000a469475385f2bb861a6ad7e7f635ae (patch)
tree7a6856692ce65dcc0b5e216f497888b2621eae29 /src/vm.c
parentf5b6f03c9e802702c6f5f74bc3e778f3c4d8baca (diff)
downloadmruby-f3090c3000a469475385f2bb861a6ad7e7f635ae.tar.gz
mruby-f3090c3000a469475385f2bb861a6ad7e7f635ae.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
+ }
}
}