Revision 49a945a3 cpu-exec.c

b/cpu-exec.c
56 56

  
57 57
void cpu_loop_exit(void)
58 58
{
59
    /* NOTE: the register at this point must be saved by hand because
60
       longjmp restore them */
61
    regs_to_env();
62 59
    longjmp(env->jmp_env, 1);
63 60
}
64 61

  
......
130 127

  
131 128
    tb_invalidated_flag = 0;
132 129

  
133
    regs_to_env(); /* XXX: do it just before cpu_gen_code() */
134

  
135 130
    /* find translated block using physical mappings */
136 131
    phys_pc = get_phys_addr_code(env, pc);
137 132
    phys_page1 = phys_pc & TARGET_PAGE_MASK;
......
230 225
#include "hostregs_helper.h"
231 226
    env = env1;
232 227

  
233
    env_to_regs();
234 228
#if defined(TARGET_I386)
235 229
    /* put eflags in CPU temporary format */
236 230
    CC_SRC = env->eflags & (CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C);
......
544 538
#ifdef CONFIG_DEBUG_EXEC
545 539
                if (qemu_loglevel_mask(CPU_LOG_TB_CPU)) {
546 540
                    /* restore flags in standard format */
547
                    regs_to_env();
548 541
#if defined(TARGET_I386)
549 542
                    env->eflags = env->eflags | helper_cc_compute_all(CC_OP) | (DF & DF_MASK);
550 543
                    log_cpu_state(env, X86_DUMP_CCOP);
......
651 644
                /* reset soft MMU for next block (it can currently
652 645
                   only be set by a memory fault) */
653 646
            } /* for(;;) */
654
        } else {
655
            env_to_regs();
656 647
        }
657 648
    } /* for(;;) */
658 649

  

Also available in: Unified diff