]> git.proxmox.com Git - mirror_qemu.git/commitdiff
tcg: Move emit of INDEX_op_end into gen_tb_end
authorRichard Henderson <rth@twiddle.net>
Sun, 30 Mar 2014 21:50:30 +0000 (14:50 -0700)
committerRichard Henderson <rth@twiddle.net>
Fri, 13 Feb 2015 05:21:38 +0000 (21:21 -0800)
Reviewed-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Signed-off-by: Richard Henderson <rth@twiddle.net>
19 files changed:
include/exec/gen-icount.h
target-alpha/translate.c
target-arm/translate-a64.c
target-arm/translate.c
target-cris/translate.c
target-i386/translate.c
target-lm32/translate.c
target-m68k/translate.c
target-microblaze/translate.c
target-mips/translate.c
target-moxie/translate.c
target-openrisc/translate.c
target-ppc/translate.c
target-s390x/translate.c
target-sh4/translate.c
target-sparc/translate.c
target-tricore/translate.c
target-unicore32/translate.c
target-xtensa/translate.c

index 221aad0bfde59b158a273e4ab45321e9714a3e47..a37a61d03821f1596cb3d6dacca3fc8081d02e64 100644 (file)
@@ -48,6 +48,8 @@ static void gen_tb_end(TranslationBlock *tb, int num_insns)
         gen_set_label(icount_label);
         tcg_gen_exit_tb((uintptr_t)tb + TB_EXIT_ICOUNT_EXPIRED);
     }
+
+    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
 }
 
 static inline void gen_io_start(void)
