Commit 2cfc5f17d366b801484b36b548708fe0f3552737
1 parent
d1b5c20d
Small cleanup of gen_intermediate_code(_internal), by Laurent Desnogues.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4891 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
11 changed files
with
59 additions
and
72 deletions
exec-all.h
... | ... | @@ -60,8 +60,8 @@ typedef void (GenOpFunc3)(long, long, long); |
60 | 60 | extern FILE *logfile; |
61 | 61 | extern int loglevel; |
62 | 62 | |
63 | -int gen_intermediate_code(CPUState *env, struct TranslationBlock *tb); | |
64 | -int gen_intermediate_code_pc(CPUState *env, struct TranslationBlock *tb); | |
63 | +void gen_intermediate_code(CPUState *env, struct TranslationBlock *tb); | |
64 | +void gen_intermediate_code_pc(CPUState *env, struct TranslationBlock *tb); | |
65 | 65 | void gen_pc_load(CPUState *env, struct TranslationBlock *tb, |
66 | 66 | unsigned long searched_pc, int pc_pos, void *puc); |
67 | 67 | ... | ... |
target-alpha/translate.c
... | ... | @@ -1970,9 +1970,9 @@ static always_inline int translate_one (DisasContext *ctx, uint32_t insn) |
1970 | 1970 | return ret; |
1971 | 1971 | } |
1972 | 1972 | |
1973 | -static always_inline int gen_intermediate_code_internal (CPUState *env, | |
1974 | - TranslationBlock *tb, | |
1975 | - int search_pc) | |
1973 | +static always_inline void gen_intermediate_code_internal (CPUState *env, | |
1974 | + TranslationBlock *tb, | |
1975 | + int search_pc) | |
1976 | 1976 | { |
1977 | 1977 | #if defined ALPHA_DEBUG_DISAS |
1978 | 1978 | static int insn_count; |
... | ... | @@ -2086,18 +2086,16 @@ static always_inline int gen_intermediate_code_internal (CPUState *env, |
2086 | 2086 | fprintf(logfile, "\n"); |
2087 | 2087 | } |
2088 | 2088 | #endif |
2089 | - | |
2090 | - return 0; | |
2091 | 2089 | } |
2092 | 2090 | |
2093 | -int gen_intermediate_code (CPUState *env, struct TranslationBlock *tb) | |
2091 | +void gen_intermediate_code (CPUState *env, struct TranslationBlock *tb) | |
2094 | 2092 | { |
2095 | - return gen_intermediate_code_internal(env, tb, 0); | |
2093 | + gen_intermediate_code_internal(env, tb, 0); | |
2096 | 2094 | } |
2097 | 2095 | |
2098 | -int gen_intermediate_code_pc (CPUState *env, struct TranslationBlock *tb) | |
2096 | +void gen_intermediate_code_pc (CPUState *env, struct TranslationBlock *tb) | |
2099 | 2097 | { |
2100 | - return gen_intermediate_code_internal(env, tb, 1); | |
2098 | + gen_intermediate_code_internal(env, tb, 1); | |
2101 | 2099 | } |
2102 | 2100 | |
2103 | 2101 | CPUAlphaState * cpu_alpha_init (const char *cpu_model) | ... | ... |
target-arm/translate.c
... | ... | @@ -8544,9 +8544,9 @@ undef: |
8544 | 8544 | /* generate intermediate code in gen_opc_buf and gen_opparam_buf for |
8545 | 8545 | basic block 'tb'. If search_pc is TRUE, also generate PC |
8546 | 8546 | information for each intermediate instruction. */ |
8547 | -static inline int gen_intermediate_code_internal(CPUState *env, | |
8548 | - TranslationBlock *tb, | |
8549 | - int search_pc) | |
8547 | +static inline void gen_intermediate_code_internal(CPUState *env, | |
8548 | + TranslationBlock *tb, | |
8549 | + int search_pc) | |
8550 | 8550 | { |
8551 | 8551 | DisasContext dc1, *dc = &dc1; |
8552 | 8552 | uint16_t *gen_opc_end; |
... | ... | @@ -8787,17 +8787,16 @@ done_generating: |
8787 | 8787 | tb->size = dc->pc - pc_start; |
8788 | 8788 | tb->icount = num_insns; |
8789 | 8789 | } |
8790 | - return 0; | |
8791 | 8790 | } |
8792 | 8791 | |
8793 | -int gen_intermediate_code(CPUState *env, TranslationBlock *tb) | |
8792 | +void gen_intermediate_code(CPUState *env, TranslationBlock *tb) | |
8794 | 8793 | { |
8795 | - return gen_intermediate_code_internal(env, tb, 0); | |
8794 | + gen_intermediate_code_internal(env, tb, 0); | |
8796 | 8795 | } |
8797 | 8796 | |
8798 | -int gen_intermediate_code_pc(CPUState *env, TranslationBlock *tb) | |
8797 | +void gen_intermediate_code_pc(CPUState *env, TranslationBlock *tb) | |
8799 | 8798 | { |
8800 | - return gen_intermediate_code_internal(env, tb, 1); | |
8799 | + gen_intermediate_code_internal(env, tb, 1); | |
8801 | 8800 | } |
8802 | 8801 | |
8803 | 8802 | static const char *cpu_mode_names[16] = { | ... | ... |
target-cris/translate.c
... | ... | @@ -3022,7 +3022,7 @@ static void check_breakpoint(CPUState *env, DisasContext *dc) |
3022 | 3022 | */ |
3023 | 3023 | |
3024 | 3024 | /* generate intermediate code for basic block 'tb'. */ |
3025 | -static int | |
3025 | +static void | |
3026 | 3026 | gen_intermediate_code_internal(CPUState *env, TranslationBlock *tb, |
3027 | 3027 | int search_pc) |
3028 | 3028 | { |
... | ... | @@ -3233,17 +3233,16 @@ gen_intermediate_code_internal(CPUState *env, TranslationBlock *tb, |
3233 | 3233 | dc->pc - pc_start, gen_opc_ptr - gen_opc_buf); |
3234 | 3234 | } |
3235 | 3235 | #endif |
3236 | - return 0; | |
3237 | 3236 | } |
3238 | 3237 | |
3239 | -int gen_intermediate_code (CPUState *env, struct TranslationBlock *tb) | |
3238 | +void gen_intermediate_code (CPUState *env, struct TranslationBlock *tb) | |
3240 | 3239 | { |
3241 | - return gen_intermediate_code_internal(env, tb, 0); | |
3240 | + gen_intermediate_code_internal(env, tb, 0); | |
3242 | 3241 | } |
3243 | 3242 | |
3244 | -int gen_intermediate_code_pc (CPUState *env, struct TranslationBlock *tb) | |
3243 | +void gen_intermediate_code_pc (CPUState *env, struct TranslationBlock *tb) | |
3245 | 3244 | { |
3246 | - return gen_intermediate_code_internal(env, tb, 1); | |
3245 | + gen_intermediate_code_internal(env, tb, 1); | |
3247 | 3246 | } |
3248 | 3247 | |
3249 | 3248 | void cpu_dump_state (CPUState *env, FILE *f, | ... | ... |
target-i386/translate.c
... | ... | @@ -7148,9 +7148,9 @@ void optimize_flags_init(void) |
7148 | 7148 | /* generate intermediate code in gen_opc_buf and gen_opparam_buf for |
7149 | 7149 | basic block 'tb'. If search_pc is TRUE, also generate PC |
7150 | 7150 | information for each intermediate instruction. */ |
7151 | -static inline int gen_intermediate_code_internal(CPUState *env, | |
7152 | - TranslationBlock *tb, | |
7153 | - int search_pc) | |
7151 | +static inline void gen_intermediate_code_internal(CPUState *env, | |
7152 | + TranslationBlock *tb, | |
7153 | + int search_pc) | |
7154 | 7154 | { |
7155 | 7155 | DisasContext dc1, *dc = &dc1; |
7156 | 7156 | target_ulong pc_ptr; |
... | ... | @@ -7321,17 +7321,16 @@ static inline int gen_intermediate_code_internal(CPUState *env, |
7321 | 7321 | tb->size = pc_ptr - pc_start; |
7322 | 7322 | tb->icount = num_insns; |
7323 | 7323 | } |
7324 | - return 0; | |
7325 | 7324 | } |
7326 | 7325 | |
7327 | -int gen_intermediate_code(CPUState *env, TranslationBlock *tb) | |
7326 | +void gen_intermediate_code(CPUState *env, TranslationBlock *tb) | |
7328 | 7327 | { |
7329 | - return gen_intermediate_code_internal(env, tb, 0); | |
7328 | + gen_intermediate_code_internal(env, tb, 0); | |
7330 | 7329 | } |
7331 | 7330 | |
7332 | -int gen_intermediate_code_pc(CPUState *env, TranslationBlock *tb) | |
7331 | +void gen_intermediate_code_pc(CPUState *env, TranslationBlock *tb) | |
7333 | 7332 | { |
7334 | - return gen_intermediate_code_internal(env, tb, 1); | |
7333 | + gen_intermediate_code_internal(env, tb, 1); | |
7335 | 7334 | } |
7336 | 7335 | |
7337 | 7336 | void gen_pc_load(CPUState *env, TranslationBlock *tb, | ... | ... |
target-m68k/translate.c
... | ... | @@ -2911,7 +2911,7 @@ static void disas_m68k_insn(CPUState * env, DisasContext *s) |
2911 | 2911 | } |
2912 | 2912 | |
2913 | 2913 | /* generate intermediate code for basic block 'tb'. */ |
2914 | -static inline int | |
2914 | +static inline void | |
2915 | 2915 | gen_intermediate_code_internal(CPUState *env, TranslationBlock *tb, |
2916 | 2916 | int search_pc) |
2917 | 2917 | { |
... | ... | @@ -3039,17 +3039,16 @@ gen_intermediate_code_internal(CPUState *env, TranslationBlock *tb, |
3039 | 3039 | |
3040 | 3040 | //optimize_flags(); |
3041 | 3041 | //expand_target_qops(); |
3042 | - return 0; | |
3043 | 3042 | } |
3044 | 3043 | |
3045 | -int gen_intermediate_code(CPUState *env, TranslationBlock *tb) | |
3044 | +void gen_intermediate_code(CPUState *env, TranslationBlock *tb) | |
3046 | 3045 | { |
3047 | - return gen_intermediate_code_internal(env, tb, 0); | |
3046 | + gen_intermediate_code_internal(env, tb, 0); | |
3048 | 3047 | } |
3049 | 3048 | |
3050 | -int gen_intermediate_code_pc(CPUState *env, TranslationBlock *tb) | |
3049 | +void gen_intermediate_code_pc(CPUState *env, TranslationBlock *tb) | |
3051 | 3050 | { |
3052 | - return gen_intermediate_code_internal(env, tb, 1); | |
3051 | + gen_intermediate_code_internal(env, tb, 1); | |
3053 | 3052 | } |
3054 | 3053 | |
3055 | 3054 | void cpu_dump_state(CPUState *env, FILE *f, | ... | ... |
target-mips/translate.c
... | ... | @@ -8453,7 +8453,7 @@ static void decode_opc (CPUState *env, DisasContext *ctx) |
8453 | 8453 | } |
8454 | 8454 | } |
8455 | 8455 | |
8456 | -static inline int | |
8456 | +static inline void | |
8457 | 8457 | gen_intermediate_code_internal (CPUState *env, TranslationBlock *tb, |
8458 | 8458 | int search_pc) |
8459 | 8459 | { |
... | ... | @@ -8598,18 +8598,16 @@ done_generating: |
8598 | 8598 | fprintf(logfile, "---------------- %d %08x\n", ctx.bstate, ctx.hflags); |
8599 | 8599 | } |
8600 | 8600 | #endif |
8601 | - | |
8602 | - return 0; | |
8603 | 8601 | } |
8604 | 8602 | |
8605 | -int gen_intermediate_code (CPUState *env, struct TranslationBlock *tb) | |
8603 | +void gen_intermediate_code (CPUState *env, struct TranslationBlock *tb) | |
8606 | 8604 | { |
8607 | - return gen_intermediate_code_internal(env, tb, 0); | |
8605 | + gen_intermediate_code_internal(env, tb, 0); | |
8608 | 8606 | } |
8609 | 8607 | |
8610 | -int gen_intermediate_code_pc (CPUState *env, struct TranslationBlock *tb) | |
8608 | +void gen_intermediate_code_pc (CPUState *env, struct TranslationBlock *tb) | |
8611 | 8609 | { |
8612 | - return gen_intermediate_code_internal(env, tb, 1); | |
8610 | + gen_intermediate_code_internal(env, tb, 1); | |
8613 | 8611 | } |
8614 | 8612 | |
8615 | 8613 | void fpu_dump_state(CPUState *env, FILE *f, | ... | ... |
target-ppc/translate.c
... | ... | @@ -6171,9 +6171,9 @@ void cpu_dump_statistics (CPUState *env, FILE*f, |
6171 | 6171 | } |
6172 | 6172 | |
6173 | 6173 | /*****************************************************************************/ |
6174 | -static always_inline int gen_intermediate_code_internal (CPUState *env, | |
6175 | - TranslationBlock *tb, | |
6176 | - int search_pc) | |
6174 | +static always_inline void gen_intermediate_code_internal (CPUState *env, | |
6175 | + TranslationBlock *tb, | |
6176 | + int search_pc) | |
6177 | 6177 | { |
6178 | 6178 | DisasContext ctx, *ctxp = &ctx; |
6179 | 6179 | opc_handler_t **table, *handler; |
... | ... | @@ -6379,17 +6379,16 @@ static always_inline int gen_intermediate_code_internal (CPUState *env, |
6379 | 6379 | fprintf(logfile, "\n"); |
6380 | 6380 | } |
6381 | 6381 | #endif |
6382 | - return 0; | |
6383 | 6382 | } |
6384 | 6383 | |
6385 | -int gen_intermediate_code (CPUState *env, struct TranslationBlock *tb) | |
6384 | +void gen_intermediate_code (CPUState *env, struct TranslationBlock *tb) | |
6386 | 6385 | { |
6387 | - return gen_intermediate_code_internal(env, tb, 0); | |
6386 | + gen_intermediate_code_internal(env, tb, 0); | |
6388 | 6387 | } |
6389 | 6388 | |
6390 | -int gen_intermediate_code_pc (CPUState *env, struct TranslationBlock *tb) | |
6389 | +void gen_intermediate_code_pc (CPUState *env, struct TranslationBlock *tb) | |
6391 | 6390 | { |
6392 | - return gen_intermediate_code_internal(env, tb, 1); | |
6391 | + gen_intermediate_code_internal(env, tb, 1); | |
6393 | 6392 | } |
6394 | 6393 | |
6395 | 6394 | void gen_pc_load(CPUState *env, TranslationBlock *tb, | ... | ... |
target-sh4/translate.c
... | ... | @@ -1195,7 +1195,7 @@ void decode_opc(DisasContext * ctx) |
1195 | 1195 | } |
1196 | 1196 | } |
1197 | 1197 | |
1198 | -static inline int | |
1198 | +static inline void | |
1199 | 1199 | gen_intermediate_code_internal(CPUState * env, TranslationBlock * tb, |
1200 | 1200 | int search_pc) |
1201 | 1201 | { |
... | ... | @@ -1326,17 +1326,16 @@ gen_intermediate_code_internal(CPUState * env, TranslationBlock * tb, |
1326 | 1326 | fprintf(logfile, "\n"); |
1327 | 1327 | } |
1328 | 1328 | #endif |
1329 | - return 0; | |
1330 | 1329 | } |
1331 | 1330 | |
1332 | -int gen_intermediate_code(CPUState * env, struct TranslationBlock *tb) | |
1331 | +void gen_intermediate_code(CPUState * env, struct TranslationBlock *tb) | |
1333 | 1332 | { |
1334 | - return gen_intermediate_code_internal(env, tb, 0); | |
1333 | + gen_intermediate_code_internal(env, tb, 0); | |
1335 | 1334 | } |
1336 | 1335 | |
1337 | -int gen_intermediate_code_pc(CPUState * env, struct TranslationBlock *tb) | |
1336 | +void gen_intermediate_code_pc(CPUState * env, struct TranslationBlock *tb) | |
1338 | 1337 | { |
1339 | - return gen_intermediate_code_internal(env, tb, 1); | |
1338 | + gen_intermediate_code_internal(env, tb, 1); | |
1340 | 1339 | } |
1341 | 1340 | |
1342 | 1341 | void gen_pc_load(CPUState *env, TranslationBlock *tb, | ... | ... |
target-sparc/translate.c
... | ... | @@ -4724,8 +4724,8 @@ static void disas_sparc_insn(DisasContext * dc) |
4724 | 4724 | #endif |
4725 | 4725 | } |
4726 | 4726 | |
4727 | -static inline int gen_intermediate_code_internal(TranslationBlock * tb, | |
4728 | - int spc, CPUSPARCState *env) | |
4727 | +static inline void gen_intermediate_code_internal(TranslationBlock * tb, | |
4728 | + int spc, CPUSPARCState *env) | |
4729 | 4729 | { |
4730 | 4730 | target_ulong pc_start, last_pc; |
4731 | 4731 | uint16_t *gen_opc_end; |
... | ... | @@ -4869,17 +4869,16 @@ static inline int gen_intermediate_code_internal(TranslationBlock * tb, |
4869 | 4869 | fprintf(logfile, "\n"); |
4870 | 4870 | } |
4871 | 4871 | #endif |
4872 | - return 0; | |
4873 | 4872 | } |
4874 | 4873 | |
4875 | -int gen_intermediate_code(CPUSPARCState * env, TranslationBlock * tb) | |
4874 | +void gen_intermediate_code(CPUSPARCState * env, TranslationBlock * tb) | |
4876 | 4875 | { |
4877 | - return gen_intermediate_code_internal(tb, 0, env); | |
4876 | + gen_intermediate_code_internal(tb, 0, env); | |
4878 | 4877 | } |
4879 | 4878 | |
4880 | -int gen_intermediate_code_pc(CPUSPARCState * env, TranslationBlock * tb) | |
4879 | +void gen_intermediate_code_pc(CPUSPARCState * env, TranslationBlock * tb) | |
4881 | 4880 | { |
4882 | - return gen_intermediate_code_internal(tb, 1, env); | |
4881 | + gen_intermediate_code_internal(tb, 1, env); | |
4883 | 4882 | } |
4884 | 4883 | |
4885 | 4884 | void gen_intermediate_code_init(CPUSPARCState *env) | ... | ... |
translate-all.c
... | ... | @@ -94,9 +94,8 @@ int cpu_gen_code(CPUState *env, TranslationBlock *tb, int *gen_code_size_ptr) |
94 | 94 | #endif |
95 | 95 | tcg_func_start(s); |
96 | 96 | |
97 | - if (gen_intermediate_code(env, tb) < 0) | |
98 | - return -1; | |
99 | - | |
97 | + gen_intermediate_code(env, tb); | |
98 | + | |
100 | 99 | /* generate machine code */ |
101 | 100 | gen_code_buf = tb->tc_ptr; |
102 | 101 | tb->tb_next_offset[0] = 0xffff; |
... | ... | @@ -156,8 +155,7 @@ int cpu_restore_state(TranslationBlock *tb, |
156 | 155 | #endif |
157 | 156 | tcg_func_start(s); |
158 | 157 | |
159 | - if (gen_intermediate_code_pc(env, tb) < 0) | |
160 | - return -1; | |
158 | + gen_intermediate_code_pc(env, tb); | |
161 | 159 | |
162 | 160 | if (use_icount) { |
163 | 161 | /* Reset the cycle counter to the start of the block. */ | ... | ... |