diff options
Diffstat (limited to 'src/mem/ruby/recorder')
-rw-r--r-- | src/mem/ruby/recorder/TraceRecord.cc | 5 | ||||
-rw-r--r-- | src/mem/ruby/recorder/Tracer.cc | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/mem/ruby/recorder/TraceRecord.cc b/src/mem/ruby/recorder/TraceRecord.cc index 1521d2a3f..8f426d690 100644 --- a/src/mem/ruby/recorder/TraceRecord.cc +++ b/src/mem/ruby/recorder/TraceRecord.cc @@ -47,7 +47,10 @@ TraceRecord::TraceRecord(const string & sequencer_name, const Address& data_addr // Don't differentiate between store misses and atomic requests in // the trace - if (m_type == RubyRequestType_RMW) { + if (m_type == RubyRequestType_Locked_Read) { + m_type = RubyRequestType_ST; + } + else if (m_type == RubyRequestType_Locked_Write) { m_type = RubyRequestType_ST; } } diff --git a/src/mem/ruby/recorder/Tracer.cc b/src/mem/ruby/recorder/Tracer.cc index d2df544d8..5b1e4274b 100644 --- a/src/mem/ruby/recorder/Tracer.cc +++ b/src/mem/ruby/recorder/Tracer.cc @@ -92,10 +92,11 @@ void Tracer::startTrace(string filename) void Tracer::stopTrace() { - assert(m_enabled == true); - m_trace_file.close(); - cout << "Request trace file closed." << endl; - m_enabled = false; + if (m_enabled == true) { + m_trace_file.close(); + cout << "Request trace file closed." << endl; + m_enabled = false; + } } void Tracer::traceRequest(const string & sequencer_name, const Address& data_addr, const Address& pc_addr, RubyRequestType type, Time time) |