Commit 735a8fd38e86d94f62e732de94e1a137619b9e49

Authored by bellard
1 parent 1bde465e

fixed performance regression


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1218 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 5 additions and 5 deletions
target-i386/cpu.h
@@ -564,8 +564,8 @@ static inline void cpu_x86_load_seg_cache(CPUX86State *env, @@ -564,8 +564,8 @@ static inline void cpu_x86_load_seg_cache(CPUX86State *env,
564 if (env->hflags & HF_CS64_MASK) { 564 if (env->hflags & HF_CS64_MASK) {
565 /* zero base assumed for DS, ES and SS in long mode */ 565 /* zero base assumed for DS, ES and SS in long mode */
566 } else if (!(env->cr[0] & CR0_PE_MASK) || 566 } else if (!(env->cr[0] & CR0_PE_MASK) ||
567 - (env->eflags & VM_MASK) ||  
568 - !(new_hflags & HF_CS32_MASK)) { 567 + (env->eflags & VM_MASK) ||
  568 + !(env->hflags & HF_CS32_MASK)) {
569 /* XXX: try to avoid this test. The problem comes from the 569 /* XXX: try to avoid this test. The problem comes from the
570 fact that is real mode or vm86 mode we only modify the 570 fact that is real mode or vm86 mode we only modify the
571 'base' and 'selector' fields of the segment cache to go 571 'base' and 'selector' fields of the segment cache to go
@@ -573,9 +573,9 @@ static inline void cpu_x86_load_seg_cache(CPUX86State *env, @@ -573,9 +573,9 @@ static inline void cpu_x86_load_seg_cache(CPUX86State *env,
573 translate-i386.c. */ 573 translate-i386.c. */
574 new_hflags |= HF_ADDSEG_MASK; 574 new_hflags |= HF_ADDSEG_MASK;
575 } else { 575 } else {
576 - new_hflags |= (((unsigned long)env->segs[R_DS].base |  
577 - (unsigned long)env->segs[R_ES].base |  
578 - (unsigned long)env->segs[R_SS].base) != 0) << 576 + new_hflags |= ((env->segs[R_DS].base |
  577 + env->segs[R_ES].base |
  578 + env->segs[R_SS].base) != 0) <<
579 HF_ADDSEG_SHIFT; 579 HF_ADDSEG_SHIFT;
580 } 580 }
581 env->hflags = (env->hflags & 581 env->hflags = (env->hflags &