Revision 2e70f6ef translate-all.c

b/translate-all.c
38 38
TCGArg gen_opparam_buf[OPPARAM_BUF_SIZE];
39 39

  
40 40
target_ulong gen_opc_pc[OPC_BUF_SIZE];
41
uint16_t gen_opc_icount[OPC_BUF_SIZE];
41 42
uint8_t gen_opc_instr_start[OPC_BUF_SIZE];
42 43
#if defined(TARGET_I386)
43 44
uint8_t gen_opc_cc_op[OPC_BUF_SIZE];
......
158 159
    if (gen_intermediate_code_pc(env, tb) < 0)
159 160
        return -1;
160 161

  
162
    if (use_icount) {
163
        /* Reset the cycle counter to the start of the block.  */
164
        env->icount_decr.u16.low += tb->icount;
165
        /* Clear the IO flag.  */
166
        env->can_do_io = 0;
167
    }
168

  
161 169
    /* find opc index corresponding to search_pc */
162 170
    tc_ptr = (unsigned long)tb->tc_ptr;
163 171
    if (searched_pc < tc_ptr)
......
177 185
    /* now find start of instruction before */
178 186
    while (gen_opc_instr_start[j] == 0)
179 187
        j--;
188
    env->icount_decr.u16.low -= gen_opc_icount[j];
180 189

  
181 190
    gen_pc_load(env, tb, searched_pc, j, puc);
182 191

  

Also available in: Unified diff