[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 03/17] tcg: Simplify how dump_opcount_info() prin
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v2 03/17] tcg: Simplify how dump_opcount_info() prints |
Date: |
Wed, 17 Apr 2019 21:17:51 +0200 |
dump_opcount_info() takes an fprintf()-like callback and a FILE * to
pass to it.
Its only caller hmp_info_opcount() passes monitor_fprintf() and the
current monitor cast to FILE *. monitor_fprintf() casts it right
back, and is otherwise identical to monitor_printf(). The
type-punning is ugly.
Drop the callback, and call qemu_printf() instead.
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
---
accel/tcg/translate-all.c | 4 ++--
include/exec/cpu-all.h | 2 +-
monitor.c | 2 +-
tcg/tcg.c | 9 +++++----
tcg/tcg.h | 2 +-
5 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c
index 8f593b926f..85e80a1fad 100644
--- a/accel/tcg/translate-all.c
+++ b/accel/tcg/translate-all.c
@@ -2333,9 +2333,9 @@ void dump_exec_info(FILE *f, fprintf_function cpu_fprintf)
tcg_dump_info(f, cpu_fprintf);
}
-void dump_opcount_info(FILE *f, fprintf_function cpu_fprintf)
+void dump_opcount_info(void)
{
- tcg_dump_op_count(f, cpu_fprintf);
+ tcg_dump_op_count();
}
#else /* CONFIG_USER_ONLY */
diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index b16c9ec513..40f5edf4dc 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -363,7 +363,7 @@ static inline bool tlb_hit(target_ulong tlb_addr,
target_ulong addr)
}
void dump_exec_info(FILE *f, fprintf_function cpu_fprintf);
-void dump_opcount_info(FILE *f, fprintf_function cpu_fprintf);
+void dump_opcount_info(void);
#endif /* !CONFIG_USER_ONLY */
int cpu_memory_rw_debug(CPUState *cpu, target_ulong addr,
diff --git a/monitor.c b/monitor.c
index a3e66b7159..30a7ffe32b 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1324,7 +1324,7 @@ static void hmp_info_jit(Monitor *mon, const QDict *qdict)
static void hmp_info_opcount(Monitor *mon, const QDict *qdict)
{
- dump_opcount_info((FILE *)mon, monitor_fprintf);
+ dump_opcount_info();
}
#endif
diff --git a/tcg/tcg.c b/tcg/tcg.c
index 9b2bf7f439..cc5f4e2a03 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -33,6 +33,7 @@
#include "qemu/error-report.h"
#include "qemu/cutils.h"
#include "qemu/host-utils.h"
+#include "qemu/qemu-print.h"
#include "qemu/timer.h"
/* Note: the long term plan is to reduce the dependencies on the QEMU
@@ -3768,14 +3769,14 @@ static void tcg_profile_snapshot_table(TCGProfile *prof)
tcg_profile_snapshot(prof, false, true);
}
-void tcg_dump_op_count(FILE *f, fprintf_function cpu_fprintf)
+void tcg_dump_op_count(void)
{
TCGProfile prof = {};
int i;
tcg_profile_snapshot_table(&prof);
for (i = 0; i < NB_OPS; i++) {
- cpu_fprintf(f, "%s %" PRId64 "\n", tcg_op_defs[i].name,
+ qemu_printf("%s %" PRId64 "\n", tcg_op_defs[i].name,
prof.table_op_count[i]);
}
}
@@ -3795,9 +3796,9 @@ int64_t tcg_cpu_exec_time(void)
return ret;
}
#else
-void tcg_dump_op_count(FILE *f, fprintf_function cpu_fprintf)
+void tcg_dump_op_count(void)
{
- cpu_fprintf(f, "[TCG profiler not compiled]\n");
+ qemu_printf("[TCG profiler not compiled]\n");
}
int64_t tcg_cpu_exec_time(void)
diff --git a/tcg/tcg.h b/tcg/tcg.h
index 32b7cf3489..9f2b03f119 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -1018,7 +1018,7 @@ int tcg_check_temp_count(void);
int64_t tcg_cpu_exec_time(void);
void tcg_dump_info(FILE *f, fprintf_function cpu_fprintf);
-void tcg_dump_op_count(FILE *f, fprintf_function cpu_fprintf);
+void tcg_dump_op_count(void);
#define TCG_CT_ALIAS 0x80
#define TCG_CT_IALIAS 0x40
--
2.17.2
- [Qemu-devel] [PATCH v2 00/17] Clean up and simplify around fprintf_function, Markus Armbruster, 2019/04/17
- [Qemu-devel] [PATCH v2 02/17] trace: Simplify how st_print_trace_file_status() prints, Markus Armbruster, 2019/04/17
- [Qemu-devel] [PATCH v2 03/17] tcg: Simplify how dump_opcount_info() prints,
Markus Armbruster <=
- [Qemu-devel] [PATCH v2 01/17] include: Include fprintf-fn.h only where needed, Markus Armbruster, 2019/04/17
- [Qemu-devel] [PATCH v2 04/17] tcg: Simplify how dump_exec_info() prints, Markus Armbruster, 2019/04/17
- [Qemu-devel] [PATCH v2 05/17] tcg: Simplify how dump_drift_info() prints, Markus Armbruster, 2019/04/17
- [Qemu-devel] [PATCH v2 06/17] qsp: Simplify how qsp_report() prints, Markus Armbruster, 2019/04/17
- [Qemu-devel] [PATCH v2 17/17] include: Move fprintf_function to disas/, Markus Armbruster, 2019/04/17
- [Qemu-devel] [PATCH v2 15/17] monitor: Clean up how monitor_disas() funnels output to monitor, Markus Armbruster, 2019/04/17
- [Qemu-devel] [PATCH v2 13/17] qemu-print: New qemu_fprintf(), qemu_vfprintf(), Markus Armbruster, 2019/04/17
- [Qemu-devel] [PATCH v2 16/17] disas: Rename include/disas/bfd.h back to include/disas/dis-asm.h, Markus Armbruster, 2019/04/17