HV *hv = GvHV(gvhv->gv);
modperl_perl_global_gvhv_save(pTHX_ modperl_perl_global_gvhv_t *gvhv){    U32 mg_flags;    HV *hv = GvHV(gvhv->gv);    MAGIC *mg = SvMAGIC(hv);    /*     * there should only be a small number of entries in %ENV     * at this point: modperl_env.c:modperl_env_const_vars[],     * PerlPassEnv and top-level PerlSetEnv     * XXX: still; could have have something faster than newHVhv()     * especially if we add another GVHV to the globals table that      * might have more entries     */    /* makes newHVhv() faster in bleedperl */    MP_magical_untie(hv, mg_flags);    gvhv->tmphv = newHVhv(hv);    TAINT_NOT;    /* reapply magic flags */    MP_magical_tie(hv, mg_flags);    MP_magical_tie(gvhv->tmphv, mg_flags);    if (mg && mg->mg_type && !SvMAGIC(gvhv->tmphv)) {        /* propagate SvMAGIC(hv) to SvMAGIC(gvhv->tmphv) */        /* XXX: maybe newHVhv should do this? */        hv_magic(gvhv->tmphv, Nullgv, mg->mg_type);    }    gvhv->orighv = hv;    GvHV(gvhv->gv) = gvhv->tmphv;}