diff options
author | Richard Henderson <rth@twiddle.net> | 2015-09-01 15:51:12 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2015-10-07 20:36:51 +1100 |
commit | bad729e272387de7dbfa3ec4319036552fc6c107 (patch) | |
tree | 94e36f4afab09565c1fe76e8500b4fc5620a2833 /target-mips | |
parent | 190ce7fbc79fd0883a6170d7f30da59d366e6830 (diff) |
tcg: Pass data argument to restore_state_to_opc
The gen_opc_* arrays are already redundant with the data stored in
the insn_start arguments. Transition restore_state_to_opc to use
data from the latter.
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-mips')
-rw-r--r-- | target-mips/translate.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/target-mips/translate.c b/target-mips/translate.c index c0a06741de..56f00e6e88 100644 --- a/target-mips/translate.c +++ b/target-mips/translate.c @@ -20061,18 +20061,19 @@ void cpu_state_reset(CPUMIPSState *env) } } -void restore_state_to_opc(CPUMIPSState *env, TranslationBlock *tb, int pc_pos) +void restore_state_to_opc(CPUMIPSState *env, TranslationBlock *tb, + target_ulong *data) { - env->active_tc.PC = tcg_ctx.gen_opc_pc[pc_pos]; + env->active_tc.PC = data[0]; env->hflags &= ~MIPS_HFLAG_BMASK; - env->hflags |= gen_opc_hflags[pc_pos]; + env->hflags |= data[1]; switch (env->hflags & MIPS_HFLAG_BMASK_BASE) { case MIPS_HFLAG_BR: break; case MIPS_HFLAG_BC: case MIPS_HFLAG_BL: case MIPS_HFLAG_B: - env->btarget = gen_opc_btarget[pc_pos]; + env->btarget = data[2]; break; } } |