diff --git a/vm/generic_arrays.hpp b/vm/generic_arrays.hpp index 6680838148..49ba31370c 100644 --- a/vm/generic_arrays.hpp +++ b/vm/generic_arrays.hpp @@ -38,19 +38,18 @@ Array* factor_vm::reallot_array(Array* array_, cell capacity) { if (reallot_array_in_place_p(array.untagged(), capacity)) { array->capacity = tag_fixnum(capacity); return array.untagged(); - } else { - cell to_copy = array_capacity(array.untagged()); - if (capacity < to_copy) - to_copy = capacity; - - Array* new_array = allot_uninitialized_array(capacity); - - memcpy(new_array + 1, array.untagged() + 1, to_copy * Array::element_size); - memset((char*)(new_array + 1) + to_copy * Array::element_size, 0, - (capacity - to_copy) * Array::element_size); - - return new_array; } + cell to_copy = array_capacity(array.untagged()); + if (capacity < to_copy) + to_copy = capacity; + + Array* new_array = allot_uninitialized_array(capacity); + + memcpy(new_array + 1, array.untagged() + 1, to_copy * Array::element_size); + memset((char*)(new_array + 1) + to_copy * Array::element_size, 0, + (capacity - to_copy) * Array::element_size); + + return new_array; } }