예제 #1
0
파일: arrays.cpp 프로젝트: ForNeVeR/factor
/* 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));
}
예제 #2
0
inline void factorvm::vmprim_uninitialized_byte_array()
{
	cell size = unbox_array_size();
	dpush(tag<byte_array>(allot_array_internal<byte_array>(size)));
}
예제 #3
0
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)));
}
예제 #4
0
inline void factorvm::vmprim_byte_array()
{
	cell size = unbox_array_size();
	dpush(tag<byte_array>(allot_byte_array(size)));
}