eval.c:1311
static int
ruby_finalize_0(ex)
    int ex;
{
    ruby_errinfo = 0;
    PUSH_TAG(PROT_NONE);
    if (EXEC_TAG() == 0) {
	rb_trap_exit();
    }
    POP_TAG();
    rb_exec_end_proc();
    rb_gc_call_finalizer_at_exit();
    trace_func = 0;
    tracing = 0;
    if (ruby_errinfo && rb_obj_is_kind_of(ruby_errinfo, rb_eSystemExit)) {
	VALUE st = rb_iv_get(ruby_errinfo, "status");
	return NUM2INT(st);
    }
    return ex;
}
