Diff for /qemu/gen-icount.h between versions and

version, 2018/04/24 16:50:51 version, 2018/04/24 17:34:48
Line 11  static inline void gen_icount_start(void Line 11  static inline void gen_icount_start(void
         return;          return;
     icount_label = gen_new_label();      icount_label = gen_new_label();
     /* FIXME: This generates lousy code.  We can't use tcg_new_temp because  
        count needs to live over the conditional branch.  To workaround this  
        we allow the target to supply a convenient register temporary.  */  
 #ifndef ICOUNT_TEMP  
     count = tcg_temp_local_new_i32();      count = tcg_temp_local_new_i32();
     count = ICOUNT_TEMP;  
     tcg_gen_ld_i32(count, cpu_env, offsetof(CPUState, icount_decr.u32));      tcg_gen_ld_i32(count, cpu_env, offsetof(CPUState, icount_decr.u32));
     /* This is a horrid hack to allow fixing up the value later.  */      /* This is a horrid hack to allow fixing up the value later.  */
     icount_arg = gen_opparam_ptr + 1;      icount_arg = gen_opparam_ptr + 1;
Line 26  static inline void gen_icount_start(void Line 19  static inline void gen_icount_start(void
     tcg_gen_brcondi_i32(TCG_COND_LT, count, 0, icount_label);      tcg_gen_brcondi_i32(TCG_COND_LT, count, 0, icount_label);
     tcg_gen_st16_i32(count, cpu_env, offsetof(CPUState, icount_decr.u16.low));      tcg_gen_st16_i32(count, cpu_env, offsetof(CPUState, icount_decr.u16.low));
 #ifndef ICOUNT_TEMP  
     tcg_temp_free_i32(count);      tcg_temp_free_i32(count);
 }  }
 static void gen_icount_end(TranslationBlock *tb, int num_insns)  static void gen_icount_end(TranslationBlock *tb, int num_insns)
Line 40  static void gen_icount_end(TranslationBl Line 31  static void gen_icount_end(TranslationBl
     }      }
 }  }
 static void inline gen_io_start(void)  static inline void gen_io_start(void)
 {  {
     TCGv_i32 tmp = tcg_const_i32(1);      TCGv_i32 tmp = tcg_const_i32(1);
     tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUState, can_do_io));      tcg_gen_st_i32(tmp, cpu_env, offsetof(CPUState, can_do_io));

Removed from v.  
changed lines
  Added in v.