Commit 54604f74ae618aca3715cf0d8cb2ede923c0d6c0
1 parent
5c16736a
Some cleanups after dyngen removal
1. hostregs_helper.h: fix comment 2. translate-all.c: rename dyngen_code(_search_pc) to tcg_gen_code(_search_pc) 3. tcg.c: - rename dyngen_table_op_count to tcg_table_op_count - no need to generate a log of dyngen ops generated - rename dyngen_code(_search_pc) to tcg_gen_code(_search_pc) 4. tcg.h: rename dyngen_code(_search_pc) to tcg_gen_code(_search_pc) Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5936 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
4 changed files
with
13 additions
and
18 deletions
hostregs_helper.h
... | ... | @@ -18,9 +18,9 @@ |
18 | 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 | 19 | */ |
20 | 20 | |
21 | -/* The GCC global register vairable extension is used to reserve some | |
22 | - host registers for use by dyngen. However only the core parts of the | |
23 | - translation engine are compiled with these settings. We must manually | |
21 | +/* The GCC global register variable extension is used to reserve some | |
22 | + host registers for use by generated code. However only the core parts of | |
23 | + the translation engine are compiled with these settings. We must manually | |
24 | 24 | save/restore these registers when called from regular code. |
25 | 25 | It is not sufficient to save/restore T0 et. al. as these may be declared |
26 | 26 | with a datatype smaller than the actual register. */ | ... | ... |
tcg/tcg.c
... | ... | @@ -1890,20 +1890,15 @@ static int tcg_reg_alloc_call(TCGContext *s, const TCGOpDef *def, |
1890 | 1890 | |
1891 | 1891 | #ifdef CONFIG_PROFILER |
1892 | 1892 | |
1893 | -static int64_t dyngen_table_op_count[NB_OPS]; | |
1893 | +static int64_t tcg_table_op_count[NB_OPS]; | |
1894 | 1894 | |
1895 | 1895 | void dump_op_count(void) |
1896 | 1896 | { |
1897 | 1897 | int i; |
1898 | 1898 | FILE *f; |
1899 | - f = fopen("/tmp/op1.log", "w"); | |
1900 | - for(i = 0; i < INDEX_op_end; i++) { | |
1901 | - fprintf(f, "%s %" PRId64 "\n", tcg_op_defs[i].name, dyngen_table_op_count[i]); | |
1902 | - } | |
1903 | - fclose(f); | |
1904 | - f = fopen("/tmp/op2.log", "w"); | |
1899 | + f = fopen("/tmp/op.log", "w"); | |
1905 | 1900 | for(i = INDEX_op_end; i < NB_OPS; i++) { |
1906 | - fprintf(f, "%s %" PRId64 "\n", tcg_op_defs[i].name, dyngen_table_op_count[i]); | |
1901 | + fprintf(f, "%s %" PRId64 "\n", tcg_op_defs[i].name, tcg_table_op_count[i]); | |
1907 | 1902 | } |
1908 | 1903 | fclose(f); |
1909 | 1904 | } |
... | ... | @@ -1953,7 +1948,7 @@ static inline int tcg_gen_code_common(TCGContext *s, uint8_t *gen_code_buf, |
1953 | 1948 | for(;;) { |
1954 | 1949 | opc = gen_opc_buf[op_index]; |
1955 | 1950 | #ifdef CONFIG_PROFILER |
1956 | - dyngen_table_op_count[opc]++; | |
1951 | + tcg_table_op_count[opc]++; | |
1957 | 1952 | #endif |
1958 | 1953 | def = &tcg_op_defs[opc]; |
1959 | 1954 | #if 0 |
... | ... | @@ -2030,7 +2025,7 @@ static inline int tcg_gen_code_common(TCGContext *s, uint8_t *gen_code_buf, |
2030 | 2025 | return -1; |
2031 | 2026 | } |
2032 | 2027 | |
2033 | -int dyngen_code(TCGContext *s, uint8_t *gen_code_buf) | |
2028 | +int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf) | |
2034 | 2029 | { |
2035 | 2030 | #ifdef CONFIG_PROFILER |
2036 | 2031 | { |
... | ... | @@ -2058,7 +2053,7 @@ int dyngen_code(TCGContext *s, uint8_t *gen_code_buf) |
2058 | 2053 | offset bytes from the start of the TB. The contents of gen_code_buf must |
2059 | 2054 | not be changed, though writing the same values is ok. |
2060 | 2055 | Return -1 if not found. */ |
2061 | -int dyngen_code_search_pc(TCGContext *s, uint8_t *gen_code_buf, long offset) | |
2056 | +int tcg_gen_code_search_pc(TCGContext *s, uint8_t *gen_code_buf, long offset) | |
2062 | 2057 | { |
2063 | 2058 | return tcg_gen_code_common(s, gen_code_buf, offset); |
2064 | 2059 | } | ... | ... |
tcg/tcg.h
... | ... | @@ -314,8 +314,8 @@ static inline void *tcg_malloc(int size) |
314 | 314 | void tcg_context_init(TCGContext *s); |
315 | 315 | void tcg_func_start(TCGContext *s); |
316 | 316 | |
317 | -int dyngen_code(TCGContext *s, uint8_t *gen_code_buf); | |
318 | -int dyngen_code_search_pc(TCGContext *s, uint8_t *gen_code_buf, long offset); | |
317 | +int tcg_gen_code(TCGContext *s, uint8_t *gen_code_buf); | |
318 | +int tcg_gen_code_search_pc(TCGContext *s, uint8_t *gen_code_buf, long offset); | |
319 | 319 | |
320 | 320 | void tcg_set_frame(TCGContext *s, int reg, |
321 | 321 | tcg_target_long start, tcg_target_long size); | ... | ... |
translate-all.c
... | ... | @@ -118,7 +118,7 @@ int cpu_gen_code(CPUState *env, TranslationBlock *tb, int *gen_code_size_ptr) |
118 | 118 | s->interm_time += profile_getclock() - ti; |
119 | 119 | s->code_time -= profile_getclock(); |
120 | 120 | #endif |
121 | - gen_code_size = dyngen_code(s, gen_code_buf); | |
121 | + gen_code_size = tcg_gen_code(s, gen_code_buf); | |
122 | 122 | *gen_code_size_ptr = gen_code_size; |
123 | 123 | #ifdef CONFIG_PROFILER |
124 | 124 | s->code_time += profile_getclock(); |
... | ... | @@ -177,7 +177,7 @@ int cpu_restore_state(TranslationBlock *tb, |
177 | 177 | s->tb_jmp_offset = NULL; |
178 | 178 | s->tb_next = tb->tb_next; |
179 | 179 | #endif |
180 | - j = dyngen_code_search_pc(s, (uint8_t *)tc_ptr, searched_pc - tc_ptr); | |
180 | + j = tcg_gen_code_search_pc(s, (uint8_t *)tc_ptr, searched_pc - tc_ptr); | |
181 | 181 | if (j < 0) |
182 | 182 | return -1; |
183 | 183 | /* now find start of instruction before */ | ... | ... |