/* Allocates memory */ void factor_vm::primitive_array() { cell fill = ctx->pop(); cell capacity = unbox_array_size(); array* new_array = allot_array(capacity, fill); ctx->push(tag<array>(new_array)); }
inline void factorvm::vmprim_uninitialized_byte_array() { cell size = unbox_array_size(); dpush(tag<byte_array>(allot_array_internal<byte_array>(size))); }
inline void factorvm::vmprim_resize_byte_array() { byte_array *array = untag_check<byte_array>(dpop()); cell capacity = unbox_array_size(); dpush(tag<byte_array>(reallot_array(array,capacity))); }
inline void factorvm::vmprim_byte_array() { cell size = unbox_array_size(); dpush(tag<byte_array>(allot_byte_array(size))); }