summaryrefslogtreecommitdiff
path: root/tcg/tcg.h
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-23 09:52:20 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-23 09:52:20 +0000
commita23a9ec615e160c9ac008f27d554a79255ca27b0 (patch)
tree799c9119779ace6e17a5fbe3c3fec33b6b447315 /tcg/tcg.h
parent95af5ce5e21d789d3f3a8291585d5e67fc5e6bb5 (diff)
profiler clean up
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4537 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'tcg/tcg.h')
-rw-r--r--tcg/tcg.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/tcg/tcg.h b/tcg/tcg.h
index 1c9b5f1224..b29b54825f 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -236,6 +236,25 @@ struct TCGContext {
TCGHelperInfo *helpers;
int nb_helpers;
int allocated_helpers;
+
+#ifdef CONFIG_PROFILER
+ /* profiling info */
+ int64_t tb_count1;
+ int64_t tb_count;
+ int64_t op_count; /* total insn count */
+ int op_count_max; /* max insn per TB */
+ int64_t temp_count;
+ int temp_count_max;
+ int64_t old_op_count;
+ int64_t del_op_count;
+ int64_t code_in_len;
+ int64_t code_out_len;
+ int64_t interm_time;
+ int64_t code_time;
+ int64_t la_time;
+ int64_t restore_count;
+ int64_t restore_time;
+#endif
};
extern TCGContext tcg_ctx;
@@ -281,6 +300,8 @@ TCGv tcg_global_mem_new(TCGType type, int reg, tcg_target_long offset,
const char *name);
TCGv tcg_temp_new(TCGType type);
char *tcg_get_arg_str(TCGContext *s, char *buf, int buf_size, TCGv arg);
+void tcg_dump_info(FILE *f,
+ int (*cpu_fprintf)(FILE *f, const char *fmt, ...));
#define TCG_CT_ALIAS 0x80
#define TCG_CT_IALIAS 0x40