index f8883672a894f2bfd41c405c06a3bc329ddd3ab4..aa04c603af77a518ba5393d99eda481eb5265d12 100644 (file)
@@ -2912,7 +2912,7 @@ static inline void gen_intermediate_code_internal(AlphaCPU *cpu,
     }
 
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
+
     if (search_pc) {
         j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
         lj++;
index acf4b162bdb51ee2dbeef413ca879e68ae243073..3605eb4d778a22aa920b8a61c152e715ca0c48c1 100644 (file)
@@ -11108,7 +11108,6 @@ void gen_intermediate_code_internal_a64(ARMCPU *cpu,
 
 done_generating:
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
 
 #ifdef DEBUG_DISAS
     if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) {
index 1c36b8b05e1b046e62940e5c18999e684c5e9faa..d8ecfc162109802f70dc8ef72911838ed2e3662a 100644 (file)
@@ -11357,7 +11357,6 @@ static inline void gen_intermediate_code_internal(ARMCPU *cpu,
 
 done_generating:
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
 
 #ifdef DEBUG_DISAS
     if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) {
index b675ed0b189e4959cc907c7cdffe24707302dbcd..b5a792cd01a3b16d51a87316646198ccddfc0d13 100644 (file)
@@ -3344,7 +3344,7 @@ gen_intermediate_code_internal(CRISCPU *cpu, TranslationBlock *tb,
         }
     }
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
+
     if (search_pc) {
         j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
         lj++;
index 9ebdf4b38467e9b32610d8120da47061bd253b4a..e2e21e471cb92e18956f10f00a6dd3387c26f3af 100644 (file)
@@ -8077,7 +8077,7 @@ static inline void gen_intermediate_code_internal(X86CPU *cpu,
         gen_io_end();
 done_generating:
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
+
     /* we don't forget to fill the last values */
     if (search_pc) {
         j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
index a7579dc8be2a7dc3cf8f4dc7416374f6b6296d3a..cd09293a1cdd4812958abf32be0ad6ca02844a37 100644 (file)
@@ -1158,7 +1158,7 @@ void gen_intermediate_code_internal(LM32CPU *cpu,
     }
 
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
+
     if (search_pc) {
         j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
         lj++;
index 47edc7ae510ad56f0fade9570384c4146d6373f5..7e98a175f7598753e1c9faf1d1664177b5bb49f6 100644 (file)
@@ -3075,7 +3075,6 @@ gen_intermediate_code_internal(M68kCPU *cpu, TranslationBlock *tb,
         }
     }
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
 
 #ifdef DEBUG_DISAS
     if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) {
index 69ce4df4a3e20760cc7f12ccc1f4a1fa44218118..437a069c247b8f05db11a752525f4102b9bc3804 100644 (file)
@@ -1846,7 +1846,7 @@ gen_intermediate_code_internal(MicroBlazeCPU *cpu, TranslationBlock *tb,
         }
     }
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
+
     if (search_pc) {
         j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
         lj++;
index 1faeb5d7400844ea2956ac93e6b3dae2653b1c6d..f7ada9f8e37f4f150d3812af7bb6faa11fe31c7d 100644 (file)
@@ -19244,7 +19244,7 @@ gen_intermediate_code_internal(MIPSCPU *cpu, TranslationBlock *tb,
     }
 done_generating:
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
+
     if (search_pc) {
         j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
         lj++;
index 564f3eedaf2bd8af0ade91f4a252270d0abf9465..121ebf67834d523e24e04f9211943be78d7a02c4 100644 (file)
@@ -900,7 +900,7 @@ gen_intermediate_code_internal(MoxieCPU *cpu, TranslationBlock *tb,
     }
  done_generating:
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
+
     if (search_pc) {
         j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
         lj++;
index b90181dc70ebfc591efdca8b576071458212674c..91505127fe4b1aa403e3477dc3c7f54bba750095 100644 (file)
@@ -1759,7 +1759,7 @@ static inline void gen_intermediate_code_internal(OpenRISCCPU *cpu,
     }
 
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
+
     if (search_pc) {
         j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
         k++;
index 7c801f36e3d73c7b7c5f47ee3ff2127f8df142b6..955dfb35e21453f035631771c5f07d57abc2507a 100644 (file)
@@ -11598,7 +11598,7 @@ static inline void gen_intermediate_code_internal(PowerPCCPU *cpu,
         tcg_gen_exit_tb(0);
     }
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
+
     if (unlikely(search_pc)) {
         j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
         lj++;
index 8b36eca7182b50b5e4ff28e35d02163aabfb99fa..47414aaa2d551ca4cb7d6d445e5fbfb28898e921 100644 (file)
@@ -4938,7 +4938,7 @@ static inline void gen_intermediate_code_internal(S390CPU *cpu,
     }
 
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
+
     if (search_pc) {
         j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
         lj++;
index 7010740b21e222fa454e66d35178d73949fbc1bf..82ec6fd2d369153a29249f784ad2ada46cb590df 100644 (file)
@@ -1962,7 +1962,7 @@ gen_intermediate_code_internal(SuperHCPU *cpu, TranslationBlock *tb,
     }
 
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
+
     if (search_pc) {
         i = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
         ii++;
index 68527d595f8cd671d3574eb2d95ca68523c51a35..00015be117dc470427da47ca1c925578b7aba2df 100644 (file)
@@ -5320,7 +5320,7 @@ static inline void gen_intermediate_code_internal(SPARCCPU *cpu,
         }
     }
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
+
     if (spc) {
         j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
         lj++;
index a73b7000b4d0e6161355c1d3c0f98c15e6d70d62..4fb13dd7047ee1807f61a8a3827b34ff61953207 100644 (file)
@@ -5538,7 +5538,6 @@ gen_intermediate_code_internal(TriCoreCPU *cpu, struct TranslationBlock *tb,
     }
 
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
     if (search_pc) {
         printf("done_generating search pc\n");
     } else {
index ab7e96f93797d1962a51fa813dd7d22fe0229f57..2397a2564681a8d9ec2650de17603d61f520aab3 100644 (file)
@@ -2037,7 +2037,6 @@ static inline void gen_intermediate_code_internal(UniCore32CPU *cpu,
 
 done_generating:
     gen_tb_end(tb, num_insns);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
 
 #ifdef DEBUG_DISAS
     if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) {
index 9e137fe5ec99711651bd9ce2c49c5df6fce8e585..2024ba90be777b70a8ed7e128e9d09089be91b41 100644 (file)
@@ -3133,7 +3133,6 @@ void gen_intermediate_code_internal(XtensaCPU *cpu,
         gen_jumpi(&dc, dc.pc, 0);
     }
     gen_tb_end(tb, insn_count);
-    *tcg_ctx.gen_opc_ptr = INDEX_op_end;
 
 #ifdef DEBUG_DISAS
     if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) {