Use memset() to clear stack unless MRB_NAN_BOXING.

This commit is contained in:
Yukihiro "Matz" Matsumoto
2020-08-06 11:26:54 +09:00
parent 755233ef7d
commit 57a798e687
+3 -7
View File
@@ -102,17 +102,13 @@ void mrb_method_missing(mrb_state *mrb, mrb_sym name, mrb_value self, mrb_value
static inline void
stack_clear(mrb_value *from, size_t count)
{
#ifndef MRB_NAN_BOXING
const mrb_value mrb_value_zero = { { 0 } };
while (count-- > 0) {
*from++ = mrb_value_zero;
}
#else
#ifdef MRB_NAN_BOXING
while (count-- > 0) {
SET_NIL_VALUE(*from);
from++;
}
#else
memset(from, 0, sizeof(mrb_value)*count);
#endif
}