return new_array.untagged();
}
-array *allot_array(cell capacity, cell fill_)
-{
- return vm->allot_array(capacity,fill_);
-}
/* push a new array on the stack */
inline void factorvm::vmprim_array()
return a.value();
}
-cell allot_array_1(cell obj_)
-{
- return vm->allot_array_1(obj_);
-}
cell factorvm::allot_array_2(cell v1_, cell v2_)
{
return a.value();
}
-cell allot_array_2(cell v1_, cell v2_)
-{
- return vm->allot_array_2(v1_,v2_);
-}
cell factorvm::allot_array_4(cell v1_, cell v2_, cell v3_, cell v4_)
{
return a.value();
}
-cell allot_array_4(cell v1_, cell v2_, cell v3_, cell v4_)
-{
- return vm->allot_array_4(v1_,v2_,v3_,v4_);
-}
inline void factorvm::vmprim_resize_array()
{
return array->data()[slot];
}
-
-
-
-
-array *allot_array(cell capacity, cell fill);
-
-cell allot_array_1(cell obj);
-cell allot_array_2(cell v1, cell v2);
-cell allot_array_4(cell v1, cell v2, cell v3, cell v4);
-
PRIMITIVE(array);
PRIMITIVE(resize_array);
cell count;
gc_root<array> elements;
- growable_array(factorvm *myvm, cell capacity = 10) : count(0), elements(allot_array(capacity,F),myvm) {}
+ growable_array(factorvm *myvm, cell capacity = 10) : count(0), elements(myvm->allot_array(capacity,F),myvm) {}
void add(cell elt);
void trim();