diff options
author | David 'Digit' Turner <digit@android.com> | 2011-05-09 13:57:15 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@android.com> | 2011-06-01 17:08:18 +0200 |
commit | 8ee4e5ed2bf68384cd80ec5b958da4da164652ae (patch) | |
tree | 0a2d7d552bac0dca6c4f60973f1aded925b23701 /trace.h | |
parent | 65d1521938243d4778db1e3a19cd6dcbc00f540e (diff) | |
download | external_qemu-8ee4e5ed2bf68384cd80ec5b958da4da164652ae.zip external_qemu-8ee4e5ed2bf68384cd80ec5b958da4da164652ae.tar.gz external_qemu-8ee4e5ed2bf68384cd80ec5b958da4da164652ae.tar.bz2 |
trace: simplify code and avoid conflicts
Change-Id: I8f93e06038bd6e35a2972e3fef351046c247e4ee
Diffstat (limited to 'trace.h')
-rw-r--r-- | trace.h | 97 |
1 files changed, 1 insertions, 96 deletions
@@ -22,104 +22,9 @@ extern uint64_t Now(); struct TranslationBlock; -// For tracing dynamic execution of basic blocks -typedef struct TraceBB { - char *filename; - FILE *fstream; - BBRec buffer[kMaxNumBasicBlocks]; - BBRec *next; // points to next record in buffer - uint64_t flush_time; // time of last buffer flush - char compressed[kCompressedSize]; - char *compressed_ptr; - char *high_water_ptr; - int64_t prev_bb_num; - uint64_t prev_bb_time; - uint64_t current_bb_num; - uint64_t current_bb_start_time; - uint64_t recnum; // counts number of trace records - uint32_t current_bb_addr; - int num_insns; -} TraceBB; - -// For tracing simuation start times of instructions -typedef struct TraceInsn { - char *filename; - FILE *fstream; - InsnRec dummy; // this is here so we can use buffer[-1] - InsnRec buffer[kInsnBufferSize]; - InsnRec *current; - uint64_t prev_time; // time of last instruction start - char compressed[kCompressedSize]; - char *compressed_ptr; - char *high_water_ptr; -} TraceInsn; - -// For tracing the static information about a basic block -typedef struct TraceStatic { - char *filename; - FILE *fstream; - uint32_t insns[kMaxInsnPerBB]; - int next_insn; - uint64_t bb_num; - uint32_t bb_addr; - int is_thumb; -} TraceStatic; - -// For tracing load and store addresses -typedef struct TraceAddr { - char *filename; - FILE *fstream; - AddrRec buffer[kMaxNumAddrs]; - AddrRec *next; - char compressed[kCompressedSize]; - char *compressed_ptr; - char *high_water_ptr; - uint32_t prev_addr; - uint64_t prev_time; -} TraceAddr; - -// For tracing exceptions -typedef struct TraceExc { - char *filename; - FILE *fstream; - char compressed[kCompressedSize]; - char *compressed_ptr; - char *high_water_ptr; - uint64_t prev_time; - uint64_t prev_bb_recnum; -} TraceExc; - -// For tracing process id changes -typedef struct TracePid { - char *filename; - FILE *fstream; - char compressed[kCompressedSize]; - char *compressed_ptr; - uint64_t prev_time; -} TracePid; - -// For tracing Dalvik VM method enter and exit -typedef struct TraceMethod { - char *filename; - FILE *fstream; - char compressed[kCompressedSize]; - char *compressed_ptr; - uint64_t prev_time; - uint32_t prev_addr; - int32_t prev_pid; -} TraceMethod; - -extern TraceBB trace_bb; -extern TraceInsn trace_insn; -extern TraceStatic trace_static; -extern TraceAddr trace_load; -extern TraceAddr trace_store; -extern TraceExc trace_exc; -extern TracePid trace_pid; -extern TraceMethod trace_method; - // The simulated time, in clock ticks, starting with one. extern uint64_t sim_time; +extern uint64_t trace_static_bb_num(void);; // This variable == 1 if we are currently tracing, otherwise == 0. extern int tracing; |