Revision 0d1a29f9 cpu-exec.c

b/cpu-exec.c
123 123
#if defined(TARGET_I386)
124 124
#ifdef reg_EAX
125 125
    saved_EAX = EAX;
126
    EAX = env->regs[R_EAX];
127 126
#endif
128 127
#ifdef reg_ECX
129 128
    saved_ECX = ECX;
130
    ECX = env->regs[R_ECX];
131 129
#endif
132 130
#ifdef reg_EDX
133 131
    saved_EDX = EDX;
134
    EDX = env->regs[R_EDX];
135 132
#endif
136 133
#ifdef reg_EBX
137 134
    saved_EBX = EBX;
138
    EBX = env->regs[R_EBX];
139 135
#endif
140 136
#ifdef reg_ESP
141 137
    saved_ESP = ESP;
142
    ESP = env->regs[R_ESP];
143 138
#endif
144 139
#ifdef reg_EBP
145 140
    saved_EBP = EBP;
146
    EBP = env->regs[R_EBP];
147 141
#endif
148 142
#ifdef reg_ESI
149 143
    saved_ESI = ESI;
150
    ESI = env->regs[R_ESI];
151 144
#endif
152 145
#ifdef reg_EDI
153 146
    saved_EDI = EDI;
154
    EDI = env->regs[R_EDI];
155 147
#endif
156
    
148

  
149
    env_to_regs();
157 150
    /* put eflags in CPU temporary format */
158 151
    CC_SRC = env->eflags & (CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C);
159 152
    DF = 1 - (2 * ((env->eflags >> 10) & 1));
......
353 346
                    spin_lock(&tb_lock);
354 347

  
355 348
                    tb_invalidated_flag = 0;
349
                    
350
                    regs_to_env(); /* XXX: do it just before cpu_gen_code() */
356 351

  
357 352
                    /* find translated block using physical mappings */
358 353
                    phys_pc = get_phys_addr_code(env, (unsigned long)pc);
......
556 551
#endif
557 552
            }
558 553
        } else {
554
            env_to_regs();
559 555
        }
560 556
    } /* for(;;) */
561 557

  

Also available in: Unified diff