void mrb_close(mrb_state *mrb) { mrb_final_core(mrb); /* free */ mrb_gc_free_gv(mrb); mrb_free_context(mrb, mrb->root_c); mrb_free_symtbl(mrb); mrb_free_heap(mrb); mrb_alloca_free(mrb); #ifndef MRB_GC_FIXED_ARENA mrb_free(mrb, mrb->arena); #endif mrb_free(mrb, mrb); }
void mrb_close(mrb_state *mrb) { size_t i; mrb_final_core(mrb); /* free */ mrb_gc_free_gv(mrb); for (i=0; i<mrb->irep_len; i++) { mrb_irep_free(mrb, mrb->irep[i]); } mrb_free(mrb, mrb->irep); mrb_free_context(mrb, mrb->root_c); mrb_free_symtbl(mrb); mrb_free_heap(mrb); mrb_alloca_free(mrb); mrb_free(mrb, mrb); }