/* called when leaving a compiled callback */ void factor_vm::unnest_stacks() { ds = ctx->datastack_save; rs = ctx->retainstack_save; /* restore per-callback special_objects */ special_objects[OBJ_CURRENT_CALLBACK] = ctx->current_callback_save; special_objects[OBJ_CATCHSTACK] = ctx->catchstack_save; context *old_ctx = ctx; ctx = old_ctx->next; dealloc_context(old_ctx); }
/* called when leaving a compiled callback */ void factor_vm::unnest_stacks() { ds = ctx->datastack_save; rs = ctx->retainstack_save; /* restore per-callback userenv */ userenv[CURRENT_CALLBACK_ENV] = ctx->current_callback_save; userenv[CATCHSTACK_ENV] = ctx->catchstack_save; context *old_ctx = ctx; ctx = old_ctx->next; dealloc_context(old_ctx); }