Tracing: Add accessors so tracers can get at data in trace records.
authorGabe Black <gblack@eecs.umich.edu>
Mon, 20 Jul 2009 06:54:31 +0000 (23:54 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Mon, 20 Jul 2009 06:54:31 +0000 (23:54 -0700)
src/sim/insttracer.hh

index bcab455192129889abdb593657a849d8eef33106..a8cdff671f36c61373533bd98dcedeb3d02136f9 100644 (file)
@@ -129,6 +129,28 @@ class InstRecord
     { cp_seq = seq; cp_seq_valid = true; }
 
     virtual void dump() = 0;
+    
+  public:
+    Tick getWhen() { return when; }
+    ThreadContext *getThread() { return thread; }
+    StaticInstPtr getStaticInst() { return staticInst; }
+    Addr getPC() { return PC; }
+    StaticInstPtr getMacroStaticInst() { return macroStaticInst; }
+    MicroPC getUPC() { return upc; } 
+    bool getMisspeculating() { return misspeculating; }
+
+    Addr getAddr() { return addr; }
+    bool getAddrValid() { return addr_valid; }
+
+    uint64_t getIntData() { return data.as_int; }
+    double getFloatData() { return data.as_double; }
+    int getDataStatus() { return data_status; }
+
+    InstSeqNum getFetchSeq() { return fetch_seq; }
+    bool getFetchSeqValid() { return fetch_seq_valid; }
+
+    InstSeqNum getCpSeq() { return cp_seq; }
+    bool getCpSeqValid() { return cp_seq_valid; }
 };
 
 class InstTracer : public SimObject