tcg: Change tcg_gen_exit_tb argument to uintptr_t

And update all users.

Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
Richard Henderson 2013-08-20 15:53:10 -07:00
parent 48bc6bab47
commit 8cfd04959a
18 changed files with 25 additions and 25 deletions

View File

@ -39,12 +39,12 @@ static inline void gen_tb_start(void)
static void gen_tb_end(TranslationBlock *tb, int num_insns) static void gen_tb_end(TranslationBlock *tb, int num_insns)
{ {
gen_set_label(exitreq_label); gen_set_label(exitreq_label);
tcg_gen_exit_tb((tcg_target_long)tb + TB_EXIT_REQUESTED); tcg_gen_exit_tb((uintptr_t)tb + TB_EXIT_REQUESTED);
if (use_icount) { if (use_icount) {
*icount_arg = num_insns; *icount_arg = num_insns;
gen_set_label(icount_label); gen_set_label(icount_label);
tcg_gen_exit_tb((tcg_target_long)tb + TB_EXIT_ICOUNT_EXPIRED); tcg_gen_exit_tb((uintptr_t)tb + TB_EXIT_ICOUNT_EXPIRED);
} }
} }

View File

@ -415,7 +415,7 @@ static ExitStatus gen_bdirect(DisasContext *ctx, int ra, int32_t disp)
} else if (use_goto_tb(ctx, dest)) { } else if (use_goto_tb(ctx, dest)) {
tcg_gen_goto_tb(0); tcg_gen_goto_tb(0);
tcg_gen_movi_i64(cpu_pc, dest); tcg_gen_movi_i64(cpu_pc, dest);
tcg_gen_exit_tb((tcg_target_long)ctx->tb); tcg_gen_exit_tb((uintptr_t)ctx->tb);
return EXIT_GOTO_TB; return EXIT_GOTO_TB;
} else { } else {
tcg_gen_movi_i64(cpu_pc, dest); tcg_gen_movi_i64(cpu_pc, dest);
@ -434,12 +434,12 @@ static ExitStatus gen_bcond_internal(DisasContext *ctx, TCGCond cond,
tcg_gen_goto_tb(0); tcg_gen_goto_tb(0);
tcg_gen_movi_i64(cpu_pc, ctx->pc); tcg_gen_movi_i64(cpu_pc, ctx->pc);
tcg_gen_exit_tb((tcg_target_long)ctx->tb); tcg_gen_exit_tb((uintptr_t)ctx->tb);
gen_set_label(lab_true); gen_set_label(lab_true);
tcg_gen_goto_tb(1); tcg_gen_goto_tb(1);
tcg_gen_movi_i64(cpu_pc, dest); tcg_gen_movi_i64(cpu_pc, dest);
tcg_gen_exit_tb((tcg_target_long)ctx->tb + 1); tcg_gen_exit_tb((uintptr_t)ctx->tb + 1);
return EXIT_GOTO_TB; return EXIT_GOTO_TB;
} else { } else {
@ -1629,7 +1629,7 @@ static ExitStatus gen_call_pal(DisasContext *ctx, int palcode)
we change the PAL base register. */ we change the PAL base register. */
if (!ctx->singlestep_enabled && !(ctx->tb->cflags & CF_LAST_IO)) { if (!ctx->singlestep_enabled && !(ctx->tb->cflags & CF_LAST_IO)) {
tcg_gen_goto_tb(0); tcg_gen_goto_tb(0);
tcg_gen_exit_tb((tcg_target_long)ctx->tb); tcg_gen_exit_tb((uintptr_t)ctx->tb);
return EXIT_GOTO_TB; return EXIT_GOTO_TB;
} }

View File

@ -3356,7 +3356,7 @@ static inline void gen_goto_tb(DisasContext *s, int n, uint32_t dest)
if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) { if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) {
tcg_gen_goto_tb(n); tcg_gen_goto_tb(n);
gen_set_pc_im(dest); gen_set_pc_im(dest);
tcg_gen_exit_tb((tcg_target_long)tb + n); tcg_gen_exit_tb((uintptr_t)tb + n);
} else { } else {
gen_set_pc_im(dest); gen_set_pc_im(dest);
tcg_gen_exit_tb(0); tcg_gen_exit_tb(0);

View File

@ -558,7 +558,7 @@ static void gen_goto_tb(DisasContext *dc, int n, target_ulong dest)
if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) { if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) {
tcg_gen_goto_tb(n); tcg_gen_goto_tb(n);
tcg_gen_movi_tl(env_pc, dest); tcg_gen_movi_tl(env_pc, dest);
tcg_gen_exit_tb((tcg_target_long)tb + n); tcg_gen_exit_tb((uintptr_t)tb + n);
} else { } else {
tcg_gen_movi_tl(env_pc, dest); tcg_gen_movi_tl(env_pc, dest);
tcg_gen_exit_tb(0); tcg_gen_exit_tb(0);

View File

@ -2413,7 +2413,7 @@ static inline void gen_goto_tb(DisasContext *s, int tb_num, target_ulong eip)
/* jump to same page: we can use a direct jump */ /* jump to same page: we can use a direct jump */
tcg_gen_goto_tb(tb_num); tcg_gen_goto_tb(tb_num);
gen_jmp_im(eip); gen_jmp_im(eip);
tcg_gen_exit_tb((tcg_target_long)tb + tb_num); tcg_gen_exit_tb((uintptr_t)tb + tb_num);
} else { } else {
/* jump to another page: currently not optimized */ /* jump to another page: currently not optimized */
gen_jmp_im(eip); gen_jmp_im(eip);

View File

@ -129,7 +129,7 @@ static void gen_goto_tb(DisasContext *dc, int n, target_ulong dest)
likely(!dc->singlestep_enabled)) { likely(!dc->singlestep_enabled)) {
tcg_gen_goto_tb(n); tcg_gen_goto_tb(n);
tcg_gen_movi_tl(cpu_pc, dest); tcg_gen_movi_tl(cpu_pc, dest);
tcg_gen_exit_tb((tcg_target_long)tb + n); tcg_gen_exit_tb((uintptr_t)tb + n);
} else { } else {
tcg_gen_movi_tl(cpu_pc, dest); tcg_gen_movi_tl(cpu_pc, dest);
if (dc->singlestep_enabled) { if (dc->singlestep_enabled) {

View File

@ -869,7 +869,7 @@ static void gen_jmp_tb(DisasContext *s, int n, uint32_t dest)
(s->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) { (s->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) {
tcg_gen_goto_tb(n); tcg_gen_goto_tb(n);
tcg_gen_movi_i32(QREG_PC, dest); tcg_gen_movi_i32(QREG_PC, dest);
tcg_gen_exit_tb((tcg_target_long)tb + n); tcg_gen_exit_tb((uintptr_t)tb + n);
} else { } else {
gen_jmp_im(s, dest); gen_jmp_im(s, dest);
tcg_gen_exit_tb(0); tcg_gen_exit_tb(0);

View File

@ -138,7 +138,7 @@ static void gen_goto_tb(DisasContext *dc, int n, target_ulong dest)
if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) { if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) {
tcg_gen_goto_tb(n); tcg_gen_goto_tb(n);
tcg_gen_movi_tl(cpu_SR[SR_PC], dest); tcg_gen_movi_tl(cpu_SR[SR_PC], dest);
tcg_gen_exit_tb((tcg_target_long)tb + n); tcg_gen_exit_tb((uintptr_t)tb + n);
} else { } else {
tcg_gen_movi_tl(cpu_SR[SR_PC], dest); tcg_gen_movi_tl(cpu_SR[SR_PC], dest);
tcg_gen_exit_tb(0); tcg_gen_exit_tb(0);

View File

@ -3581,7 +3581,7 @@ static inline void gen_goto_tb(DisasContext *ctx, int n, target_ulong dest)
likely(!ctx->singlestep_enabled)) { likely(!ctx->singlestep_enabled)) {
tcg_gen_goto_tb(n); tcg_gen_goto_tb(n);
gen_save_pc(dest); gen_save_pc(dest);
tcg_gen_exit_tb((tcg_target_long)tb + n); tcg_gen_exit_tb((uintptr_t)tb + n);
} else { } else {
gen_save_pc(dest); gen_save_pc(dest);
if (ctx->singlestep_enabled) { if (ctx->singlestep_enabled) {

View File

@ -135,7 +135,7 @@ static inline void gen_goto_tb(CPUMoxieState *env, DisasContext *ctx,
!ctx->singlestep_enabled) { !ctx->singlestep_enabled) {
tcg_gen_goto_tb(n); tcg_gen_goto_tb(n);
tcg_gen_movi_i32(cpu_pc, dest); tcg_gen_movi_i32(cpu_pc, dest);
tcg_gen_exit_tb((tcg_target_long)tb + n); tcg_gen_exit_tb((uintptr_t)tb + n);
} else { } else {
tcg_gen_movi_i32(cpu_pc, dest); tcg_gen_movi_i32(cpu_pc, dest);
if (ctx->singlestep_enabled) { if (ctx->singlestep_enabled) {

View File

@ -198,7 +198,7 @@ static void gen_goto_tb(DisasContext *dc, int n, target_ulong dest)
likely(!dc->singlestep_enabled)) { likely(!dc->singlestep_enabled)) {
tcg_gen_movi_tl(cpu_pc, dest); tcg_gen_movi_tl(cpu_pc, dest);
tcg_gen_goto_tb(n); tcg_gen_goto_tb(n);
tcg_gen_exit_tb((tcg_target_long)tb + n); tcg_gen_exit_tb((uintptr_t)tb + n);
} else { } else {
tcg_gen_movi_tl(cpu_pc, dest); tcg_gen_movi_tl(cpu_pc, dest);
if (dc->singlestep_enabled) { if (dc->singlestep_enabled) {

View File

@ -3551,7 +3551,7 @@ static inline void gen_goto_tb(DisasContext *ctx, int n, target_ulong dest)
likely(!ctx->singlestep_enabled)) { likely(!ctx->singlestep_enabled)) {
tcg_gen_goto_tb(n); tcg_gen_goto_tb(n);
tcg_gen_movi_tl(cpu_nip, dest & ~3); tcg_gen_movi_tl(cpu_nip, dest & ~3);
tcg_gen_exit_tb((tcg_target_long)tb + n); tcg_gen_exit_tb((uintptr_t)tb + n);
} else { } else {
tcg_gen_movi_tl(cpu_nip, dest & ~3); tcg_gen_movi_tl(cpu_nip, dest & ~3);
if (unlikely(ctx->singlestep_enabled)) { if (unlikely(ctx->singlestep_enabled)) {

View File

@ -1169,7 +1169,7 @@ static ExitStatus help_goto_direct(DisasContext *s, uint64_t dest)
update_cc_op(s); update_cc_op(s);
tcg_gen_goto_tb(0); tcg_gen_goto_tb(0);
tcg_gen_movi_i64(psw_addr, dest); tcg_gen_movi_i64(psw_addr, dest);
tcg_gen_exit_tb((tcg_target_long)s->tb); tcg_gen_exit_tb((uintptr_t)s->tb);
return EXIT_GOTO_TB; return EXIT_GOTO_TB;
} else { } else {
tcg_gen_movi_i64(psw_addr, dest); tcg_gen_movi_i64(psw_addr, dest);
@ -1227,13 +1227,13 @@ static ExitStatus help_branch(DisasContext *s, DisasCompare *c,
/* Branch not taken. */ /* Branch not taken. */
tcg_gen_goto_tb(0); tcg_gen_goto_tb(0);
tcg_gen_movi_i64(psw_addr, s->next_pc); tcg_gen_movi_i64(psw_addr, s->next_pc);
tcg_gen_exit_tb((tcg_target_long)s->tb + 0); tcg_gen_exit_tb((uintptr_t)s->tb + 0);
/* Branch taken. */ /* Branch taken. */
gen_set_label(lab); gen_set_label(lab);
tcg_gen_goto_tb(1); tcg_gen_goto_tb(1);
tcg_gen_movi_i64(psw_addr, dest); tcg_gen_movi_i64(psw_addr, dest);
tcg_gen_exit_tb((tcg_target_long)s->tb + 1); tcg_gen_exit_tb((uintptr_t)s->tb + 1);
ret = EXIT_GOTO_TB; ret = EXIT_GOTO_TB;
} else { } else {
@ -1256,7 +1256,7 @@ static ExitStatus help_branch(DisasContext *s, DisasCompare *c,
update_cc_op(s); update_cc_op(s);
tcg_gen_goto_tb(0); tcg_gen_goto_tb(0);
tcg_gen_movi_i64(psw_addr, s->next_pc); tcg_gen_movi_i64(psw_addr, s->next_pc);
tcg_gen_exit_tb((tcg_target_long)s->tb + 0); tcg_gen_exit_tb((uintptr_t)s->tb + 0);
gen_set_label(lab); gen_set_label(lab);
if (is_imm) { if (is_imm) {

View File

@ -186,7 +186,7 @@ static void gen_goto_tb(DisasContext * ctx, int n, target_ulong dest)
/* Use a direct jump if in same page and singlestep not enabled */ /* Use a direct jump if in same page and singlestep not enabled */
tcg_gen_goto_tb(n); tcg_gen_goto_tb(n);
tcg_gen_movi_i32(cpu_pc, dest); tcg_gen_movi_i32(cpu_pc, dest);
tcg_gen_exit_tb((tcg_target_long)tb + n); tcg_gen_exit_tb((uintptr_t)tb + n);
} else { } else {
tcg_gen_movi_i32(cpu_pc, dest); tcg_gen_movi_i32(cpu_pc, dest);
if (ctx->singlestep_enabled) if (ctx->singlestep_enabled)

View File

@ -322,7 +322,7 @@ static inline void gen_goto_tb(DisasContext *s, int tb_num,
tcg_gen_goto_tb(tb_num); tcg_gen_goto_tb(tb_num);
tcg_gen_movi_tl(cpu_pc, pc); tcg_gen_movi_tl(cpu_pc, pc);
tcg_gen_movi_tl(cpu_npc, npc); tcg_gen_movi_tl(cpu_npc, npc);
tcg_gen_exit_tb((tcg_target_long)tb + tb_num); tcg_gen_exit_tb((uintptr_t)tb + tb_num);
} else { } else {
/* jump to another page: currently not optimized */ /* jump to another page: currently not optimized */
tcg_gen_movi_tl(cpu_pc, pc); tcg_gen_movi_tl(cpu_pc, pc);

View File

@ -1100,7 +1100,7 @@ static inline void gen_goto_tb(DisasContext *s, int n, uint32_t dest)
if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) { if ((tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)) {
tcg_gen_goto_tb(n); tcg_gen_goto_tb(n);
gen_set_pc_im(dest); gen_set_pc_im(dest);
tcg_gen_exit_tb((tcg_target_long)tb + n); tcg_gen_exit_tb((uintptr_t)tb + n);
} else { } else {
gen_set_pc_im(dest); gen_set_pc_im(dest);
tcg_gen_exit_tb(0); tcg_gen_exit_tb(0);

View File

@ -400,7 +400,7 @@ static void gen_jump_slot(DisasContext *dc, TCGv dest, int slot)
} else { } else {
if (slot >= 0) { if (slot >= 0) {
tcg_gen_goto_tb(slot); tcg_gen_goto_tb(slot);
tcg_gen_exit_tb((tcg_target_long)dc->tb + slot); tcg_gen_exit_tb((uintptr_t)dc->tb + slot);
} else { } else {
tcg_gen_exit_tb(0); tcg_gen_exit_tb(0);
} }

View File

@ -2631,7 +2631,7 @@ static inline void tcg_gen_debug_insn_start(uint64_t pc)
#endif #endif
} }
static inline void tcg_gen_exit_tb(tcg_target_long val) static inline void tcg_gen_exit_tb(uintptr_t val)
{ {
tcg_gen_op1i(INDEX_op_exit_tb, val); tcg_gen_op1i(INDEX_op_exit_tb, val);
} }