delete callstack_seg;
}
-// called on startup
-// Allocates memory (new_context())
-void factor_vm::init_contexts(cell datastack_size_, cell retainstack_size_,
- cell callstack_size_) {
- datastack_size = datastack_size_;
- retainstack_size = retainstack_size_;
- callstack_size = callstack_size_;
-
- ctx = NULL;
- spare_ctx = new_context();
-}
-
context* factor_vm::new_context() {
context* new_context;
srand((unsigned int)nano_count());
init_ffi();
- init_contexts(p->datastack_size, p->retainstack_size, p->callstack_size);
+
+ datastack_size = p->datastack_size;
+ retainstack_size = p->retainstack_size;
+ callstack_size = p->callstack_size;
+
+ ctx = NULL;
+ spare_ctx = new_context();
+
callbacks = new callback_heap(p->callback_size, this);
load_image(p);
max_pic_size = (int)p->max_pic_size;
context* new_context();
void init_context(context* ctx);
void delete_context();
- void init_contexts(cell datastack_size_, cell retainstack_size_,
- cell callstack_size_);
cell begin_callback(cell quot);
void end_callback();
void primitive_current_callback();